cuelsp
cuelsp copied to clipboard
CUE LSP
Language Server implementation for CUE, with built-in support for Dagger.
Install
CUE LSP can be used in one of two ways:
- As a standalone binary
cuelsp:go install github.com/dagger/cuelsp/cmd/cuelsp@latest - As a subcommand of the Dagger CLI:
dagger cuelsp. This requires dagger v0.2.27 or later.
Configure your code editor
| Code Editor | Documentation |
|---|---|
| VS Code | Extension |
| Vim | Guide |
Capabilities
| Feature | Supported | Link to documentation |
|---|---|---|
| Load cue plan | :white_check_mark: | how cuelsp loads CUE |
| Load multiples files | :white_check_mark: | how cuelsp loads CUE |
| Jump to CUE definition | :white_check_mark: | managing jump-to |
| Doc Hover | :white_check_mark: | |
| Syntax highlighting | :hourglass: | |
| Auto completion | :no_entry_sign: | |
| Jump to CUE keys | :no_entry_sign: | |
| Error highlighting | :no_entry_sign: | |
| Code snippet | :no_entry_sign: | |
| Optimization suggestion | :no_entry_sign: |
Development & CI
We use Dagger to lint, test and build CUELSP. Using Dagger, commands running in the CI behave the same as on your local system :rocket:
| Action | Command |
|---|---|
| Run linter | dagger do lint |
| Run test | dagger do test |
| Build binary | dagger do build |
If you are on Mac M1, you should build binary using
go build -o cuelspbecause Buildkit does not supportdarwin/arm64platform, yet.
Release
CUELSP is versioned through tagged release.
There is a complete release workflow to produce CUELSP binaries for multiple platforms.
To publish a new release, we just create a new tag.
# Tag current commit
git tag vX.X.X
# Push tag to repository
git push origin vX.X.X
Maintainers
![]() Vasek |
![]() Guillaume de Rouville |
![]() Tanguy ⧓ Herrmann |
|---|


