lsp-types
lsp-types copied to clipboard
Types for communicating with a language server
Example: spec: ```json { "method": "textDocument/implementation", "result": { "kind": "or", "items": [ { "kind": "reference", "name": "Definition" }, { "kind": "array", "element": { "kind": "reference", "name": "DefinitionLink" } }, {...
Since 3.17, there's both a [meta model](https://github.com/microsoft/language-server-protocol/blob/gh-pages/_specifications/lsp/3.17/metaModel/metaModel.json) and [meta model schema](https://github.com/microsoft/language-server-protocol/blob/gh-pages/_specifications/lsp/3.17/metaModel/metaModel.schema.json), so there's the possibility of generating the protocol bindings automatically like is done for [DAP](https://github.com/Marwes/debugserver-types).
From: https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#uri > The URIs below are both valid > ``` > file:///c:/project/readme.md > file:///C%3A/project/readme.md > ``` Although not a strict requirement from spec, the reference implementation tries to percent-decode...
An empty array in `DocumentSymbolResponse` is always interpreted as `Flat([])`. When the server is known to always return a `Nested` result, this makes it inconvenient to handle the result. A...
The specification has InlineValue[] | null i.e. Option (https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_inlineValue). We have InlineValue | null i.e. Option.
This PR simply replaces all manual implementation of `Deref` and `From` with the derive_more::{From, Deref}` attribute macros. The purpose is not to say that this should be done, but it's...
~~Will conflict with #266 depending on which gets merged first.~~ Depends on #266.
Fixes: https://github.com/gluon-lang/lsp-types/issues/261 Switch alone made it possible to identify a bug in which `file://test` and `file://test/` were treated as the same.
3.17 feature: https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#notebookDocument_synchronization The Deno LSP would use this for jupyter notebook intellisense. Specifically having continuity for variables between TypeScript cells. cc @ebkalderon You excluded this from #255 because it...