IDE Extension
You can use an IDE, such as VS Code (or others), to write epher scripts. Download and install the official epher extension for your IDE. The extension implements a full epher language server. It is compliant with the Language Server Protocol (LSP), adding a number of assistive features while editing code.
What the editor gets
- Live diagnostics: Syntax errors point at the exact token, and evaluation errors carry the same message the calculator shows.
- Answers inline: Each statement's result renders next to its line: `x = 40 + 2` shows `= 42`.
- Hover signatures: Hover a name for its canonical signature and description; your own constants show their current values.
- Completion and snippets: Catalog names, your own definitions, keywords, and snippets for the common statement shapes.
- Unit-aware coloring: Semantic tokens color unit suffixes by meaning: the `m` in `2 m` is a unit, not a variable.
VS Code
Install it from the vsix: Extensions view, the ⋯ menu, Install from VSIX. The server ships inside the extension, no download, no prerequisites, and it works offline on desktop and in the browser. Open a `.epher` file and the answers appear.
The epher extension also works with the browser versions of VS Code, vscode.dev and github.dev: press `.` on any GitHub repository or pull request to launch VS Code directly in the browser.
Cursor
Cursor is a VS Code fork: the same vsix installs the same way, from the Extensions view's ⋯ menu, Install from VSIX. The bundled server and every feature behave identically.
VSCodium
VSCodium is VS Code without Microsoft's marketplace, and install-from-VSIX works exactly the same: Extensions view, ⋯ menu, Install from VSIX. Same server, same features, same local-only behavior.
JetBrains IDEs
Install it from disk: Settings, Plugins, the gear menu, Install Plugin from Disk. Works in IntelliJ IDEA, PyCharm, WebStorm, GoLand, and the rest of the family, 2024.2 or newer. On first use it downloads the server for your platform; after that, everything is local.
Visual Studio
Install it like any Visual Studio extension: double-click the vsix, or Extensions, Manage Extensions, Install from file. Works in Visual Studio 2022. On first use it downloads the server for Windows; after that, everything is local.
Download epher-visualstudio.vsix
Zed
Install it as a dev extension: in Zed, run the `zed: install dev extension` command and pick the unzipped `epher-zed` folder. Zed compiles the extension itself, which needs Rust installed. A tree-sitter grammar ships with it, so baseline highlighting and outline work out of the box; for the server's exact unit coloring, flip one setting: `languages.epher.semantic_tokens = full`.
The Rust step belongs to dev extensions, not to epher: extensions published to Zed's extension registry are compiled by Zed itself and install in one click, with no Rust. Publication there is planned; until it lands, the dev-extension route above is the way in.
Prerequisite: the `epher-lsp` server binary, installed once and on your PATH: see Any LSP client below.
Neovim and Vim
Ready-made config files: filetype detection, syntax, and the LSP wiring around the same release binary. Point your runtimepath at the folder and call `require("epher").setup()` on Neovim 0.11 or newer.
Prerequisite: the `epher-lsp` server binary, installed once and on your PATH: see Any LSP client below.
Download epher-nvim.zip · Download epher-vim.zip
Sublime Text
A package folder: the shared grammar in Sublime's own form, plus the client definition for the popular LSP package.
Prerequisite: the `epher-lsp` server binary, installed once and on your PATH: see Any LSP client below.
Emacs
Ready-made Emacs glue: an `epher-mode` with baseline highlighting, filetype detection, and the LSP wiring around the same release binary, eglot on Emacs 29 or newer (built in), or lsp-mode if you prefer. Diagnostics, inline answers as inlay hints, hover, and completion.
Prerequisite: the `epher-lsp` server binary, installed once and on your PATH: see Any LSP client below.
Eclipse IDE
A ready-made Eclipse plugin: it registers the `.epher` file type, hooks the shared language server into LSP4E, and reuses the TextMate grammar for baseline highlighting. Diagnostics, hover, and completion, on recent Eclipse releases the inline answers appear as inlay hints.
Prerequisite: the `epher-lsp` server binary, installed once and on your PATH, see Any LSP client below.
All of this lives in the repository under clients/.
Any LSP client
The server speaks the Language Server Protocol over stdio, so any LSP client works. Download the binary for your platform from the releases page, uncompress it, and point your editor's client at it:
| Platform | Release asset | After extracting |
|---|---|---|
| Windows (x86_64) | epher-lsp-windows-x86_64.zip |
epher-lsp.exe |
| macOS (Apple silicon) | epher-lsp-macos-aarch64.gz |
epher-lsp |
| Linux (x86_64) | epher-lsp-linux-x86_64.gz |
epher-lsp |
| Linux (ARM64) | epher-lsp-linux-aarch64.gz |
epher-lsp |
Check the install with `epher-lsp --version`.
Everything is on the releases page.
One language server, used by every IDE
Every extension shares one program, epher-lsp: a small language server (LSP) with the whole epher engine compiled in. The extension is a thin shell: VS Code carries its server inside the extension; JetBrains and Visual Studio download it on first use and cache it; the rest point at an `epher-lsp` on your PATH. Everything runs on your machine; nothing is sent anywhere.