-
Notifications
You must be signed in to change notification settings - Fork 124
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
Syntactic and Semantic movement shortcuts #1360
Comments
Looks like a very interesting proposal, but it's missing a plan for the client side. This might sound obvious, but it's worth re-iterating that custom requests only provide value to users when there's clients that make use of them. Without the client side support, custom requests are just dead code. For all the other custom requests that we've added, there was concrete motivation and an implementation in vscode quickly followed. Do you plan to implement client side support for using these navigtion requests? If so, describing how those might look like will make this feature far more compelling. |
@rgrinberg Yes as a matter of fact we do have plans for the client integrations, at least for VS code. At this moment, we are also considering the possibility of using code actions and a custom command which is general and then each client can implement this general command which can just be a simple "go to location" implementation, which we believe is easier to do as most clients already have some manner of moving the cursor. |
Okay, that's reassuring. It seems like your proposal of a "go to location" (seems very similar to |
Yes, we are still exploring the various options to improve navigation and "code-actions + go-to-location" would be an alternative to the custom query that is more lightweight to support from the clients side. The |
Intro
Limitations of the Standard LSP Protocol
LSP protocol contains four specifications for code navigation:
Advanced Navigation from Merlin
Merlin finetunes navigation by understanding the semantics of OCaml code, providing features that go beyond standard navigation:
This functionality in Merlin is provided by the Jump command.
Using Code Actions
Using a CodeAction in combination with LSP's ShowDocumentRequest, we can be able to move the cursor within the same file to any position.
The text was updated successfully, but these errors were encountered: