-
Notifications
You must be signed in to change notification settings - Fork 33
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
Implement IDE's breadcrumbsInfoProvider
EP
#700
Comments
It doesn't exist a specific LSP features for that, but vscode implement that by using the LSP |
Yes, that seems like the most obvious way to implement it. You'd just need to get the document symbols for the file, find the parent symbol for the current caret, and work your way up from there. Seems like it should be pretty straightforward actually. |
I played with this a bit this morning and hit a pretty solid snag. I'm going to inquire on the plugin dev discussion group whether there might be some way to do this without a true PSI tree, and I'll of course be brainstorming the same thing while waiting for responses there. UPDATE: I may be able to do it by overriding |
Well, bummer. That didn't pan out either. Here's what I just posted to the plugin dev discussion forum:
I'll post any new information I might receive here to help structure further work on this enhancement. |
Thanks Scott to investigate the issue. A thing which is very important is about performance. DocentSymbol can be very big with large file and can take time to load it. We need to take care of this constraint to avoid freezing IJ. |
The good news is that I have a local proof-of-concept with breadcrumbs working for both the breadcrumb trail (bottom of the editor tab) and sticky lines (top of the editor tab): The bad news is that while the basic breadcrumb trail went pretty smoothly, what I've had to do to make sticky lines work basically ends up resulting in a fake pseudo-PSI structure for the file based on the one created for I can certainly separate these two so that basic breadcrumb support is ready in a low-risk manner, but before doing that -- and while my other pending PRs are already working their way through the queue anyway -- I'm going to see if I can iron things out a bit so that this take pseudo-PSI tree actually gives us what we want. |
I'm not 100% sure which LSP capability would best lend itself to this EP, but the information is definitely there. Basically it would just need to be able to discern the containing declarations up to the file itself exclusive. That would enable both more detailed breadcrumbs and sticky lines in 2024.1+.
The text was updated successfully, but these errors were encountered: