/SetlXHelper

An extension for SublimeText, VisualStudio Code, TextMate and IntelliJ IDEA to make writing SetlX-code comfortable. Compatible with SetlX Version 2.5.0 - 2.6.1

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

The SetlX-Helper for Sublime Text 3

"Wait, why should I use this?" Good question! Lets ask the official SetlX-Tutorialas I recall it:

  1. Programming [with the] SetlX[-Helper] is the only way to guarantee redemption from the eternal hell fire that awaits those [...] programming in SetlX.
  2. Programming in SetlX [will then be] fun!

I'm fairly sure you are convinced now ;)

Additionally, this extension is available for SublimeText 2/3 (see here) and VisualStudio Code (see here).

Current Version: v1.2.0, compatible with SetlX v2.5.0-v2.6.1

Installing The Extension

Sublime Text 3 / 2 [ST]

  1. Install PackageControl in Sublime Text as described here and restart Sublime Text
  2. Open the Command Palette (by pressing Ctrl/Super+Shift+P), select Package Control: Install Package, wait for the list to load and select SetlX Helper from the list (by typing in setlx and pressing Enter)
  3. After the installation is done (the progress is shown in the lower left corner) you are all set. Just open a SetlX-program file and enjoy the new help!
  4. optional: I recommend using the Monokai Extended Color Scheme (available via PackageControl) for a nice and colorful syntax-highlighting.

Updates are applied automatically.

VisualStudio Code [VSC]

  1. Open the Command Palette (by pressing Ctrl+P), type in ext install setlx and press Enter
  2. After the installation is done, restart VS Code when the prompt asking you to do so appears. Then you are all set. Just open a SetlX-program file and enjoy the new help!
  3. optional: I recommend using the Monokai Color Theme for a nice and colorful syntax-highlighting.

Updates are applied automatically.

TextMate [TM]

  1. Close TextMate if it is currently running.
  2. Open a console and go to TextMate's Bundles Directory: cd /Library/Application\ Support/TextMate/Bundles
    • If it does not exist, create it: mkdir -p /Library/Application\ Support/TextMate/Bundles
  3. Clone the textmate branch as a Bundle: git clone -b textmate -- https://github.com/LucaVazz/SetlXHelper.git SetlXHelper.tmbundle
  4. After the command is finished, you are all set. Just start TextMate again and open a SetlX-program file and enjoy the new help!

Updates need to be done manually. To update:

  1. Go inside the Bundle: cd /Library/Application\ Support/TextMate/Bundles/SetlXHelper.tmbundle
  2. Update it with the new changes: git pull

IntelliJ IDEA [IntelliJ]

  1. Verify that the TextMate bundles support Plugin is installed and enabled:
    1. Open the settings (FileSettings for Windows and Linux or IntelliJ IDEAPreferences for macOS) and then go to Plugins.
    2. Search for textmate
    3. If the plugin apears, make sure its checkbox has a tick in it.
    4. If not, click on the Search in repositories link, select the TextMate bundles support entry and click on the Install button on the left, followed by a click on the Restart IntelliJ IDEA button.
  2. Add the TextMate Bundle:
    1. Open a console, change into a direcotry of your choice and clone the textmate branch as a Bundle: git clone -b textmate -- https://github.com/LucaVazz/SetlXHelper.git SetlXHelper.tmbundle
    2. Open IntelliJ's settings (see above) and navigate to EditorTextMate Bundles on the right.
    3. Click on the + in the upper left corner and select the SetlXHelper.tmbundle directory you just cloned.
    4. In the lower left corner, select the Color Scheme you want to use for SetlX files.
    5. Close the dialog by clicking Apply and then OK.
  3. Now you are all set. Just open a SetlX-program file and enjoy the new help!

Updates need to be done manually. To update:

  1. Go inside the directory you chosed and change into the SetlXHelper.tmbundle directory.
  2. Update it with the new changes: git pull

Using the Features

The icons in brackets indicate for which editor the feature is implemented.

Syntax Highligting ([ST] [VSC] [TM] [IntelliJ])

[Illustration of the Syntax Definitions]

Just type code ;)

Keep in mind: The colors don't come from the Helper-Plugin. You can choose them as you like by selecting a Theme which suits you:

  • [ST] : PreferencesColor Scxheme...
  • [VSC] : FileSettingsColor Theme
  • [TM] : PreferencesFonts & Colors
  • [IntelliJ] : See installations instructions above, step 2.4

Type Common Structures Faster With Snippets ([ST] [VSC])

[Demonstration of Developing with Snippets]

To insert a snippet, just enter its keyword (which is its name, if not noted otherwise below) and press Enter to insert it. You can then jump through the placeholders by pressing Tab ([ST] : and insert a "real" tab by pressing Shift+Tab).

Available snippets:

  • set - / list - / closure - / procedure - / cached procedure - definition
  • if - / else if - / else- / match - / swtich- / case - / default - statements
  • for - / while - loops
  • try-catch - (keyword: catch) / trace - blocks

Build System ([ST])

You need to install SetlX completely as described in its manual. This means that you should be able to type setlx into a console-window and get the live interpreter fired up.

After that, you can just press Ctrl/Cmd+B to start your SetlX-program and view its results inside Sublime Text's own console (at the bottom of your window).

You can switch between running your program inside Sublime Text's own Build-Console (at the bottom of the window) (which doesn't support input) or in an external Command-Line - window by pressing Ctrl/Cmd+Shift+B and selecting either SetlX - in internal Build-Console or SetlX - in external Command-Line.

If you just press Ctrl/Cmd+B or just select SetlX in the selection-menu mentioned above, the previously selected option will be used.

Contributing

Feel free to suggest additional features or to report bugs by using the GitHub-Issues.

I'm also always pleased to see pull-request, for example if you have ported the extension to other editors or added new functionality.

A Note on the Chosen License

This project is licensed under the terms of the GNU General Public License v3.0. For further information, please look here or here(DE).

A Note on Used Material