You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The update functionality in lang::rascal::upgrade::* on the current branch (remove-tree-loc-annotations) that refactors uses of annotation syntax to keyword parameter syntax is a candidate for inclusion in the Rascal LSP server:
as a lense
as a refactoring?
It has to run on the entire project to make sense as the refactoring is "dumb"; it does not follow name resolution links it just replaces all syntactical constructs in a consistent manner.
Agreed, but I would be really interested in if we could do something where we don't bother users that are either not using annotations, or have already done the migration for a specific project.
We could add a lense at the top of every module that still uses annotations, and otherwise not at all. And optionally also add the same lense command near every use of annotation syntax?
The hover help should be insightful enough to explain that the lense will rewrite the entire project. @DavyLandman Do we have hover help on lenses already?
I've already integrated a file-by-file based progress bar (it could take a few seconds if the project is big).
Yes, lets do that, only a top-level for modules that themselves use annotations (either define or use).
The hover help should be insightful enough to explain that the lense will rewrite the entire project. @DavyLandman Do we have hover help on lenses already?
Sadly -- at least the LSP -- code lenses only have a title. No way to add a hover information, so we're going to have to put that info in the title.
(If we do it using the raw VS Code api (so outside of LSP) we can give a tooltip, but that's not available via LSP.)
The
update
functionality in lang::rascal::upgrade::* on the current branch (remove-tree-loc-annotations) that refactors uses of annotation syntax to keyword parameter syntax is a candidate for inclusion in the Rascal LSP server:It has to run on the entire project to make sense as the refactoring is "dumb"; it does not follow name resolution links it just replaces all syntactical constructs in a consistent manner.
Originally posted by @jurgenvinju in usethesource/rascal#1974 (comment)
The text was updated successfully, but these errors were encountered: