-
Notifications
You must be signed in to change notification settings - Fork 1.1k
remove DottyIDE #14589
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
remove DottyIDE #14589
Conversation
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! As for the DottyLanguageServer, most of that code was copied over to Metals, however it is still used in the tests. Some of those tests could probably be removed, but others I would rather keep as they test some of the interactive features.
One test we could for sure remove additionally is the worksheet tests, since they are no longer used and instead we use the Metals worksheets. For others we could probably simplify the language server code and move some handling of hovers/completions etc. to the tests themselves. That is a bit more work though.
Okay — rather than increase the ambition level here any further, I'd say those additional removals could be considered future work. Not sure if anyone else should approve this PR or we can go ahead and merge it. @smarter you did the most work on DottyIDE, I think. Do you know of anything else you believe this PR really ought to remove? |
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.
LGTM. I think ideally the tests should ever be changed to only depend on dotty.tools.dotc.interactive or moved to Metals (and we should have Metals run in our community build to check them).
One of the important test suites in here is the hover tests and this got me thinking a bit yesterday. We do quite a bit of stuff in Metals to improve the hover experience even though the base is from the dotty language server. Instead of ever trying to move that functionality to the tests, what if we just moved it to interactive? I think it'd be pretty cool to handle hovers like we do completions. Imagine having a |
You have my blessings to tweak interactive in any way you deem convenient 😁 |
I think it would be great to move a bunch of stuff into interactive 👍 |
as per @smarter's suggestion on #14542
I'm approaching this somewhat blindly, not sure what my chances of coming up with a finished PR would be. Regardless, I thought it would be good to get the ball rolling.
I have not dealt with these areas of the build before. So this will need review, certainly, and may need refinement. In particular, it wasn't clear to me how to handle
DottyLanguageServer.scala
, especiallyIDE_CONFIG_FILE
— is all of the code in that file around drivers and configs still needed at all? 🤷@tgodzik you're responsible for a number of the recent commits in the
language-server
directory, perhaps you could have a look?