-
Notifications
You must be signed in to change notification settings - Fork 29
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
Language Server with Definitions Only #2408
Conversation
Can you guys skim this and compare with the original PR, please? The definitions handler is the simplest one, and by removing the others it allowed me to skip that Plus some other stuff could be removed, like the pythonFiles thing. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks good to me. All my comments are in the other PR and are mostly for my curiosity, nothing major.
@wolmir can you please put a demo and description and open the PR that you would like to be reviewed. |
e02c8d9
to
af81ef0
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me!
This comment was marked as resolved.
This comment was marked as resolved.
The language server is adding definitions in Python files (e.g on With language serverScreen.Recording.2022-09-20.at.9.25.05.am.movExpected behaviourScreen.Recording.2022-09-20.at.9.25.51.am.movI would also expect that trying to "Go to definition" inside of the Screen.Recording.2022-09-20.at.9.29.33.am.mov |
This provider is way too simple to add any value, and even an implementation that satisfies the constraints Matt mentioned above is going to complicate the PR again and again Can we leave the definitions for later as well, and keep only the server skeleton then? |
Actually, not really, I'm already fixing it and It's not that much more complicated. Will update here shortly. |
269dae7
to
d7313b5
Compare
7465318
to
55f89a1
Compare
Code Climate has analyzed commit 55f89a1 and detected 0 issues on this pull request. The test coverage on the diff in this pull request is 91.0% (85% is the threshold). This pull request will bring the total coverage in the repository to 96.9% (0.0% change). View more on Code Climate. |
Language server for data pipelines
This PR will introduce the language server module to the extension.
Background
Data Pipelines and dvc.yaml
Data Pipelines
dvc.yaml
Pipelines
Stage command
Original issue
VSCode language support
Language extensions
Available language support list from VSCode with examples
Language Servers
Introduction
Protocol Specification
The Framework to build one
Some extension samples (Look for the ones prefixed by
lsp-*
)Demo
The main purpose of this PR is to add the language server scaffolding to the extension project.
However, we also provided a small Go to Definition feature in order to add some value for the user and as an example of how to work in the server module.
The feature works inside strings of dvc.yaml files, and will provide a set of location where the symbols referenced in those strings are found inside a project.
Screen.Recording.2022-09-19.at.14.32.59.mov