Tools

Editor and language server

gzim-lsp gives desktop editors language-aware diagnostics and navigation. It ships beside gzim in every release package.

Language server features

!

Diagnostics

Syntax and semantic diagnostics update after document changes.

⌁

Completion

Slang keywords, builtins, native modules, and file-local declarations.

?

Hover

Keyword explanations, signatures, and declaration details.

→

Navigation

Definition lookup and document symbols.

Verify the server

gzim-lsp --help

Most editors start the server over standard input/output. Ensure the installation directory is on PATH.

Zed

The repository contains a Zed extension with a Tree-sitter grammar and language-server adapter.

Install the runtime

Confirm both gzim and gzim-lsp are on PATH.

Open Zed extensions

Run zed: install dev extension from the command palette.

Select the extension folder

Choose zed-genzimnify/ from a cloned repository.

Other LSP editors

Configure gzim-lsp as a stdio language server for files matching *.gzim. The server follows the standard JSON-RPC Language Server Protocol.

{
  "command": "gzim-lsp",
  "filetypes": ["gzim"],
  "rootPatterns": ["gzim.toml", "genzimnify.nimble", ".git"]
}

Browser Studio

The repository’s studio/ directory contains a local-first browser IDE with syntax highlighting, completion, diagnostics, examples, and a console. It is a separate web surface; the installable desktop toolchain is the authoritative native runtime.

Tree-sitter grammar

The grammar under grammars/genzimnify/ can be embedded by editors that support Tree-sitter. Regenerate parser sources after changing grammar.js:

cd grammars/genzimnify
tree-sitter generate