Editor setup
ezc ships with first-class plugins for four editors. All connect to the
same ezc-lsp (language server) and ezc-dap (debugger) binaries, so
you get the same features everywhere: diagnostics, hover, completions,
go-to-definition, rename, references, code lens, inlay hints, code
actions, formatting, folding, document symbols, signature help, and
full step-debugging.
Build the binaries first:
cargo install --path crates/ezc-cli
cargo install --path crates/ezc-lsp
cargo install --path crates/ezc-dap
VS Code
The extension lives at editors/vscode-ezc/. It includes a TextMate
grammar, snippets, and configuration for both the LSP client and a DAP
launch profile.
cd editors/vscode-ezc
npm install
npm run compile
# then: F5 in VS Code to launch a development host
# or: vsce package and install the .vsix
Configurable settings:
ezc.lsp.path,ezc.dap.path— override binary lookupezc.inlayHints.stackState— show post-line stack state inlineezc.inlayHints.references— show "N references" markers
Neovim
Plugin at editors/neovim-ezc/. Install with lazy.nvim:
{
dir = "/path/to/ezc/editors/neovim-ezc",
ft = "ezc",
dependencies = { "neovim/nvim-lspconfig", "mfussenegger/nvim-dap" },
config = function()
require("ezc").setup({})
require("ezc").set_dap_keymaps() -- F5/F10/F11/F12 for debugging
end,
}
Or copy the plugin to ~/.local/share/nvim/site/pack/ezc/start/ and
call require("ezc").setup() in your config.
Zed
Extension at editors/zed-ezc/. Symlink it into your Zed extensions
directory:
ln -s "$PWD/editors/zed-ezc" ~/.config/zed/extensions/ezc
Then restart Zed. Both LSP and DAP work natively.
Helix
Config at editors/helix-ezc/. Merge languages.toml into your Helix
config:
cat editors/helix-ezc/languages.toml >> ~/.config/helix/languages.toml
For tree-sitter highlighting, copy the grammar:
cp -r editors/tree-sitter-ezc ~/.config/helix/runtime/grammars/sources/ezc/
hx --grammar build
Tree-sitter grammar
Standalone tree-sitter grammar at editors/tree-sitter-ezc/. Used by
Neovim, Zed, and Helix; can also be embedded in any other tree-sitter
host.