-
Notifications
You must be signed in to change notification settings - Fork 92
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
Tracking lsp spec compliance (from version 3.3) #134
Comments
This comment has been minimized.
This comment has been minimized.
I would love support for this one in particular:
|
@EggBaconAndSpam I believe we are yet to add workspace support first. I think we have the types defined, but yes this would be a great feature to have! It might be nice to have a separate issue for this since there’s probably a lot of discussion needed around how the VFS/api will work around it, assuming that we’re adding deeper integration than just handlers. |
My use-case is the following: I would like to be able to create files via the "workspace/applyEdit" command; as far as I understand it workspaces as a concept are largely orthogonal to this feature. Currently the corresponding haskell-lsp-types definition only covers edits to existing files: (From WorkspaceEdit.hs)
Which corresponds to
|
I just made a pair of PRs for 3.11 and 3.12 support. They're not really adequately tested yet but hopefully this is a step in the right direction. |
This comment has been minimized.
This comment has been minimized.
Support for |
#290 should fix the last remaining place that needs |
I was having a look and it looks like lots of things in the list are done, sadly I can't check the checkboxes. |
@michaelpj i suspected most of them was done too, what about copy it in a new comment and check what do you know about? I did that in #134 (comment) |
I think it's almost all done! As far as I can see it's only some 3.16 things that are missing. Note that this is based on going through @jneira 's list not the full LSP changelog. The remaining items are two substantial ones and one easy one:
|
Oh, other things we're missing from 3.16:
|
We have semantic tokens support and call hierarchy! |
Since 3.16, there are new number types https://microsoft.github.io/language-server-protocol/specifications/specification-current/#number . We may want to provide newtype wrappers for them as using |
I'm going to try and update the checklist in the original description and remove the others! |
I wonder if this list should be also placed in docs for reference, in the README? |
I think if we were going to do that we'd want to actually list all the things we've implemented, which would be a bit tedious. I think it might be good to say which versions we have completely supported and which ones are partial, though. |
Okay, main checklist should be up-to-date. I think we're actually doing pretty well: we're missing a few things from 3.16, but that's it. |
We are also missing codeAction/resolve, which is new in 3.16. This is a blocker for implementing haskell/haskell-language-server#3534 |
We're generating the code from the metamodel now, so we should have full compliance with 3.17. |
EDITED by @jneira: we are gonna put here the main checklist of features to give it more visibility
3.3
Hover
, still needed for some others) tracked by Support MarkdownClientCapabilities #3293.11
3.12
3.13
3.14
3.15
3.16
The text was updated successfully, but these errors were encountered: