lsp-types
lsp-types copied to clipboard
Types for communicating with a language server
The `clog` setup might be broken. Looks like its just repeating 0.72 in CHANGELOG.md. I'll try to poke around as to why that's happening.
I know `Url` is just reexported by `lsp-types` but I think the issue is more relevant to this crate than to the `url` crate (since it affects this crate's users),...
We currently model inheritance using `#[serde(flatten)]` like below: ```rust #[derive(Debug, PartialEq, Clone, Deserialize, Serialize)] #[serde(rename_all = "camelCase")] pub struct CompletionParams { // This field was "mixed-in" from TextDocumentPositionParams #[serde(flatten)] pub...
lib.rs is about to be over 3k lines with #79 so we should really break it up in a few submodules. Might make sense to break it up roughly in...
`FoldingRange.kind` is supposed to accept a string and not just a `FoldingRangeKind`: https://microsoft.github.io/language-server-protocol/specification#textDocument_foldingRange
Since all the types in this crate only hold `String` this library copies more data than it needs it some situations (both serializing and deserializing). Probably the RPC overhead will...
https://github.com/gluon-lang/lsp-types/blob/e3afaf28aa0923f98a73e21a599e863e8c23e2c3/src/lsif.rs#L263 https://microsoft.github.io/language-server-protocol/specifications/lsif/0.6.0/specification/ ![msedge_yp5YORuwrP](https://user-images.githubusercontent.com/2402369/191345297-545d7fff-b323-48d1-81f6-ec1dd7d18457.png) This causes some LSIF parsers to throw errors. The property should be renamed to `shard` to match the spec, possibly with a `#[serde(rename = "shard")` attribute to...
3.17 introduces `PositionEncodingKind` to indicate how positions are encoded (utf-8, utf-16, or utf-32). There are also corresponding fields in the client (`positionEncodings`) and server (`positionEncoding`) capabilities to negotiate which to...
The field `rootUri` has been marked as deprecated in the specification: https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#initialize Although this is not the case for these types. I am not sure which version the crate is...