Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support all new 3.17 features (except for notebooks) #255

Merged
merged 17 commits into from
Feb 8, 2023

Conversation

ebkalderon
Copy link
Contributor

@ebkalderon ebkalderon commented Jan 19, 2023

Added

  • Add support for textDocument/inlineValue.
  • Add new features to workspace/symbols and support workspaceSymbol/resolve.
  • Add support for HTML tags in MarkdownClientCapabilities.
  • Add support for collapsed text in folding.
  • Add support for trigger kinds in code action requests.
  • Add support for position encoding (not sure if safe to remove support for unofficial UTF8-offsets extension now?)
  • Add support for relative patterns in FileSystemWatchers
  • Add support for type hierarchies.
  • Stabilize CodeActionKind::SOURCE_FIX_ALL.

Changed

  • Stabilize LSPAny, LSPObject, and LSPArray type aliases.
  • Stabilize support for textDocument/inlayHint.
  • Stabilize all parts of semantic token support marked proposed.
  • Stabilize completion label item details support.
  • Stabilize support for insert text mode on CompletionItems.
  • Stabilize stale client request handling capability.

Fixed

  • Add missing CompletionList client capability.
  • Add some missing API documentation.
  • Update protocol reference links in README.md.

There was a lot of work done here to bring lsp-types to actually support the 3.17.0 specification (see official changelog). I chose to not add in notebook support myself, since there seems to be a draft PR already open which tackles that (#229). This work should take care of everything else, though.

Closes #238.
Closes #251.
Closes #252.
Blocks ebkalderon/tower-lsp#352.

src/request.rs Outdated Show resolved Hide resolved
@ebkalderon ebkalderon force-pushed the stabilize-several-3-17-features branch from d602cd1 to 9843711 Compare January 23, 2023 04:18
@ebkalderon
Copy link
Contributor Author

@Marwes Just wanted to send a gentle ping requesting a review. Sorry to do this directly; I only wanted to let you know that there are several downstream projects currently awaiting LSP 3.17.0 support to land. Any feedback would be appreciated. Thanks! ❤️

@krobelus
Copy link
Contributor

I sometimes point my project to a temporary fork of lsp-types, cargo makes it easy to use git dependencies.

@ebkalderon
Copy link
Contributor Author

ebkalderon commented Jan 24, 2023

@krobelus I do too, but only on personal projects or in binary-only crates. I'd hardly like to do that in tower-lsp as that could potentially break downstream users of my library who either (a) depend on lsp-types directly (despite tower-lsp providing a re-export of lsp-types expressly for the purpose of reducing breakage) and/or (b) rely on other third-party libraries which depend on published versions of lsp-types.

I could put a big disclaimer on such a release, requesting developers of binary crates depending on tower-lsp add a [patch] at the top level of their Cargo workspace forcing all instances of lsp-types in the dependency tree to point towards the Git repo, but this would be very disruptive. I would like to avoid that, if I can help it.

@Marwes Marwes merged commit 2bea2cf into gluon-lang:master Feb 8, 2023
@ebkalderon ebkalderon deleted the stabilize-several-3-17-features branch February 8, 2023 17:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

support inline values? Bring inlay hints out of "proposal" feature
3 participants