Package Control

The official Sublime Text package manager.

Sema

Sema support for Sublime Text — a Lisp with first-class LLM primitives

By sema-lisp
Created July 4, 2026, last updated July 22, 2026.

Links

Versions

0.3.2 (>ST4106) ·
2026-07-22 19:45

More
Sema

Sema for Sublime Text

Sema support for Sublime Text — a Lisp with first-class LLM primitives.

CI License Website

Language support for Sema, a Lisp dialect with first-class LLM primitives, for Sublime Text 4.

Install

  1. Install Package Control if you haven't already.
  2. Open the command palette (Cmd+Shift+P / Ctrl+Shift+P) → Package Control: Install Package.
  3. Search for Sema and install it.

Manual

Clone into your Sublime Text Packages directory:

# macOS
git clone https://github.com/sema-lisp/sublime-sema \
  "$HOME/Library/Application Support/Sublime Text/Packages/Sema"

# Linux
git clone https://github.com/sema-lisp/sublime-sema \
  "$HOME/.config/sublime-text/Packages/Sema"

# Windows (PowerShell)
git clone https://github.com/sema-lisp/sublime-sema `
  "$env:APPDATA\Sublime Text\Packages\Sema"

Find the Packages directory quickly via the command palette → Preferences: Browse Packages.

Features

Building & running

Open a .sema file and use Tools → Build System → Sema (or Cmd+B / Ctrl+B). Variants (Cmd+Shift+B / Ctrl+Shift+B):

Variant Command
Sema sema <file> — run the program
Sema — Format sema fmt <file>
Sema — Compile to bytecode sema compile <file>
Sema — Build executable sema build <file>

To evaluate code without a full build, select an expression and run Sema: Eval Selection or Buffer from the command palette. With nothing selected, the whole file is evaluated. Output appears in the Sema panel.

The build systems and the eval command invoke the sema binary, so it must be on your PATH. Install it from sema-lang.com.

Language server

For IDE features — completions, hover, go-to-definition, references, rename, signature help, and diagnostics — install the LSP package via Package Control. Sema registers its sema lsp server automatically for source.sema files; no manual configuration is needed. Restart Sublime Text (or run LSP: Restart Servers) after installing LSP.

To override the server command or options, open Preferences → Package Settings → Sema → Settings (or run Preferences: Sema Settings from the command palette).

Key bindings

The package ships no active key bindings, so it never overrides yours or Sublime's defaults. To bind the eval command, open Preferences → Package Settings → Sema → Key Bindings — the left pane shows ready-to-copy examples, the right pane is your user keymap. For instance:

[
	{
		"keys": ["super+enter"],
		"command": "sema_eval",
		"context": [
			{ "key": "selector", "operator": "equal", "operand": "source.sema" }
		]
	}
]

Use ctrl+enter on Linux/Windows. Heads up: this chord shadows Sublime's built-in "insert line after" inside Sema files — pick another if you rely on it.

Requirements

License

MIT © Helge Sverre

Results

Packages