Open Dylan
Open Dylan language support with lsp-dylan LSP
How to install
With Forge Super installed, the button above opens the app on this extension, where you press Install. Nothing is installed until you do.
You can also open the Extensions panel in the app and search for Open Dylan. The extension's id is open-dylan.
Don't have Forge Super yet? Download it here.
README
From the extension's repository, written by its authors and not by Mentenaz. See the source.
Open Dylan Zed Extension
A Zed extension for the Open Dylan language: syntax
highlighting, bracket matching, comment toggling, and LSP features (hover,
diagnostics, go-to-definition, completion) via dylan-lsp-server.
Prerequisites
The extension does not bundle the language server (per Zed publishing rules).
You need the Open Dylan language server (dylan-lsp-server) on your PATH.
Installing dylan-lsp-server
-
Install Open Dylan (2023.1 or newer).
-
Clone and build
lsp-dylan:git clone --recursive https://github.com/dylan-lang/lsp-dylan cd lsp-dylan deft update make install -
Confirm the install directory (typically
${DYLAN}/bin, or~/dylan/binifDYLANis unset) is on yourPATH:which dylan-lsp-server
Features
Syntax highlighting
Highlighting uses a tree-sitter grammar:
ganderzz/tree-sitter-dylan.
It is a lexical grammar whose token classes are derived from the official
dylan-lang/vscode-dylan
TextMate grammar (DRM spec). It recognizes:
- Control-flow, definer, and modifier keywords
- DRM built-in functions
- Type names by the
<name>convention - Strings, raw strings (
#r"..."),#"symbols", characters keyword:arguments- Numbers (decimal,
#x/#o/#b) - Booleans (
#t/#f),#rest/#key/#all-keys/#next \==style operator references//line comments and/* */block comments
The grammar is lexical, not full-syntax. It parses the great majority of real Dylan cleanly; macro-heavy and generated FFI files may show partial highlighting.
Language server
With dylan-lsp-server on PATH, the extension provides:
- Hover — type information and argument lists
- Go to definition / declaration
- Diagnostics — compiler warnings inline
- Completion
Editor behavior
- Line comments —
// - Block comments —
/* */ - Auto-closing brackets —
{},[],(),""
File types
Recognized by extension:
.dylan— Dylan source files.lid— Library Interchange Definition files
Installing as a dev extension
- Open Zed.
- Command Palette (
Cmd+Shift+P) → Extensions: Install Dev Extension. - Select this directory (
zed-open-dylan). - Open a
.dylanfile — highlighting activates and the language server connects ifdylan-lsp-serveris onPATH.
If something goes wrong, check ~/Library/Logs/Zed/Zed.log (macOS) for grammar
compilation or failed to load language errors.
Contributing
- Keep the extension TOML-only (no Rust unless procedural behavior is needed).
- Pin tree-sitter grammar dependencies to a specific commit.
- Grammar changes live in
ganderzz/tree-sitter-dylan.
License
MIT — see LICENSE. dylan-lsp-server is distributed separately under
its own license by the Dylan Hackers / dylan-lang project.