Add workspace-wide Go to Symbol via # mode in quick-open - #726
Merged
mehmetozguldev merged 3 commits intoJul 18, 2026
Conversation
Lets users fuzzy-search for any symbol across the entire project and jump straight to it, opening the containing file if needed, via a new `#` prefix mode in the Cmd+P quick-open overlay (mirrors the existing file-scoped `@` mode). Rust: adds LspClient::workspace_symbol (workspace/symbol request) and advertises WorkspaceSymbolClientCapabilities during initialize(). LspManager fans the request out concurrently to every LSP client running for a workspace via tokio::task::JoinSet, tolerating per-server errors/timeouts without failing the whole call. The Tauri command flattens and dedupes results across servers into FlatWorkspaceSymbol, handling both the Flat (SymbolInformation) and Nested (WorkspaceSymbol) response shapes, including the OneOf<Location, WorkspaceLocation> variant in lsp-types 0.95. Frontend: new useWorkspaceSymbolSearch hook debounces the query and guards against stale responses (unlike @ mode, this is a live per-keystroke IPC round trip, not an in-memory filter). use-quick-open.ts wires up # mode alongside @ mode, and selecting a result pushes a jump-list entry before opening the target file/position (since results can point at files that aren't open yet).
mmiraly
marked this pull request as ready for review
July 14, 2026 21:21
mehmetozguldev
self-requested a review
July 16, 2026 21:28
Search every active language-server workspace in the current project instead of relying on the active editor buffer. Preserve Windows workspace roots and use collision-safe symbol identities across overlapping results.
Member
|
Thanks for this. I pushed a follow-up that makes workspace symbol search cover every active project root, fixes Windows workspace parsing, and prevents symbol key collisions. I also added regression tests for these cases. |
mehmetozguldev
approved these changes
Jul 18, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Lets users fuzzy-search for any symbol across the entire project and jump straight to it, opening the containing file if needed, via a new
#prefix mode in the Cmd+P quick-open overlay (mirrors the existing file-scoped@mode).LspClient::workspace_symboland advertiseWorkspaceSymbolClientCapabilitiesduringinitialize()by @mmiralyworkspace/symbolrequest out concurrently to every LSP client running for a workspace viatokio::task::JoinSet, tolerating per-server errors without failing the whole call, by @mmiralyFlatWorkspaceSymbol, handling bothFlatandNestedresponse shapes by @mmiraly#mode to quick-open with a debounced, stale-response-guarded search hook, and route selection through the existing "open file if not already a tab" navigation path (pushing a jump-list entry first) by @mmiraly