Deputy
A lightweight language server for your dependencies.
Deputy currently supports the following:
- Cargo (
Cargo.toml) - Golang (
go.mod) - NPM (
package.json) - Python (
pyproject.toml) - Rokit (
rokit.toml) - Wally (
wally.toml)
Provides autocomplete, diagnostics for out-of-date versions, and more.
Check out the features and screenshots sections for a full overview.
Installation
Deputy can be installed as an extension from:
- The Visual Studio Marketplace (VSCode)
- The Open VSX Registry (Cursor, Windsurf, ...)
- The Zed Extensions registry [1]
[1] Additional extensions for TOML/Go language support may need to be installed first for corresponding Deputy features to be recognized and work in Zed.
Extensions can also be built and installed from source:
Manual Installation - VSCode
- Install Bun
- Clone this repository, and navigate to the
editors/vscodedirectory - Build and install the extension by running these three commands, in order:
bun install bun pm trust --all bun run extension-install
Manual Installation - Zed
- Install Rust
- Clone this repository, and navigate to the root directory
- Install the Zed extension at
editors/zedas a dev extension
Features
- Autocomplete for names, versions, and features
- Hover for information - includes description, links to documentation & more
- Diagnostics:
- A newer version is available
- The specified tool / package / version does not exist
- Quick actions on diagnostics - update to newest version
Command Line
Deputy can also run diagnostics over a workspace without starting an editor:
deputy analyzeBy default, this checks the current directory for supported manifests and prints diagnostics with source snippets. Error diagnostics will cause the command to exit with a non-zero status code, making it suitable for CI.
Screenshots
Hovers
Diagnostics
Completions
Why "Deputy"?
This project was previously called "Tooling Language Server", but I felt it was a bit too generic and verbose.
Deputy is mostly just a fun wordplay on "Dependency" and "Utility", but you can also interpret it using the literal meaning of the word.
Deputy helps you (the sheriff of dependencies) stay informed, and keep your versions up to date. 🤠