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.ide,
org.eclipse.ui.workbench.texteditor, org.eclipse.ui.workbench.texteditor,
org.eclipse.ui.views, org.eclipse.ui.views,
org.eclipse.e4.ui.di;bundle-version="1.0.0", org.eclipse.e4.ui.di,
org.eclipse.e4.ui.model.workbench;bundle-version="1.0.1", org.eclipse.e4.ui.model.workbench,
org.eclipse.help, org.eclipse.help,
com.wudsn.ide.base;visibility:=reexport, com.wudsn.ide.base;visibility:=reexport,
com.wudsn.ide.dsk, 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.MOS65816=65816
com.wudsn.ide.lng.Target.PASCAL=Pascal 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.LanguageEditorCompilerMenu.label=Language
com.wudsn.ide.lng.editor.LanguageEditorAssemblerMenu.mnemonic=s com.wudsn.ide.lng.editor.LanguageEditorCompilerMenu.mnemonic=L
com.wudsn.ide.lng.editor.LanguageEditorCompilerMenu.label=Compiler
com.wudsn.ide.lng.editor.LanguageEditorCompilerMenu.mnemonic=C
com.wudsn.ide.lng.editor.LanguageEditorAssemblerToolbar.label=Assembler com.wudsn.ide.lng.editor.LanguageEditorCompilerToolbar.label=Language
com.wudsn.ide.lng.editor.LanguageEditorCompilerToolbar.label=Compiler
com.wudsn.ide.lng.editor.LanguageEditorCommands.name=Source Code Editor Commands 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.name=Open Source Folder
com.wudsn.ide.lng.editor.LanguageEditorOpenSourceFolderCommand.mnemonic=S com.wudsn.ide.lng.editor.LanguageEditorOpenSourceFolderCommand.mnemonic=S
com.wudsn.ide.lng.editor.LanguageEditorOpenOutputFolderCommand.name=Open Output Folder com.wudsn.ide.lng.editor.LanguageEditorOpenOutputFolderCommand.name=Open Output Folder
com.wudsn.ide.lng.editor.LanguageEditorOpenOutputFolderCommand.mnemonic=O com.wudsn.ide.lng.editor.LanguageEditorOpenOutputFolderCommand.mnemonic=O
com.wudsn.ide.lng.editor.LanguageEditorAssembleCommand.name=Assemble com.wudsn.ide.lng.editor.LanguageEditorCompileCommand.name=Build
com.wudsn.ide.lng.editor.LanguageEditorAssembleCommand.mnemonic=A com.wudsn.ide.lng.editor.LanguageEditorCompileCommand.mnemonic=B
com.wudsn.ide.lng.editor.LanguageEditorAssembleAndRunCommand.name=Assemble and Run com.wudsn.ide.lng.editor.LanguageEditorCompileAndRunCommand.name=Build 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.LanguageEditorCompileAndRunCommand.mnemonic=R com.wudsn.ide.lng.editor.LanguageEditorCompileAndRunCommand.mnemonic=R
com.wudsn.ide.lng.editor.LanguageEditorCompileAndRunWithCommand.name=Compile and Run with... com.wudsn.ide.lng.editor.LanguageEditorCompileAndRunWithCommand.name=Build and Run with...
com.wudsn.ide.lng.editor.LanguageEditorCompilerHelpCommand.name=Compiler Help com.wudsn.ide.lng.editor.LanguageEditorCompilerHelpCommand.name=Language Help
com.wudsn.ide.lng.editor.LanguageEditorCompilerHelpCommand.mnemonic=H com.wudsn.ide.lng.editor.LanguageEditorCompilerHelpCommand.mnemonic=H
com.wudsn.ide.lng.editor.LanguageEditorContentAssistProposal_label=Content Assist com.wudsn.ide.lng.editor.LanguageEditorContentAssistProposal_label=Content Assist
com.wudsn.ide.lng.editor.LanguageEditorToggleCommentCommand.name=Toggle Comment 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.MOS65816=65816
com.wudsn.ide.lng.Target.PASCAL=Pascal 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.LanguageEditorCompilerMenu.label=Sprache
com.wudsn.ide.lng.editor.LanguageEditorAssemblerMenu.mnemonic=s com.wudsn.ide.lng.editor.LanguageEditorCompilerMenu.mnemonic=S
com.wudsn.ide.lng.editor.LanguageEditorCompilerMenu.label=Kompiler
com.wudsn.ide.lng.editor.LanguageEditorCompilerMenu.mnemonic=K
com.wudsn.ide.lng.editor.LanguageEditorAssemblerToolbar.label=Assembler com.wudsn.ide.lng.editor.LanguageEditorCompilerToolbar.label=Sprache
com.wudsn.ide.lng.editor.LanguageEditorCompilerToolbar.label=Kompiler
com.wudsn.ide.lng.editor.LanguageEditorCommands.name=Quelltext Editor Befehle 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.name=Quell-Ordner öffnen
com.wudsn.ide.lng.editor.LanguageEditorOpenSourceFolderCommand.mnemonic=Q com.wudsn.ide.lng.editor.LanguageEditorOpenSourceFolderCommand.mnemonic=Q
com.wudsn.ide.lng.editor.LanguageEditorOpenOutputFolderCommand.name=Ausgabe-Ordner öffnen com.wudsn.ide.lng.editor.LanguageEditorOpenOutputFolderCommand.name=Ausgabe-Ordner öffnen
com.wudsn.ide.lng.editor.LanguageEditorOpenOutputFolderCommand.mnemonic=A com.wudsn.ide.lng.editor.LanguageEditorOpenOutputFolderCommand.mnemonic=A
com.wudsn.ide.lng.editor.LanguageEditorAssembleCommand.name=Assemblieren com.wudsn.ide.lng.editor.LanguageEditorCompileCommand.name=Bauen
com.wudsn.ide.lng.editor.LanguageEditorAssembleCommand.mnemonic=A com.wudsn.ide.lng.editor.LanguageEditorCompileCommand.mnemonic=Bauen
com.wudsn.ide.lng.editor.LanguageEditorAssembleAndRunCommand.name=Assemblieren und Ausführen com.wudsn.ide.lng.editor.LanguageEditorCompileAndRunCommand.name=Bauen und Ausführen
com.wudsn.ide.lng.editor.LanguageEditorAssembleAndRunCommand.mnemonic=f com.wudsn.ide.lng.editor.LanguageEditorCompileAndRunCommand.mnemonic=f
com.wudsn.ide.lng.editor.LanguageEditorAssembleAndRunWithCommand.name=Assemblieren und Ausführen mit... com.wudsn.ide.lng.editor.LanguageEditorCompileAndRunWithCommand.name=Bauen und Ausführen mit ...
com.wudsn.ide.lng.editor.LanguageEditorAssemblerHelpCommand.name=Assembler Hilfe com.wudsn.ide.lng.editor.LanguageEditorCompilerHelpCommand.name=Hilfe zur Sprache
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.LanguageEditorCompilerHelpCommand.mnemonic=H com.wudsn.ide.lng.editor.LanguageEditorCompilerHelpCommand.mnemonic=H
com.wudsn.ide.lng.editor.LanguageEditorContentAssistProposal_label=Vorschlagsassistent com.wudsn.ide.lng.editor.LanguageEditorContentAssistProposal_label=Vorschlagsassistent
com.wudsn.ide.lng.editor.LanguageEditorToggleCommentCommand.name=Kommentar umschalten 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.MOS65816=65816
com.wudsn.ide.lng.Target.PASCAL=Pascal 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.LanguageEditorCompilerMenu.label=Jezyk
com.wudsn.ide.lng.editor.LanguageEditorAssemblerMenu.mnemonic=s com.wudsn.ide.lng.editor.LanguageEditorCompilerMenu.mnemonic=J
com.wudsn.ide.lng.editor.LanguageEditorCompilerMenu.label=Kompilator
com.wudsn.ide.lng.editor.LanguageEditorCompilerMenu.mnemonic=K
com.wudsn.ide.lng.editor.LanguageEditorAssemblerToolbar.label=Asembler com.wudsn.ide.lng.editor.LanguageEditorCompilerToolbar.label=Jezyk
com.wudsn.ide.lng.editor.LanguageEditorCompilerToolbar.label=Kompilator
com.wudsn.ide.lng.editor.LanguageEditorCommands.name=Polecenia edytora kodu \u017Aród\u0142owego 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.name=Otwórz folder \u017Aród\u0142owy
com.wudsn.ide.lng.editor.LanguageEditorOpenSourceFolderCommand.mnemonic=f 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.name=Otwórz folder wyj\u015Bciowy
com.wudsn.ide.lng.editor.LanguageEditorOpenOutputFolderCommand.mnemonic=o com.wudsn.ide.lng.editor.LanguageEditorOpenOutputFolderCommand.mnemonic=o
com.wudsn.ide.lng.editor.LanguageEditorAssembleCommand.name=Z\u0142ó\u017C com.wudsn.ide.lng.editor.LanguageEditorCompileCommand.name=Zbudowac
com.wudsn.ide.lng.editor.LanguageEditorAssembleCommand.mnemonic=Z com.wudsn.ide.lng.editor.LanguageEditorCompileCommand.mnemonic=Z
com.wudsn.ide.lng.editor.LanguageEditorAssembleAndRunCommand.name=Z\u0142ó\u017C i uruchomi\u0107 com.wudsn.ide.lng.editor.LanguageEditorCompileAndRunCommand.name=Zbudowac i uruchom
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.LanguageEditorCompileAndRunCommand.mnemonic=u com.wudsn.ide.lng.editor.LanguageEditorCompileAndRunCommand.mnemonic=u
com.wudsn.ide.lng.editor.LanguageEditorCompileAndRunWithCommand.name=Skompiluj i uruchom z... com.wudsn.ide.lng.editor.LanguageEditorCompileAndRunWithCommand.name=Zbudowac i uruchom z...
com.wudsn.ide.lng.editor.LanguageEditorCompilerHelpCommand.name=Pomoc kompilatora com.wudsn.ide.lng.editor.LanguageEditorCompilerHelpCommand.name=Pomoc jezyk
com.wudsn.ide.lng.editor.LanguageEditorCompilerHelpCommand.mnemonic=P com.wudsn.ide.lng.editor.LanguageEditorCompilerHelpCommand.mnemonic=P
com.wudsn.ide.lng.editor.LanguageEditorContentAssistProposal_label=Content Assist com.wudsn.ide.lng.editor.LanguageEditorContentAssistProposal_label=Content Assist
com.wudsn.ide.lng.editor.LanguageEditorToggleCommentCommand.name=Prze\u0142\u0105cz komentarz 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> 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 <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> 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>Build or build 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>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> 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 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 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 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>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 <li>Hex Editor now correctly detects erroneous COM files in case the segment length exceeds the file length
(by one)</li> (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>
<li>Apple Commander integration is now part of the installation, as it should have been with 1.6.3</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 <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 />       sta $d40a <br />       sta $d01a ;Change background color <br />       jmp loop <br /> <br />
      run start ;Define run address</div>       run start ;Define run address</div>
</li> </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>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 <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 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_SHOW_CODEDETAILS_IN_EXCEPTION_MESSAGES" value="true"/>
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" 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.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.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.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"/> <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="compilers" name="Compilers" schema="schema/compilers.exsd"/>
<extension-point id="runners" name="Runners" schema="schema/runners.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 <extension
point="org.eclipse.core.runtime.preferences"> point="org.eclipse.core.runtime.preferences">
@ -62,26 +72,6 @@
id="com.wudsn.ide.lng.editor.LanguageEditorOpenOutputFolderCommand" id="com.wudsn.ide.lng.editor.LanguageEditorOpenOutputFolderCommand"
name="%com.wudsn.ide.lng.editor.LanguageEditorOpenOutputFolderCommand.name"> name="%com.wudsn.ide.lng.editor.LanguageEditorOpenOutputFolderCommand.name">
</command> </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 <command
categoryId="com.wudsn.ide.lng.editor.LanguageEditorCommands" categoryId="com.wudsn.ide.lng.editor.LanguageEditorCommands"
id="com.wudsn.ide.lng.editor.LanguageEditorCompileCommand" id="com.wudsn.ide.lng.editor.LanguageEditorCompileCommand"
@ -144,9 +134,10 @@
<activeWhen> <activeWhen>
<with <with
variable="activeEditor"> variable="activeEditor">
<instanceof <test
value="com.wudsn.ide.lng.editor.LanguageEditor"> property="com.wudsn.ide.lng.IsLanguageEditor"
</instanceof> value="true">
</test>
</with> </with>
</activeWhen> </activeWhen>
</handler> </handler>
@ -156,9 +147,10 @@
<activeWhen> <activeWhen>
<with <with
variable="activeEditor"> variable="activeEditor">
<instanceof <test
value="com.wudsn.ide.lng.editor.LanguageEditor"> property="com.wudsn.ide.lng.IsLanguageEditor"
</instanceof> value="true">
</test>
</with> </with>
</activeWhen> </activeWhen>
</handler> </handler>
@ -168,9 +160,10 @@
<activeWhen> <activeWhen>
<with <with
variable="activeEditor"> variable="activeEditor">
<instanceof <test
value="com.wudsn.ide.lng.editor.LanguageEditor"> property="com.wudsn.ide.lng.IsLanguageEditor"
</instanceof> value="true">
</test>
</with> </with>
</activeWhen> </activeWhen>
</handler> </handler>
@ -180,9 +173,10 @@
<activeWhen> <activeWhen>
<with <with
variable="activeEditor"> variable="activeEditor">
<instanceof <test
value="com.wudsn.ide.lng.editor.LanguageEditor"> property="com.wudsn.ide.lng.IsLanguageEditor"
</instanceof> value="true">
</test>
</with> </with>
</activeWhen> </activeWhen>
</handler> </handler>
@ -192,9 +186,10 @@
<activeWhen> <activeWhen>
<with <with
variable="activeEditor"> variable="activeEditor">
<instanceof <test
value="com.wudsn.ide.lng.editor.LanguageEditor"> property="com.wudsn.ide.lng.IsLanguageEditor"
</instanceof> value="true">
</test>
</with> </with>
</activeWhen> </activeWhen>
</handler> </handler>
@ -204,9 +199,10 @@
<activeWhen> <activeWhen>
<with <with
variable="activeEditor"> variable="activeEditor">
<instanceof <test
value="com.wudsn.ide.lng.editor.LanguageEditor"> property="com.wudsn.ide.lng.IsLanguageEditor"
</instanceof> value="true">
</test>
</with> </with>
</activeWhen> </activeWhen>
</handler> </handler>
@ -216,9 +212,10 @@
<activeWhen> <activeWhen>
<with <with
variable="activeEditor"> variable="activeEditor">
<instanceof <test
value="com.wudsn.ide.lng.editor.LanguageEditor"> property="com.wudsn.ide.lng.IsLanguageEditor"
</instanceof> value="true">
</test>
</with> </with>
</activeWhen> </activeWhen>
</handler> </handler>
@ -228,9 +225,10 @@
<activeWhen> <activeWhen>
<with <with
variable="activeEditor"> variable="activeEditor">
<instanceof <test
value="com.wudsn.ide.lng.editor.LanguageEditor"> property="com.wudsn.ide.lng.IsLanguageEditor"
</instanceof> value="true">
</test>
</with> </with>
</activeWhen> </activeWhen>
</handler> </handler>
@ -284,50 +282,6 @@
point="org.eclipse.ui.menus"> point="org.eclipse.ui.menus">
<menuContribution <menuContribution
locationURI="menu:org.eclipse.ui.main.menu?after=additions"> 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 <menu
id="com.wudsn.ide.lng.editor.LanguageEditorCompilerMenu" id="com.wudsn.ide.lng.editor.LanguageEditorCompilerMenu"
label="%com.wudsn.ide.lng.editor.LanguageEditorCompilerMenu.label" label="%com.wudsn.ide.lng.editor.LanguageEditorCompilerMenu.label"
@ -336,9 +290,10 @@
checkEnabled="false"> checkEnabled="false">
<with <with
variable="activeEditor"> variable="activeEditor">
<instanceof <test
value="com.wudsn.ide.lng.editor.LanguageEditor"> property="com.wudsn.ide.lng.IsLanguageEditor"
</instanceof> value="true">
</test>
</with> </with>
</visibleWhen> </visibleWhen>
<command <command

View File

@ -34,7 +34,7 @@ public final class LanguageUtility {
*/ */
private LanguageUtility() { private LanguageUtility() {
} }
/** /**
* Gets the text for a language. * Gets the text for a language.
* *
@ -45,14 +45,13 @@ public final class LanguageUtility {
return EnumUtility.getText(language); return EnumUtility.getText(language);
} }
/** /**
* Gets the text for type of compilers for a language. * Gets the text for type of compilers for a language.
* *
* @param language The language, not <code>null</code>. * @param language The language, not <code>null</code>.
* @return The text in sentence case, not empty and 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) { switch (language) {
case ASM: case ASM:
return Texts.LANGUAGE_ASSEMBLER_TEXT; return Texts.LANGUAGE_ASSEMBLER_TEXT;
@ -64,14 +63,14 @@ public final class LanguageUtility {
throw new IllegalArgumentException("Unknown language '" + language + "'."); throw new IllegalArgumentException("Unknown language '" + language + "'.");
} }
public static String getCompilerPreferencesText(Language language) { public static String getCompilerPreferencesText(Language language) {
switch (language) { switch (language) {
case ASM: 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: 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 + "'."); 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.common.ResourceBundleUtility;
import com.wudsn.ide.base.hardware.Hardware; import com.wudsn.ide.base.hardware.Hardware;
import com.wudsn.ide.lng.Language; 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.LanguageAnnotationValues.InvalidLanguageAnnotationException;
import com.wudsn.ide.lng.LanguagePlugin;
import com.wudsn.ide.lng.Target; import com.wudsn.ide.lng.Target;
import com.wudsn.ide.lng.compiler.Compiler; import com.wudsn.ide.lng.compiler.Compiler;
import com.wudsn.ide.lng.compiler.CompilerDefinition; import com.wudsn.ide.lng.compiler.CompilerDefinition;
@ -257,7 +256,6 @@ public abstract class LanguageEditor extends TextEditor {
} }
} }
} }
} }
@Override @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;
}
}