Text editors: Difference between revisions

From APL Wiki
Jump to navigation Jump to search
m (APL environment category)
No edit summary
(10 intermediate revisions by 3 users not shown)
Line 1: Line 1:
With APL code in text files (rather that the traditional [[workspace]]s) many source code tools, including editors, can easily be used with APL. This article lists some text editors that are especially well-equipped to deal with APL.
With APL code in text files (rather that the traditional [[workspace]]s) many source code tools, including editors, can easily be used with APL. This article lists some text editors that are especially well-equipped to deal with APL.
Besides for the listed editors, there is a Language Server available for all editors that use Microsoft's Language Server Protocol (LSP).<ref>Optima Systems. [https://github.com/OptimaSystems/apl-language-server APL Language Server]. GitHub.</ref>


{|class="wikitable sortable"
{|class="wikitable sortable"
!Name !! Platform !! Features
!Name !! Platform !! Features
|-
|[https://atom.io Atom]||Windows, Linux, MacOS||[https://atom.io/packages/language-apl language-apl] Provides syntax highlighting, indentation support.
|-
|[https://play.google.com/store/apps/details?id=com.athoraya.aplkeys APL Keys]||Android||A simple notepad that supports APL characters.
|-
|-
|[https://www.dyalog.com/download-zone.htm Dyalog Editor]||Windows||Basically same editor as the one built into the IDE, providing syntax colouring, auto-formatting, language help, comment handling, and tree-view.
|[https://www.dyalog.com/download-zone.htm Dyalog Editor]||Windows||Basically same editor as the one built into the IDE, providing syntax colouring, auto-formatting, language help, comment handling, and tree-view.
|-
|-
|[https://www.gnu.org/software/emacs/ Emacs]||cross-platform||[https://github.com/lokedhs/gnu-apl-mode GNU APL mode] provides shifting and prefix key input. [https://github.com/abochannek/Dyalog/tree/master/dyalog-apl-input Dyalog APL Input] provides backtick keyboard support.
|[https://www.gnu.org/software/emacs/ Emacs]||cross-platform||[https://github.com/lokedhs/gnu-apl-mode GNU APL mode] provides shifting and prefix key input. Integrates with GNU APL to perform completion, function editing, etc.<br>[https://github.com/harsman/dyalog-mode Dyalog APL mode] integrates with the Dyalog IDE so you can use Emacs instead of the built in editor, supports syntax highlighting (including correct highlighting of localized variables), indentation and convenience functions like toggling localization of variables.<br>[https://github.com/abochannek/Dyalog/tree/master/dyalog-apl-input Dyalog APL Input] provides backtick keyboard support.
|-
|-
|[https://jupyter.org/ Jupyter Notebook]||Windows, Linux, macOS, AIX||[https://github.com/Dyalog/dyalog-jupyter-kernel Dyalog Jupyter Kernel] provides syntax colouring and  HTML/SVG rendering.
|[https://jupyter.org/ Jupyter Notebook]||Windows, Linux, macOS, AIX||[https://github.com/Dyalog/dyalog-jupyter-kernel Dyalog Jupyter Kernel] provides syntax colouring and  HTML/SVG rendering.
|-
|[https://scintilla.org/ Scintilla]|||Windows, Linux, macOS||[https://orbitalquark.github.io/scintillua/ Scintillua] provides syntax colouring
|-
|-
|[https://www.sublimetext.com/ Sublime Text]||Windows, Linux, macOS||[https://packagecontrol.io/packages/APL%20Highlighting APL Highlighting] package enables syntax highlighting for APL, including Dyalog and APL2 dialects.
|[https://www.sublimetext.com/ Sublime Text]||Windows, Linux, macOS||[https://packagecontrol.io/packages/APL%20Highlighting APL Highlighting] package enables syntax highlighting for APL, including Dyalog and APL2 dialects.
Line 14: Line 22:
|[https://typora.io/ Typora]||Windows, Linux, macOS||Syntax highlighting for code blocks.
|[https://typora.io/ Typora]||Windows, Linux, macOS||Syntax highlighting for code blocks.
|-
|-
|[https://www.vim.org/ Vim]||cross-platform||[https://gitlab.com/n9n/vim-apl VIM APL] provides rainbow curly braces with a matching colour for <code lang=apl inline>⍺</code>, <code lang=apl inline>⍵</code>, <code lang=apl inline>∇</code>, and <code lang=apl inline>:</code> in dfns, prefix key input, and completion for [[quad name]]s, [[keyword]]s, and [[system command]]s. [https://github.com/baruchel/vim-notebook#configuring-gnu-apl Vim Notebook] runs an interpreter in the background to evaluating code cells.
|[https://www.vim.org/ Vim]||cross-platform||[https://codeberg.org/ngn/vim-apl vim-apl] provides rainbow curly braces with a matching colour for <code lang=apl inline>⍺</code>, <code lang=apl inline>⍵</code>, <code lang=apl inline>∇</code>, and <code lang=apl inline>:</code> in dfns, prefix key input, and completion for [[quad name]]s, [[keyword]]s, and [[system command]]s.<br>[https://github.com/baruchel/vim-notebook#configuring-gnu-apl Vim Notebook] runs an interpreter in the background to evaluating code cells.
|-
|[https://github.com/martanne/vis Vis]|||Linux, macOS||[https://orbitalquark.github.io/scintillua/ Scintillua] provides syntax colouring
|-
|-
|[https://code.visualstudio.com/ Visual Studio Code]||Windows, Linux, macOS||[https://marketplace.visualstudio.com/items?itemName=OptimaSystems.vscode-apl-language APL Language] extension provides syntax highlighting and snippets. [https://marketplace.visualstudio.com/items?itemName=OptimaSystems.vscode-apl-language-client APL Language Server Client] provides tool tips on primitives, prefix (e.g. backtick) completion.
|[https://code.visualstudio.com/ Visual Studio Code]||Windows, Linux, macOS||[https://marketplace.visualstudio.com/items?itemName=OptimaSystems.vscode-apl-language APL Language] extension provides syntax highlighting and snippets.<br>[https://marketplace.visualstudio.com/items?itemName=OptimaSystems.vscode-apl-language-client APL Language Server Client] provides tool tips on primitives, prefix (e.g. backtick) completion.
|}
|}
{{APL development}}[[Category:APL environment]]
== References ==
<references/>
{{APL development}}[[Category:APL environment]][[Category:Lists]]

Revision as of 16:42, 16 June 2021

With APL code in text files (rather that the traditional workspaces) many source code tools, including editors, can easily be used with APL. This article lists some text editors that are especially well-equipped to deal with APL.

Besides for the listed editors, there is a Language Server available for all editors that use Microsoft's Language Server Protocol (LSP).[1]

Name Platform Features
Atom Windows, Linux, MacOS language-apl Provides syntax highlighting, indentation support.
APL Keys Android A simple notepad that supports APL characters.
Dyalog Editor Windows Basically same editor as the one built into the IDE, providing syntax colouring, auto-formatting, language help, comment handling, and tree-view.
Emacs cross-platform GNU APL mode provides shifting and prefix key input. Integrates with GNU APL to perform completion, function editing, etc.
Dyalog APL mode integrates with the Dyalog IDE so you can use Emacs instead of the built in editor, supports syntax highlighting (including correct highlighting of localized variables), indentation and convenience functions like toggling localization of variables.
Dyalog APL Input provides backtick keyboard support.
Jupyter Notebook Windows, Linux, macOS, AIX Dyalog Jupyter Kernel provides syntax colouring and HTML/SVG rendering.
Scintilla Windows, Linux, macOS Scintillua provides syntax colouring
Sublime Text Windows, Linux, macOS APL Highlighting package enables syntax highlighting for APL, including Dyalog and APL2 dialects.
Typora Windows, Linux, macOS Syntax highlighting for code blocks.
Vim cross-platform vim-apl provides rainbow curly braces with a matching colour for , , , and : in dfns, prefix key input, and completion for quad names, keywords, and system commands.
Vim Notebook runs an interpreter in the background to evaluating code cells.
Vis Linux, macOS Scintillua provides syntax colouring
Visual Studio Code Windows, Linux, macOS APL Language extension provides syntax highlighting and snippets.
APL Language Server Client provides tool tips on primitives, prefix (e.g. backtick) completion.

References

  1. Optima Systems. APL Language Server. GitHub.
APL development [edit]
Interface SessionTyping glyphs (on Linux) ∙ FontsText editors
Publications IntroductionsLearning resourcesSimple examplesAdvanced examplesMnemonicsISO 8485:1989ISO/IEC 13751:2001A Dictionary of APLCase studiesDocumentation suitesBooksPapersVideosAPL Quote QuadVector journalTerminology (Chinese, German) ∙ Neural networksError trapping with Dyalog APL (in forms)
Sharing code Backwards compatibilityAPLcartAPLTreeAPL-CationDfns workspaceTatinCider
Implementation ResourcesOpen-sourceMagic functionPerformanceAPL hardware
Developers Timeline of corporationsAPL2000DyalogIBMIPSASTSC