Extension
This section covers development and release workflows for the editor extensions (VSCode / Neovim / Zed).
VSCode
The VSCode extension uses the Node/PNPM/VSCE toolchain. Work inside the pixi node environment for consistent versions.
# prepare environment (install pixi first)
pixi shell -e node
# install deps (uses pnpm-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-vscodeTIP
If clice is already built locally, set clice.executable in VSCode settings to point the extension to your custom binary.
Develop and debug:
pixi shell -e node- In
editors/vscode, runpnpm 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):
pnpm run package # same as pixi run build-vscode
pnpm run publish # same as pixi run publish-vscodeIf you skip pixi, install node.js >= 20 and pnpm yourself, then in editors/vscode run:
pnpm install
pnpm 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.