This commit is contained in:
Peter Dell 2023-01-05 02:12:16 +01:00
parent b9481e8aea
commit e102c2b22d
3 changed files with 30 additions and 41 deletions

View File

@ -64,7 +64,7 @@ final class HTMLWriter {
if (stack.isEmpty()) {
throw new RuntimeException("No open tag: " + builder);
}
String tag = stack.remove(stack.size() - 1);
var tag = stack.remove(stack.size() - 1);
builder.append("</");
builder.append(tag);
builder.append(">\n");
@ -191,7 +191,7 @@ final class HTMLWriter {
if (text == null) {
throw new IllegalArgumentException("Parameter 'text' must not be null.");
}
String target ="";
var target ="";
if (href.toLowerCase().startsWith("https://")) {
target=" target=\"_blank\"";
}
@ -202,7 +202,7 @@ final class HTMLWriter {
if (list == null) {
throw new IllegalArgumentException("Parameter 'list' must not be null.");
}
StringBuilder builder = new StringBuilder();
var builder = new StringBuilder();
int size = list.size();
for (int i = 0; i < size; i++) {
builder.append(list.get(i));

View File

@ -40,13 +40,11 @@ import org.eclipse.help.IUAElement;
import com.wudsn.ide.base.common.EnumUtility;
import com.wudsn.ide.base.common.TextUtility;
import com.wudsn.ide.base.hardware.Hardware;
import com.wudsn.ide.lng.Language;
import com.wudsn.ide.lng.LanguagePlugin;
import com.wudsn.ide.lng.LanguageUtility;
import com.wudsn.ide.lng.Target;
import com.wudsn.ide.lng.Texts;
import com.wudsn.ide.lng.compiler.CompilerDefinition;
import com.wudsn.ide.lng.compiler.CompilerRegistry;
/**
* Dynamic help content provider. Uses static pages and the meta data from the
@ -160,9 +158,8 @@ public final class LanguageTocProvider extends AbstractTocProvider {
String label;
String key = href;
try {
Class<LanguageTocProvider> clazz = LanguageTocProvider.class;
ResourceBundle resourceBundle;
resourceBundle = ResourceBundle.getBundle(clazz.getName().replace('.', '/'), Locale.getDefault(),
var clazz = LanguageTocProvider.class;
var resourceBundle = ResourceBundle.getBundle(clazz.getName().replace('.', '/'), Locale.getDefault(),
clazz.getClassLoader());
label = resourceBundle.getString(key);
} catch (MissingResourceException ex) {
@ -176,7 +173,7 @@ public final class LanguageTocProvider extends AbstractTocProvider {
// https://bugs.eclipse.org/bugs/show_bug.cgi?id=382599
@SuppressWarnings("restriction")
private static ITopic createTopic(String icon, String label, String href, ITopic[] subtopics) {
org.eclipse.help.internal.Topic result = new org.eclipse.help.internal.Topic();
var result = new org.eclipse.help.internal.Topic();
result.setAttribute(org.eclipse.help.internal.Topic.ATTRIBUTE_ICON, icon);
result.setLabel(label);
result.setHref(href);
@ -191,8 +188,7 @@ public final class LanguageTocProvider extends AbstractTocProvider {
if (topics == null) {
throw new IllegalArgumentException("Parameter 'topics' must not be null.");
}
ITopic[] topicsArray;
topicsArray = new ITopic[topics.size()];
var topicsArray = new ITopic[topics.size()];
topics.toArray(topicsArray);
return topicsArray;
}
@ -200,31 +196,31 @@ public final class LanguageTocProvider extends AbstractTocProvider {
static ITopic[] createTopics() {
List<ITopic> topics = new ArrayList<ITopic>();
LanguagePlugin languagePlugin = LanguagePlugin.getInstance();
var languagePlugin = LanguagePlugin.getInstance();
List<ITopic> ideTopics = createIDETopics();
var ideTopics = createIDETopics();
topics.add(createTopic("", Texts.TOC_IDE_TOPIC_LABEL, "", createTopicsArray(ideTopics)));
List<ITopic> languagesTopics = createLanguagesTopics(languagePlugin);
var languagesTopics = createLanguagesTopics(languagePlugin);
topics.add(createTopic("", Texts.TOC_LANGUAGES_TOPIC_LABEL, "", createTopicsArray(languagesTopics)));
List<ITopic> hardwareTopics = createHardwareTopics();
var hardwareTopics = createHardwareTopics();
topics.add(createTopic("", Texts.TOC_HARDWARES_TOPIC_LABEL, "", createTopicsArray(hardwareTopics)));
List<ITopic> cpuTopics = createTargetTopics();
var cpuTopics = createTargetTopics();
topics.add(createTopic("", Texts.TOC_TARGETS_TOPIC_LABEL, "", createTopicsArray(cpuTopics)));
return createTopicsArray(topics);
}
private static List<ITopic> createLanguagesTopics(LanguagePlugin languagePlugin) {
CompilerRegistry compilerRegistry = languagePlugin.getCompilerRegistry();
var compilerRegistry = languagePlugin.getCompilerRegistry();
List<ITopic> topics = new ArrayList<ITopic>();
for (Language language : languagePlugin.getLanguages()) {
for (var language : languagePlugin.getLanguages()) {
List<CompilerDefinition> compilerDefinitions = compilerRegistry.getCompilerDefinitions(language);
var compilerDefinitions = compilerRegistry.getCompilerDefinitions(language);
List<ITopic> compilerTopics = createCompilersTopics(compilerDefinitions);
var compilerTopics = createCompilersTopics(compilerDefinitions);
topics.add(createTopic("",
TextUtility.format(Texts.TOC_COMPILERS_TOPIC_LABEL, LanguageUtility.getText(language)), "",
createTopicsArray(compilerTopics)));
@ -279,7 +275,7 @@ public final class LanguageTocProvider extends AbstractTocProvider {
// Appending the help file path with the correct file
// extension allows in-place display for example for ".html"
// files.
String extension = file.getPath();
var extension = file.getPath();
int index = extension.lastIndexOf('.');
if (index > 0) {
extension = extension.substring(index);
@ -294,9 +290,9 @@ public final class LanguageTocProvider extends AbstractTocProvider {
LanguageHelpContentProducer.SECTION_MANUAL, extension);
if (file.isDirectory()) {
File[] files = file.listFiles();
var files = file.listFiles();
if (files != null) {
for (File file2 : files) {
for (var file2 : files) {
String encodedPath;
try {
encodedPath = URLEncoder.encode(file2.getName(), "UTF-8");
@ -336,7 +332,7 @@ public final class LanguageTocProvider extends AbstractTocProvider {
private static List<ITopic> createHardwareTopics() {
// Build hardware topics
List<ITopic> hardwareTopics = new ArrayList<ITopic>(Hardware.values().length - 1);
for (Hardware hardware : Hardware.values()) {
for (var hardware : Hardware.values()) {
if (hardware.equals(Hardware.GENERIC)) {
continue;
}
@ -367,7 +363,7 @@ public final class LanguageTocProvider extends AbstractTocProvider {
// Nothing available.
}
String href = LanguageHelpContentProducer.SCHEMA_HARDWARE + hardware.name().toLowerCase()
var href = LanguageHelpContentProducer.SCHEMA_HARDWARE + hardware.name().toLowerCase()
+ LanguageHelpContentProducer.EXTENSION;
hardwareTopics.add(createTopic("", EnumUtility.getText(hardware), href, createTopicsArray(chipTopics)));
}
@ -376,8 +372,8 @@ public final class LanguageTocProvider extends AbstractTocProvider {
private static List<ITopic> createTargetTopics() {
List<ITopic> cpuTopics = new ArrayList<ITopic>(Target.values().length - 1);
for (Target target : Target.values()) {
String href = LanguageHelpContentProducer.SCHEMA_TARGET + target.name().toLowerCase()
for (var target : Target.values()) {
var href = LanguageHelpContentProducer.SCHEMA_TARGET + target.name().toLowerCase()
+ LanguageHelpContentProducer.EXTENSION;
cpuTopics.add(createTopic("", EnumUtility.getText(target), href, null));
}

View File

@ -19,7 +19,6 @@
package com.wudsn.ide.lng.preferences;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@ -45,7 +44,6 @@ import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.TabFolder;
import org.eclipse.swt.widgets.TabItem;
import org.eclipse.swt.widgets.Text;
import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.IWorkbenchPreferencePage;
@ -58,15 +56,11 @@ import com.wudsn.ide.base.hardware.Hardware;
import com.wudsn.ide.lng.Language;
import com.wudsn.ide.lng.LanguagePlugin;
import com.wudsn.ide.lng.LanguageUtility;
import com.wudsn.ide.lng.Target;
import com.wudsn.ide.lng.Texts;
import com.wudsn.ide.lng.compiler.CompilerDefinition;
import com.wudsn.ide.lng.compiler.CompilerOutputFolderMode;
import com.wudsn.ide.lng.compiler.CompilerRegistry;
import com.wudsn.ide.lng.editor.LanguageEditor;
import com.wudsn.ide.lng.runner.RunnerDefinition;
import com.wudsn.ide.lng.runner.RunnerId;
import com.wudsn.ide.lng.runner.RunnerRegistry;
/**
* Visual editor page for the language preferences regarding compilers. There is
@ -161,8 +155,7 @@ public abstract class LanguagePreferencesCompilersPage extends FieldEditorPrefer
}
public void setOutputFolderMode(String newValue) {
boolean enabled;
enabled = CompilerOutputFolderMode.FIXED_FOLDER.equals(newValue);
var enabled = CompilerOutputFolderMode.FIXED_FOLDER.equals(newValue);
outputFolderPathFieldEditor.setEnabled(enabled, outputFolderPathFieldEditorParent);
}
@ -223,7 +216,7 @@ public abstract class LanguagePreferencesCompilersPage extends FieldEditorPrefer
if (workbench == null) {
throw new IllegalArgumentException("Parameter 'workbench' must not be null.");
}
IEditorPart editor = workbench.getActiveWorkbenchWindow().getActivePage().getActiveEditor();
var editor = workbench.getActiveWorkbenchWindow().getActivePage().getActiveEditor();
if (editor instanceof LanguageEditor) {
LanguageEditor languageEditor;
languageEditor = (LanguageEditor) editor;
@ -258,7 +251,7 @@ public abstract class LanguagePreferencesCompilersPage extends FieldEditorPrefer
var compilerDefinitions = compilerRegistry.getCompilerDefinitions(language);
tabFolder = new TabFolder(parent, SWT.FLAT);
for (CompilerDefinition compilerDefinition : compilerDefinitions) {
for (var compilerDefinition : compilerDefinitions) {
createTabItem(tabFolder, compilerDefinition);
}
@ -266,7 +259,7 @@ public abstract class LanguagePreferencesCompilersPage extends FieldEditorPrefer
// Default to tab item for active compiler or to first.
TabItem selectedTabItem = null;
if (activeCompilerId != null) {
Tab selectedTab = tabs.get(activeCompilerId);
var selectedTab = tabs.get(activeCompilerId);
if (selectedTab != null) {
selectedTabItem = selectedTab.tabItem;
}
@ -328,7 +321,7 @@ public abstract class LanguagePreferencesCompilersPage extends FieldEditorPrefer
var targets = compilerDefinition.getSupportedTargets();
String[][] entryNamesAndValues = new String[targets.size()][];
int i = 0;
for (Target target : targets) {
for (var target : targets) {
entryNamesAndValues[i] = new String[2];
entryNamesAndValues[i][1] = target.name();
entryNamesAndValues[i][0] = EnumUtility.getText(target);
@ -361,7 +354,7 @@ public abstract class LanguagePreferencesCompilersPage extends FieldEditorPrefer
var parametersFieldEditor = new StringFieldEditor(name, Texts.PREFERENCES_COMPILER_PARAMETERS_LABEL,
tabContent);
String compilerParametersHelp = Texts.PREFERENCES_COMPILER_PARAMETERS_HELP + "\n"
var compilerParametersHelp = Texts.PREFERENCES_COMPILER_PARAMETERS_HELP + "\n"
+ Texts.PREFERENCES_COMPILER_PARAMETERS_VARIABLES;
controlDecorations.add(createHelpDecoration(parametersFieldEditor, tabContent, compilerParametersHelp));
@ -376,7 +369,7 @@ public abstract class LanguagePreferencesCompilersPage extends FieldEditorPrefer
// Field: outputFolderMode
composite = SWTFactory.createComposite(tabContent, 2, 2, GridData.FILL_HORIZONTAL);
RadioGroupFieldEditorWithAction outputFolderModeChoiceEditor = new RadioGroupFieldEditorWithAction(
var outputFolderModeChoiceEditor = new RadioGroupFieldEditorWithAction(
LanguagePreferencesConstants.getCompilerOutputFolderModeName(compilerId, hardware),
Texts.PREFERENCES_COMPILER_OUTPUT_FOLDER_MODE_LABEL, 3, labelsAndValues, composite);
addField(outputFolderModeChoiceEditor);