
# Sema for Sublime Text
**[Sema](https://sema-lang.com) support for [Sublime Text](https://www.sublimetext.com)** — a Lisp with first-class LLM primitives.
[](https://github.com/sema-lisp/sublime-sema/actions)
[](LICENSE)
[](https://sema-lang.com)
Language support for [Sema](https://sema-lang.com), a Lisp dialect with first-class LLM primitives, for [Sublime Text](https://www.sublimetext.com) 4.
## Install
### Package Control (recommended)
1. Install [Package Control](https://packagecontrol.io/installation) 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:
```bash
# 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
- Syntax highlighting for `.sema` files (special forms, builtins, LLM primitives, keywords, strings, numbers, characters, quote operators, and more) via a native `.sublime-syntax` definition
- Comment toggling with `Cmd+/` / `Ctrl+/` (Sema's `;` line comments)
- Symbol navigation (`Cmd+R` / `Ctrl+R`) for `define`, `defun`, `defmacro`, `defagent`, `deftool`, and friends
- **Eval** the selection (or whole file) via **Sema: Eval Selection or Buffer** — output shows in the Sema panel (optional key binding below)
- Build systems for **running**, **formatting**, **compiling**, and **building a standalone executable**
- Optional **language server** (`sema lsp`) via the [LSP](https://packagecontrol.io/packages/LSP) package
## 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