Extension
This section covers development and release workflows for the editor extensions (VSCode / Neovim / Zed).
VSCode
The VSCode extension uses the Node/npm/VSCE toolchain. Work inside the pixi node environment for consistent versions.
# prepare environment (install pixi first)
pixi shell -e node
# install deps (uses package-lock)
pixi run install-vscode
# package the extension; outputs editors/vscode/*.vsix
pixi run build-vscodePublish to the VSCode Marketplace (VSCE_PAT env var required):
pixi run publish-vscodeIMPORTANT
Development and locally packaged builds do not bundle the clice server (release CI stages it per platform), so set clice.executable in VSCode settings — or the CLICE_EXECUTABLE environment variable — to your locally built binary. Without it the extension reports a missing server.
Develop and debug:
pixi shell -e node- In
editors/vscode, runnpm run watchfor incremental builds - In VSCode, use the “Run Extension/Launch Extension” configs, or run
code --extensionDevelopmentPath=$(pwd)/editors/vscode
Common scripts (inside pixi shell -e node):
npm run package # same as pixi run build-vscode
npm run publish # same as pixi run publish-vscodeIf you skip pixi, install node.js >= 20 yourself (npm is bundled). The extension is part of the repo's npm workspace, so install at the repo root, then package from editors/vscode:
npm install # at the repo root
cd editors/vscode
npm run packageNeovim
The Neovim extension lives in editors/nvim and is written in Lua. It is still evolving.
- Add the repo path to
runtimepath, e.g.set rtp+=/path/to/clice/editors/nvim - Or create a local symlink:
~/.config/nvim/pack/clice/start/clice-><repo>/editors/nvim - Ensure the
cliceexecutable is discoverable in$PATH
Dev tips: the codebase is small—load it directly in Neovim and watch :messages/LSP logs; format with stylua (config included).
Zed
The Zed extension lives in editors/zed and uses Rust plus zed_extension_api.
Suggested local verification:
cd editors/zed
cargo build --releaseThen load the local extension per Zed's official guide (Zed CLI required). Make sure clice is on PATH before launching. Follow the Zed extension publishing flow when releasing.