Unify Assembler and Compiler menus

This commit is contained in:
Peter Dell 2023-02-26 23:18:01 +01:00
parent dbc10d9020
commit 4a5bb29da4
11 changed files with 143 additions and 166 deletions

View File

@ -14,8 +14,8 @@ Require-Bundle: org.eclipse.core.runtime;visibility:=reexport,
org.eclipse.ui.ide,
org.eclipse.ui.workbench.texteditor,
org.eclipse.ui.views,
org.eclipse.e4.ui.di;bundle-version="1.0.0",
org.eclipse.e4.ui.model.workbench;bundle-version="1.0.1",
org.eclipse.e4.ui.di,
org.eclipse.e4.ui.model.workbench,
org.eclipse.help,
com.wudsn.ide.base;visibility:=reexport,
com.wudsn.ide.dsk,

View File

@ -8,34 +8,24 @@ com.wudsn.ide.lng.Target.MOS6502_DTV=6502 DTV
com.wudsn.ide.lng.Target.MOS65816=65816
com.wudsn.ide.lng.Target.PASCAL=Pascal
com.wudsn.ide.lng.compiler.CompilerSourceFile.name=Source Code File
com.wudsn.ide.lng.compiler.LanguageSourceFile.name=Source Code File
com.wudsn.ide.lng.editor.LanguageEditorAssemblerMenu.label=Assembler
com.wudsn.ide.lng.editor.LanguageEditorAssemblerMenu.mnemonic=s
com.wudsn.ide.lng.editor.LanguageEditorCompilerMenu.label=Compiler
com.wudsn.ide.lng.editor.LanguageEditorCompilerMenu.mnemonic=C
com.wudsn.ide.lng.editor.LanguageEditorCompilerMenu.label=Language
com.wudsn.ide.lng.editor.LanguageEditorCompilerMenu.mnemonic=L
com.wudsn.ide.lng.editor.LanguageEditorAssemblerToolbar.label=Assembler
com.wudsn.ide.lng.editor.LanguageEditorCompilerToolbar.label=Compiler
com.wudsn.ide.lng.editor.LanguageEditorCompilerToolbar.label=Language
com.wudsn.ide.lng.editor.LanguageEditorCommands.name=Source Code Editor Commands
com.wudsn.ide.lng.editor.LanguageEditorOpenSourceFolderCommand.name=Open Source Folder
com.wudsn.ide.lng.editor.LanguageEditorOpenSourceFolderCommand.mnemonic=S
com.wudsn.ide.lng.editor.LanguageEditorOpenOutputFolderCommand.name=Open Output Folder
com.wudsn.ide.lng.editor.LanguageEditorOpenOutputFolderCommand.mnemonic=O
com.wudsn.ide.lng.editor.LanguageEditorAssembleCommand.name=Assemble
com.wudsn.ide.lng.editor.LanguageEditorAssembleCommand.mnemonic=A
com.wudsn.ide.lng.editor.LanguageEditorAssembleAndRunCommand.name=Assemble and Run
com.wudsn.ide.lng.editor.LanguageEditorAssembleAndRunCommand.mnemonic=R
com.wudsn.ide.lng.editor.LanguageEditorAssembleAndRunWithCommand.name=Assemble and Run with...
com.wudsn.ide.lng.editor.LanguageEditorAssemblerHelpCommand.name=Assembler Help
com.wudsn.ide.lng.editor.LanguageEditorAssemblerHelpCommand.mnemonic=H
com.wudsn.ide.lng.editor.LanguageEditorCompileCommand.name=Compile
com.wudsn.ide.lng.editor.LanguageEditorCompileCommand.mnemonic=C
com.wudsn.ide.lng.editor.LanguageEditorCompileAndRunCommand.name=Compile and Run
com.wudsn.ide.lng.editor.LanguageEditorCompileCommand.name=Build
com.wudsn.ide.lng.editor.LanguageEditorCompileCommand.mnemonic=B
com.wudsn.ide.lng.editor.LanguageEditorCompileAndRunCommand.name=Build and Run
com.wudsn.ide.lng.editor.LanguageEditorCompileAndRunCommand.mnemonic=R
com.wudsn.ide.lng.editor.LanguageEditorCompileAndRunWithCommand.name=Compile and Run with...
com.wudsn.ide.lng.editor.LanguageEditorCompilerHelpCommand.name=Compiler Help
com.wudsn.ide.lng.editor.LanguageEditorCompileAndRunWithCommand.name=Build and Run with...
com.wudsn.ide.lng.editor.LanguageEditorCompilerHelpCommand.name=Language Help
com.wudsn.ide.lng.editor.LanguageEditorCompilerHelpCommand.mnemonic=H
com.wudsn.ide.lng.editor.LanguageEditorContentAssistProposal_label=Content Assist
com.wudsn.ide.lng.editor.LanguageEditorToggleCommentCommand.name=Toggle Comment

View File

@ -8,34 +8,24 @@ com.wudsn.ide.lng.Target.MOS6502_DTV=6502 DTV
com.wudsn.ide.lng.Target.MOS65816=65816
com.wudsn.ide.lng.Target.PASCAL=Pascal
com.wudsn.ide.lng.compiler.CompilerSourceFile.name=Quelltext-Datei
com.wudsn.ide.lng.compiler.LanguageSourceFile.name=Quelltext-Datei
com.wudsn.ide.lng.editor.LanguageEditorAssemblerMenu.label=Assembler
com.wudsn.ide.lng.editor.LanguageEditorAssemblerMenu.mnemonic=s
com.wudsn.ide.lng.editor.LanguageEditorCompilerMenu.label=Kompiler
com.wudsn.ide.lng.editor.LanguageEditorCompilerMenu.mnemonic=K
com.wudsn.ide.lng.editor.LanguageEditorCompilerMenu.label=Sprache
com.wudsn.ide.lng.editor.LanguageEditorCompilerMenu.mnemonic=S
com.wudsn.ide.lng.editor.LanguageEditorAssemblerToolbar.label=Assembler
com.wudsn.ide.lng.editor.LanguageEditorCompilerToolbar.label=Kompiler
com.wudsn.ide.lng.editor.LanguageEditorCompilerToolbar.label=Sprache
com.wudsn.ide.lng.editor.LanguageEditorCommands.name=Quelltext Editor Befehle
com.wudsn.ide.lng.editor.LanguageEditorOpenSourceFolderCommand.name=Quell-Ordner öffnen
com.wudsn.ide.lng.editor.LanguageEditorOpenSourceFolderCommand.mnemonic=Q
com.wudsn.ide.lng.editor.LanguageEditorOpenOutputFolderCommand.name=Ausgabe-Ordner öffnen
com.wudsn.ide.lng.editor.LanguageEditorOpenOutputFolderCommand.mnemonic=A
com.wudsn.ide.lng.editor.LanguageEditorAssembleCommand.name=Assemblieren
com.wudsn.ide.lng.editor.LanguageEditorAssembleCommand.mnemonic=A
com.wudsn.ide.lng.editor.LanguageEditorAssembleAndRunCommand.name=Assemblieren und Ausführen
com.wudsn.ide.lng.editor.LanguageEditorAssembleAndRunCommand.mnemonic=f
com.wudsn.ide.lng.editor.LanguageEditorAssembleAndRunWithCommand.name=Assemblieren und Ausführen mit...
com.wudsn.ide.lng.editor.LanguageEditorAssemblerHelpCommand.name=Assembler Hilfe
com.wudsn.ide.lng.editor.LanguageEditorAssemblerHelpCommand.mnemonic=H
com.wudsn.ide.lng.editor.LanguageEditorCompileCommand.name=Kompilieren
com.wudsn.ide.lng.editor.LanguageEditorCompileCommand.mnemonic=K
com.wudsn.ide.lng.editor.LanguageEditorCompileAndRunCommand.name=Kompilieren und Ausführen
com.wudsn.ide.lng.editor.LanguageEditorCompileAndRunWithCommand.name=Kompilieren und Ausführen mit ...
com.wudsn.ide.lng.editor.LanguageEditorCompileAndRunCommand.mnemonic=A
com.wudsn.ide.lng.editor.LanguageEditorCompilerHelpCommand.name=Kompiler Hilfe
com.wudsn.ide.lng.editor.LanguageEditorCompileCommand.name=Bauen
com.wudsn.ide.lng.editor.LanguageEditorCompileCommand.mnemonic=Bauen
com.wudsn.ide.lng.editor.LanguageEditorCompileAndRunCommand.name=Bauen und Ausführen
com.wudsn.ide.lng.editor.LanguageEditorCompileAndRunCommand.mnemonic=f
com.wudsn.ide.lng.editor.LanguageEditorCompileAndRunWithCommand.name=Bauen und Ausführen mit ...
com.wudsn.ide.lng.editor.LanguageEditorCompilerHelpCommand.name=Hilfe zur Sprache
com.wudsn.ide.lng.editor.LanguageEditorCompilerHelpCommand.mnemonic=H
com.wudsn.ide.lng.editor.LanguageEditorContentAssistProposal_label=Vorschlagsassistent
com.wudsn.ide.lng.editor.LanguageEditorToggleCommentCommand.name=Kommentar umschalten

View File

@ -8,34 +8,24 @@ com.wudsn.ide.lng.Target.MOS6502_DTV=6502 DTV
com.wudsn.ide.lng.Target.MOS65816=65816
com.wudsn.ide.lng.Target.PASCAL=Pascal
com.wudsn.ide.lng.compiler.CompilerSourceFile.name=Plik z kodem \u017Aród\u0142owym
com.wudsn.ide.lng.compiler.LanguageSourceFile.name=Plik z kodem \u017Aród\u0142owym
com.wudsn.ide.lng.editor.LanguageEditorAssemblerMenu.label=Asembler
com.wudsn.ide.lng.editor.LanguageEditorAssemblerMenu.mnemonic=s
com.wudsn.ide.lng.editor.LanguageEditorCompilerMenu.label=Kompilator
com.wudsn.ide.lng.editor.LanguageEditorCompilerMenu.mnemonic=K
com.wudsn.ide.lng.editor.LanguageEditorCompilerMenu.label=Jezyk
com.wudsn.ide.lng.editor.LanguageEditorCompilerMenu.mnemonic=J
com.wudsn.ide.lng.editor.LanguageEditorAssemblerToolbar.label=Asembler
com.wudsn.ide.lng.editor.LanguageEditorCompilerToolbar.label=Kompilator
com.wudsn.ide.lng.editor.LanguageEditorCompilerToolbar.label=Jezyk
com.wudsn.ide.lng.editor.LanguageEditorCommands.name=Polecenia edytora kodu \u017Aród\u0142owego
com.wudsn.ide.lng.editor.LanguageEditorOpenSourceFolderCommand.name=Otwórz folder \u017Aród\u0142owy
com.wudsn.ide.lng.editor.LanguageEditorOpenSourceFolderCommand.mnemonic=f
com.wudsn.ide.lng.editor.LanguageEditorOpenOutputFolderCommand.name=Otwórz folder wyj\u015Bciowy
com.wudsn.ide.lng.editor.LanguageEditorOpenOutputFolderCommand.mnemonic=o
com.wudsn.ide.lng.editor.LanguageEditorAssembleCommand.name=Z\u0142ó\u017C
com.wudsn.ide.lng.editor.LanguageEditorAssembleCommand.mnemonic=Z
com.wudsn.ide.lng.editor.LanguageEditorAssembleAndRunCommand.name=Z\u0142ó\u017C i uruchomi\u0107
com.wudsn.ide.lng.editor.LanguageEditorAssembleAndRunCommand.mnemonic=u
com.wudsn.ide.lng.editor.LanguageEditorAssembleAndRunWithCommand.name=Z\u0142ó\u017C i uruchomi\u0107 z...
com.wudsn.ide.lng.editor.LanguageEditorAssemblerHelpCommand.name=Pomoc asemblera
com.wudsn.ide.lng.editor.LanguageEditorAssemblerHelpCommand.mnemonic=P
com.wudsn.ide.lng.editor.LanguageEditorCompileCommand.name=Skompiluj
com.wudsn.ide.lng.editor.LanguageEditorCompileCommand.mnemonic=S
com.wudsn.ide.lng.editor.LanguageEditorCompileAndRunCommand.name=Skompiluj i uruchom
com.wudsn.ide.lng.editor.LanguageEditorCompileCommand.name=Zbudowac
com.wudsn.ide.lng.editor.LanguageEditorCompileCommand.mnemonic=Z
com.wudsn.ide.lng.editor.LanguageEditorCompileAndRunCommand.name=Zbudowac i uruchom
com.wudsn.ide.lng.editor.LanguageEditorCompileAndRunCommand.mnemonic=u
com.wudsn.ide.lng.editor.LanguageEditorCompileAndRunWithCommand.name=Skompiluj i uruchom z...
com.wudsn.ide.lng.editor.LanguageEditorCompilerHelpCommand.name=Pomoc kompilatora
com.wudsn.ide.lng.editor.LanguageEditorCompileAndRunWithCommand.name=Zbudowac i uruchom z...
com.wudsn.ide.lng.editor.LanguageEditorCompilerHelpCommand.name=Pomoc jezyk
com.wudsn.ide.lng.editor.LanguageEditorCompilerHelpCommand.mnemonic=P
com.wudsn.ide.lng.editor.LanguageEditorContentAssistProposal_label=Content Assist
com.wudsn.ide.lng.editor.LanguageEditorToggleCommentCommand.name=Prze\u0142\u0105cz komentarz

View File

@ -107,10 +107,10 @@
target="_blank" rel="noopener noreferrer">Atari++ emulator</a></li>
<li>Adding support for new compilers and application is possible via Eclipse extension points <br /> <img
src="productions/java/ide/features/ide-compiler-extensions.png" alt="IDE compiler extensions" /></li>
<li>Compile or compile and run with a single keystroke or via the menu</li>
<li>Toolbar button for "Compile and Run" which adapts to the hardware of the currently opened editor, for example,
<li>Build or build and run with a single keystroke or via the menu</li>
<li>Toolbar button for "Build and Run" which adapts to the hardware of the currently opened editor, for example,
it will show a C64 icon when using the "ACME (C64)" editor</li>
<li>The toolbar button for "Compile and Run" offers a pulldown menu that allows running the output file with any of
<li>The toolbar button for "Build and Run" offers a pulldown menu that allows running the output file with any of
the applications configured in the preferences. This way you can run the output file easily with different
emulators without changing the preferences. That can be very helpful if one emulator shows different behavior
than another or in case you have specified a build script as a user-defined application in the preferences
@ -607,7 +607,7 @@
<li>Inline repeats like ":64" in MADS are no longer detected as labels</li>
<li>Hex Editor now correctly detects erroneous COM files in case the segment length exceeds the file length
(by one)</li>
<li>Disk images (for Apple II) are now updated also if only "Compile" instead of "Compile and Run" is used
<li>Disk images (for Apple II) are now updated also if only "Build" instead of "Build and Run" is used
</li>
<li>Apple Commander integration is now part of the installation, as it should have been with 1.6.3</li>
<li>The HELLO program generated for the auto-start disk images of Apple II now displays a title and uses

View File

@ -214,7 +214,7 @@ In case something is not correct or not working, please contact me.</p>
      sta $d40a <br />       sta $d01a ;Change background color <br />       jmp loop <br /> <br />
      run start ;Define run address</div>
</li>
<li>Select the entry "Compile and run" from the menu "Assembler" or press "SHIFT-CTRL-0".</li>
<li>Select the entry "Build and run" from the menu "Language" or press "SHIFT-CTRL-9".</li>
<li>Enjoy your famous first rainbow effect.</li>
<li>In case of problems, open the view "Problems" and the output of the view "Console" for details and post a
message with the screenshots in the <a

View File

@ -37,7 +37,7 @@
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_SHOW_CODEDETAILS_IN_EXCEPTION_MESSAGES" value="true"/>
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="true"/>
<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"/>
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl en_US -consoleLog"/>
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl en_US -consoleLog -clean"/>
<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xmx256m -Dcom.wudsn.ide.common.base.Profiler=true"/>
<stringAttribute key="org.eclipse.tptp.platform.jvmti.client.ATTR_FILTERSET_ID" value="auto_generated_filter_set"/>

View File

@ -4,6 +4,16 @@
<extension-point id="compilers" name="Compilers" schema="schema/compilers.exsd"/>
<extension-point id="runners" name="Runners" schema="schema/runners.exsd"/>
<extension
point="org.eclipse.core.expressions.propertyTesters">
<propertyTester
class="com.wudsn.ide.lng.editor.LanguageEditorPropertyTester"
id="com.wudsn.ide.lng.editor.LanguageEditorPropertyTester"
namespace="com.wudsn.ide.lng"
properties="IsLanguageEditor"
type="org.eclipse.ui.IEditorPart">
</propertyTester>
</extension>
<extension
point="org.eclipse.core.runtime.preferences">
@ -62,26 +72,6 @@
id="com.wudsn.ide.lng.editor.LanguageEditorOpenOutputFolderCommand"
name="%com.wudsn.ide.lng.editor.LanguageEditorOpenOutputFolderCommand.name">
</command>
<command
categoryId="com.wudsn.ide.lng.editor.LanguageEditorCommands"
id="com.wudsn.ide.lng.editor.LanguageEditorAssembleCommand"
name="%com.wudsn.ide.lng.editor.LanguageEditorAssembleCommand.name">
</command>
<command
categoryId="com.wudsn.ide.lng.editor.LanguageEditorCommands"
id="com.wudsn.ide.lng.editor.LanguageEditorAssembleAndRunCommand"
name="%com.wudsn.ide.lng.editor.LanguageEditorAssembleAndRunCommand.name">
</command>
<command
categoryId="com.wudsn.ide.lng.editor.LanguageEditorCommands"
id="com.wudsn.ide.lng.editor.LanguageEditorAssembleAndRunWithCommand"
name="%com.wudsn.ide.lng.editor.LanguageEditorAssembleAndRunWithCommand.name">
</command>
<command
categoryId="com.wudsn.ide.lng.editor.LanguageEditorCommands"
id="com.wudsn.ide.lng.editor.LanguageEditorAssemblerHelpCommand"
name="%com.wudsn.ide.lng.editor.LanguageEditorAssemblerHelpCommand.name">
</command>
<command
categoryId="com.wudsn.ide.lng.editor.LanguageEditorCommands"
id="com.wudsn.ide.lng.editor.LanguageEditorCompileCommand"
@ -144,9 +134,10 @@
<activeWhen>
<with
variable="activeEditor">
<instanceof
value="com.wudsn.ide.lng.editor.LanguageEditor">
</instanceof>
<test
property="com.wudsn.ide.lng.IsLanguageEditor"
value="true">
</test>
</with>
</activeWhen>
</handler>
@ -156,9 +147,10 @@
<activeWhen>
<with
variable="activeEditor">
<instanceof
value="com.wudsn.ide.lng.editor.LanguageEditor">
</instanceof>
<test
property="com.wudsn.ide.lng.IsLanguageEditor"
value="true">
</test>
</with>
</activeWhen>
</handler>
@ -168,9 +160,10 @@
<activeWhen>
<with
variable="activeEditor">
<instanceof
value="com.wudsn.ide.lng.editor.LanguageEditor">
</instanceof>
<test
property="com.wudsn.ide.lng.IsLanguageEditor"
value="true">
</test>
</with>
</activeWhen>
</handler>
@ -180,9 +173,10 @@
<activeWhen>
<with
variable="activeEditor">
<instanceof
value="com.wudsn.ide.lng.editor.LanguageEditor">
</instanceof>
<test
property="com.wudsn.ide.lng.IsLanguageEditor"
value="true">
</test>
</with>
</activeWhen>
</handler>
@ -192,9 +186,10 @@
<activeWhen>
<with
variable="activeEditor">
<instanceof
value="com.wudsn.ide.lng.editor.LanguageEditor">
</instanceof>
<test
property="com.wudsn.ide.lng.IsLanguageEditor"
value="true">
</test>
</with>
</activeWhen>
</handler>
@ -204,9 +199,10 @@
<activeWhen>
<with
variable="activeEditor">
<instanceof
value="com.wudsn.ide.lng.editor.LanguageEditor">
</instanceof>
<test
property="com.wudsn.ide.lng.IsLanguageEditor"
value="true">
</test>
</with>
</activeWhen>
</handler>
@ -216,9 +212,10 @@
<activeWhen>
<with
variable="activeEditor">
<instanceof
value="com.wudsn.ide.lng.editor.LanguageEditor">
</instanceof>
<test
property="com.wudsn.ide.lng.IsLanguageEditor"
value="true">
</test>
</with>
</activeWhen>
</handler>
@ -228,9 +225,10 @@
<activeWhen>
<with
variable="activeEditor">
<instanceof
value="com.wudsn.ide.lng.editor.LanguageEditor">
</instanceof>
<test
property="com.wudsn.ide.lng.IsLanguageEditor"
value="true">
</test>
</with>
</activeWhen>
</handler>
@ -284,50 +282,6 @@
point="org.eclipse.ui.menus">
<menuContribution
locationURI="menu:org.eclipse.ui.main.menu?after=additions">
<menu
id="com.wudsn.ide.lng.editor.LanguageEditorAssemblerMenu"
label="%com.wudsn.ide.lng.editor.LanguageEditorAssemblerMenu.label"
mnemonic="%com.wudsn.ide.lng.editor.LanguageEditorAssemblerMenu.mnemonic">
<visibleWhen
checkEnabled="false">
<with
variable="activeEditor">
<instanceof
value="com.wudsn.ide.lng.editor.LanguageEditor">
</instanceof>
</with>
</visibleWhen>
<command
commandId="com.wudsn.ide.lng.editor.LanguageEditorOpenSourceFolderCommand"
mnemonic="%com.wudsn.ide.lng.editor.LanguageEditorOpenSourceFolderCommand.mnemonic">
</command>
<command
commandId="com.wudsn.ide.lng.editor.LanguageEditorOpenOutputFolderCommand"
mnemonic="%com.wudsn.ide.lng.editor.LanguageEditorOpenOutputFolderCommand.mnemonic">
</command>
<separator
name="com.wudsn.ide.lng.editor.LanguageEditorAssemblerMenuSeparator1"
visible="true">
</separator>
<command
commandId="com.wudsn.ide.lng.editor.LanguageEditorAssembleCommand"
id="com.wudsn.ide.lng.editor.LanguageEditorAssembleCommand"
mnemonic="%com.wudsn.ide.lng.editor.LanguageEditorAssembleCommand.mnemonic">
</command>
<command
commandId="com.wudsn.ide.lng.editor.LanguageEditorAssembleAndRunCommand"
id="com.wudsn.ide.lng.editor.LanguageEditorAssembleAndRunCommand"
mnemonic="%com.wudsn.ide.lng.editor.LanguageEditorAssembleAndRunCommand.mnemonic">
</command>
<separator
name="com.wudsn.ide.lng.editor.LanguageEditorAssemblerMenuSeparator2"
visible="true">
</separator>
<command
commandId="com.wudsn.ide.lng.editor.LanguageEditorAssemblerHelpCommand"
mnemonic="%com.wudsn.ide.lng.editor.LanguageEditorAssemblerHelpCommand.mnemonic">
</command>
</menu>
<menu
id="com.wudsn.ide.lng.editor.LanguageEditorCompilerMenu"
label="%com.wudsn.ide.lng.editor.LanguageEditorCompilerMenu.label"
@ -336,9 +290,10 @@
checkEnabled="false">
<with
variable="activeEditor">
<instanceof
value="com.wudsn.ide.lng.editor.LanguageEditor">
</instanceof>
<test
property="com.wudsn.ide.lng.IsLanguageEditor"
value="true">
</test>
</with>
</visibleWhen>
<command

View File

@ -34,7 +34,7 @@ public final class LanguageUtility {
*/
private LanguageUtility() {
}
/**
* Gets the text for a language.
*
@ -45,14 +45,13 @@ public final class LanguageUtility {
return EnumUtility.getText(language);
}
/**
* Gets the text for type of compilers for a language.
*
* @param language The language, not <code>null</code>.
* @return The text in sentence case, not empty and not <code>null</code>.
*/
public static String getCompilerText(Language language) {
public static String getCompilerText(Language language) {
switch (language) {
case ASM:
return Texts.LANGUAGE_ASSEMBLER_TEXT;
@ -64,14 +63,14 @@ public final class LanguageUtility {
throw new IllegalArgumentException("Unknown language '" + language + "'.");
}
public static String getCompilerPreferencesText(Language language) {
switch (language) {
case ASM:
return Texts.LANGUAGES_TITLE_CASE+"/"+Texts.LANGUAGE_ASSEMBLER_TEXT_TITLE_CASE;
return Texts.LANGUAGES_TITLE_CASE + "/" + Texts.LANGUAGE_ASSEMBLER_TEXT_TITLE_CASE;
case PAS:
return Texts.LANGUAGES_TITLE_CASE+"/"+Texts.LANGUAGE_COMPILER_TEXT_TITLE_CASE;
return Texts.LANGUAGES_TITLE_CASE + "/" + Texts.LANGUAGE_COMPILER_TEXT_TITLE_CASE;
}
throw new IllegalArgumentException("Unknown language '" + language + "'.");

View File

@ -55,9 +55,8 @@ import com.wudsn.ide.base.common.Profiler;
import com.wudsn.ide.base.common.ResourceBundleUtility;
import com.wudsn.ide.base.hardware.Hardware;
import com.wudsn.ide.lng.Language;
import com.wudsn.ide.lng.LanguagePlugin;
import com.wudsn.ide.lng.LanguageAnnotationValues;
import com.wudsn.ide.lng.LanguageAnnotationValues.InvalidLanguageAnnotationException;
import com.wudsn.ide.lng.LanguagePlugin;
import com.wudsn.ide.lng.Target;
import com.wudsn.ide.lng.compiler.Compiler;
import com.wudsn.ide.lng.compiler.CompilerDefinition;
@ -257,7 +256,6 @@ public abstract class LanguageEditor extends TextEditor {
}
}
}
}
@Override

View File

@ -0,0 +1,55 @@
/**
* Copyright (C) 2009 - 2021 <a href="https://www.wudsn.com" target="_top">Peter Dell</a>
*
* This file is part of WUDSN IDE.
*
* WUDSN IDE is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* WUDSN IDE is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with WUDSN IDE. If not, see <http://www.gnu.org/licenses/>.
*/
package com.wudsn.ide.lng.editor;
import org.eclipse.core.expressions.PropertyTester;
import org.eclipse.core.resources.IFile;
import org.eclipse.ui.editors.text.TextEditor;
import com.wudsn.ide.lng.Language;
public class LanguageEditorPropertyTester extends PropertyTester {
public LanguageEditorPropertyTester() {
}
@Override
public boolean test(Object receiver, String property, Object[] args, Object expectedValue) {
if (property.equals("IsLanguageEditor")) {
if (receiver instanceof LanguageEditor) {
return true;
}
if (receiver instanceof TextEditor) {
var editor = (TextEditor) receiver;
var input = editor.getEditorInput();
var file = input.getAdapter(IFile.class);
if (file != null && file.getName().toLowerCase().endsWith(".pas")) {
return true;
}
}
}
return false;
}
}