A Language Server Protocol implementation for the Common Expression Language (CEL), powered by cel-core.
- Diagnostics - Real-time parse and type checking errors as you type
- Hover - Type information and function documentation
- Completion - Autocompletion for variables, functions, and message fields
- Semantic tokens - Accurate syntax highlighting
- Protovalidate - CEL validation support in
.protofiles
cargo install celspPre-built binaries are available on the releases page for:
- Linux (x86_64)
- macOS (x86_64, aarch64)
Create a settings.toml file in your project to configure the CEL environment:
[env]
variables = { x = "int", name = "string" }
extensions = ["strings", "math"]
[env.proto]
descriptors = ["path/to/descriptor.binpb"]The language server walks the file tree upward to discover settings.toml.
celsp works with any LSP-compatible editor. Configure your editor to run celsp as the language server for CEL files and .proto files.
# Run all tests
mise run test
# Install locally
mise run installLicensed under either of:
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.