-
-
Notifications
You must be signed in to change notification settings - Fork 391
Go to definition doesn't work for record syntax #1102
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
Comments
Thanks for the bug report, that definitely sounds like something that we should fix. If you want to take a look yourself, my guess would be that getSrcSpanInfos is the culprit. |
I get definitions for the |
Has SYB been proscribed? |
SYB seems to be responsible for a lot of problems, e.g. haskell/haskell-ide-engine#1371. It's not fast and it is memory hungry. That said, it is concise and if it can be formulated properly, it's probably correct by construction. |
I got tired of trying to verify manually what works and what does not, so I wrote some automated tests, which you can find here. The one entitled "plain data constructor" passes while the one entitled "record data constructor" fails, which seems to agree with what @newhoggy observes above, as well as my own observations in both VSCode and Emacs; but it disagrees with what @ndmitchell observes above.
Removing line 122, has no observable effect on any of the tests I have written. (I have confirmed that removal of lines 120, 121, or 147 does break some of my tests). |
I'd like to have a go, but would benefit immensely from some pointers on how best to get stuck in. |
@mpickering ported the hie code over as part of https://github.com/digital-asset/ghcide/issues/101#issuecomment-534498465. If we can use that implementation rather than our own that makes most sense - less code = better. |
I have wanted to experiment with geniplate, in |
I've just test it in hls and works for me, i guess it should work in ghcide too. |
Doesn't work for constructor
Doesn't work for fields
The text was updated successfully, but these errors were encountered: