Add LSP call hierarchy modal - #53239
Conversation
call_hierarchy_panel: Fix some comments call_hierarchy_panel: Refactor rendering call_hierarchy_panel: Refactor cached entry
|
I've been rebasing this change for about a month - what's the chance we can get some discussion going about whether this is the right approach, and what we'd need to do to get it merged? |
Resolve conflicts in editor.rs (keep upstream module split and ShowCallHierarchy export) and zed.proto (renumber call hierarchy messages after upstream SearchCommits/GetInitialGraphData). Co-authored-by: Cursor <cursoragent@cursor.com>
Resolve proto conflicts by keeping upstream document links alongside call hierarchy messages, with renumbered field IDs. Co-authored-by: Cursor <cursoragent@cursor.com>
|
I wanted to pick this up myself, incredibly disappointing that there's no discussion over it. |
|
Thanks for working on this. Do you think it would be possible to split this PR into a few smaller, more focused chunks? This is a fairly large change, which makes it difficult to review in one go. Breaking it down would give us a better path toward landing the changes incrementally. |
|
I can split this into a stack of changes if it helps, but 90% of the review is going to be lsp_command.rs and lsp_store.rs either way. The rest is pretty much all boilerplate (panel layout, settings, etc) |
Resolve conflicts in zed.proto (renumber call hierarchy proto fields), remote_editing_tests.rs (keep both call hierarchy and code action tests), and page_data.rs (keep call hierarchy settings section with updated git panel). Co-authored-by: Cursor <cursoragent@cursor.com>
|
@smitbarmase I don't have the necessary access to upstream stacked PRs, so I've sent the first one upstream, and stacked the rest in my fork. Appreciated if you could advise on the best way to get these in front of your team: |
|
Thank you a lot for the work and sorry for such late review: hoped that the original opinions could be discussed with the person who had them. I think I can pick it up from here, but welcome to add more input if you want to, or test it. |
c209c24 to
971c820
Compare
Store call hierarchy items with their buffer, originating server id, and anchor ranges, routing follow-up queries to the item's server only, which also fixes remote incoming/outgoing calls always failing due to a missing server id. Remove the dock panel in favor of the modal picker; drop its settings, keymaps, icons, and the editor::ShowCallHierarchy action, and add app menu entries and docs for ShowIncomingCalls and ShowOutgoingCalls.
971c820 to
d6b99d5
Compare
|
Happy to see movement on this! Let me know if there is anything I can do to help |
|
Thank you, I would appreciate some testing, any time you feel like it and once before the actual merge: the idea is to have no flickering/odd text trimming, etc. usability issues. |
3c733d0 to
1f6204b
Compare
SomeoneToIgnore
left a comment
There was a problem hiding this comment.
Hey @swiftcoder — I think I am over with the polish.
As stated, unfortunately, this branch won't include the panel as another huge chunk of work and, most importantly, design (that I cannot provide as good as the code changes).
Hopefully this lies grounds for the further work — would appreciate if you can test it and report anything that you find odd or buggy: posting here or creating new issues, anything goes.
Have been using it for some time and seems like a good start to me, hence will merge.
Thanks a lot for you patience with all this!
<img width="1128" height="953" alt="image" src="https://github.com/user-attachments/assets/b2017c0a-e25a-49d7-9342-d074014d085c" /> Closes zed-industries#14203 Release Notes: - Initial Call Hierarchy support in Zed --------- Co-authored-by: Alexey Olshanskiy <gh@aohoy.dev> Co-authored-by: Cursor <cursoragent@cursor.com> Co-authored-by: Kirill Bulatov <kirill@zed.dev>
<img width="1128" height="953" alt="image" src="https://github.com/user-attachments/assets/b2017c0a-e25a-49d7-9342-d074014d085c" /> Closes zed-industries#14203 Release Notes: - Initial Call Hierarchy support in Zed --------- Co-authored-by: Alexey Olshanskiy <gh@aohoy.dev> Co-authored-by: Cursor <cursoragent@cursor.com> Co-authored-by: Kirill Bulatov <kirill@zed.dev>
<img width="1128" height="953" alt="image" src="https://github.com/user-attachments/assets/b2017c0a-e25a-49d7-9342-d074014d085c" /> Closes zed-industries#14203 Release Notes: - Initial Call Hierarchy support in Zed --------- Co-authored-by: Alexey Olshanskiy <gh@aohoy.dev> Co-authored-by: Cursor <cursoragent@cursor.com> Co-authored-by: Kirill Bulatov <kirill@zed.dev>
Closes #14203
Release Notes: