ebkalderon / tower-lsp

Language Server Protocol implementation written in Rust
Apache License 2.0
962 stars 54 forks source link

Add Support for Proposed Features #329

Closed sno2 closed 2 years ago

sno2 commented 2 years ago

Hello, it would be great if we could have support for proposed features via a Cargo feature flag. This is currently what gluon-lang/lsp-types is doing to allow for using the latest features in the LSP specification version 3.17 (e.g. inlay hints). They simply block all proposed features to the spec under a proposed cargo feature without any guarantees on breaking changes under this flag.

sno2 commented 2 years ago

I am also not saying that you should implement these features yourself. I am planning on implementing inlay hints because the Deno LSP is currently blocked on having inlay hints because tower-lsp does not support it. However, inlay hints are in the proposed spec so there is no roadmap for me to integrate this feature into tower-lsp which having this cargo feature-based system will help solve.

sno2 commented 2 years ago

Hey @ebkalderon thanks for working on this project! Do you have any comment on this?

ebkalderon commented 2 years ago

Sorry for the delayed response! Yeah, I wholeheartedly agree that matching the proposed feature of the lsp-types crate in this project would be a good idea, especially for supporting inlay hints and other features not yet in the official specification. I left a review on the linked PR with some minor feedback, but it looks great overall.

ebkalderon commented 2 years ago

Closed in #330 and released in 0.17.0.