1
0
mirror of https://github.com/helix-editor/helix synced 2026-04-22 12:43:58 +02:00
helix/helix-lsp-types
Michael Davis 6d0974d9bf
lsp: Declare supported SymbolKinds in client capabilities
In the spec, the `symbolKind` field in `DocumentSymbolClientCapabilities`
and `WorkspaceSymbolClientCapabilities` must be set with a `valueSet`
containing all supported values. The spec does not default to all values
defined in the spec in order to preserve backwards compatibility with
older spec versions. Instead of using `None` we need to declare support
for all symbols.

In the symbol picker code we only use the `SymbolKind` type to print the
symbol name. If we get an unknown `SymbolKind` we use the empty string
and print nothing, so we satisfy the spec's requirement:

> When [symbolKind] exists the client also guarantees that it will
> handle values outside its set gracefully and falls back to a default
> value when unknown.
2026-04-10 09:19:50 -04:00
..
src lsp: Declare supported SymbolKinds in client capabilities 2026-04-10 09:19:50 -04:00
Cargo.toml build(deps): bump serde_json in the rust-dependencies group (#15084) 2026-01-07 13:01:54 -06:00
LICENSE Vendor the lsp-types crate 2024-07-28 10:41:28 -04:00
README.md Vendor the lsp-types crate 2024-07-28 10:41:28 -04:00

Helix's lsp-types

This is a fork of the lsp-types crate (gluon-lang/lsp-types) taken at version v0.95.1 (commit 3e6daee). This fork focuses usability improvements that make the types easier to work with for the Helix codebase. For example the URL type - the uri crate at this version of lsp-types - will be replaced with a wrapper around a string.