CUE LSP

July 27, 2022 · View on GitHub

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 EditorDocumentation
VS CodeExtension
VimGuide

Capabilities

FeatureSupportedLink 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:

ActionCommand
Run linterdagger do lint
Run testdagger do test
Build binarydagger do build

If you are on Mac M1, you should build binary using go build -o cuelsp because Buildkit does not support darwin/arm64 platform, 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