ctrl+shift+p filters: :st2 :st3 :win :osx :linux
Browse

Forth

by mitranim ST3 Needs Review

Sublime Text syntax for the Forth programming language

Details

Installs

  • Total 489
  • Win 177
  • Mac 131
  • Linux 181
Nov 2 Nov 1 Oct 31 Oct 30 Oct 29 Oct 28 Oct 27 Oct 26 Oct 25 Oct 24 Oct 23 Oct 22 Oct 21 Oct 20 Oct 19 Oct 18 Oct 17 Oct 16 Oct 15 Oct 14 Oct 13 Oct 12 Oct 11 Oct 10 Oct 9 Oct 8 Oct 7 Oct 6 Oct 5 Oct 4 Oct 3 Oct 2 Oct 1 Sep 30 Sep 29 Sep 28 Sep 27 Sep 26 Sep 25 Sep 24 Sep 23 Sep 22 Sep 21 Sep 20 Sep 19
Windows 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Mac 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Linux 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Readme

Source
raw.​githubusercontent.​com

Overview

Sublime Text syntax definition for Forth. Should be suitable for any Forth which is standard-adjacent. Tested with GForth and VfxForth.

Installation

Package Control

  1. Get Package Control.
  2. Open the command palette: ⇧⌘P or ⇧P.
  3. Package Control: Install Package.
  4. Forth.

Manual

Clone the repo and symlink it to your Sublime packages directory. Example for MacOS:

git clone https://github.com/mitranim/sublime-forth.git
cd sublime-forth
ln -sf "$(pwd)" "$HOME/Library/Application Support/Sublime Text/Packages/Forth"

To find the packages directory on your system, use Sublime Text menu → Preferences → Browse Packages.

Build Systems

Doesn't come with a build system, because there are many Forth implementations. Here's how to define one for GForth:

{
  "selector": "source.forth",
  "cmd": ["gforth", "$file", "-e", "bye"],
}

Customization

There are almost as many Forth dialects as there are Forth users. Many do not adhere to any standard. Additionally, even in a “standard” Forth, it's easy to define new parsing words, which may need special syntactic support.

Therefore, you may need to customize this syntax appropriately for your dialect.

dir="$HOME/Library/Application Support/Sublime Text/Packages/User"
mkdir -p "$dir/Forth"
touch "$dir/Forth/ForthX.sublime-syntax"

Open the resulting .sublime-syntax file and make it inherit from the “base” syntax:

%YAML 1.2
---
version: 2
scope: source.forth
extends: Packages/Forth/Forth.sublime-syntax
file_extensions: [f, fs, ft, fth]

# ... Add your overrides here.

You can then override variables, contexts, and so on. You do not need to copy-paste the rest of the syntax; only overrides need to be placed in the new file.

License

https://unlicense.org