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 488
  • Win 177
  • Mac 130
  • Linux 181
Jun 10 Jun 9 Jun 8 Jun 7 Jun 6 Jun 5 Jun 4 Jun 3 Jun 2 Jun 1 May 31 May 30 May 29 May 28 May 27 May 26 May 25 May 24 May 23 May 22 May 21 May 20 May 19 May 18 May 17 May 16 May 15 May 14 May 13 May 12 May 11 May 10 May 9 May 8 May 7 May 6 May 5 May 4 May 3 May 2 May 1 Apr 30 Apr 29 Apr 28 Apr 27
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