Skip to content

fix(picker): prioritize distinctive primary labels - #331

Merged
fcoury-oai merged 1 commit into
mainfrom
fcoury/picker-primary-labels
Aug 23, 2026
Merged

fix(picker): prioritize distinctive primary labels#331
fcoury-oai merged 1 commit into
mainfrom
fcoury/picker-primary-labels

Conversation

@fcoury-oai

Copy link
Copy Markdown
Collaborator

Why

Name-oriented pickers currently give repeated paths and secondary metadata enough space to truncate long labels before their distinguishing suffixes appear. Document symbols are especially difficult to scan because every row repeats the current file.

What changed

  • Prioritize primary labels in document symbols, references, themes, agent permissions, code actions, Git history, worktrees, and configuration diagnostics while preserving specialized picker and action-menu layouts.
  • Show current-document symbols as line:column; keep full workspace-symbol locations; and display references and worktrees basename-first without losing full-path filtering or highlighted parent-directory matches.
  • Expose label-first layout to editor-owned pickers, cache aligned column measurements between filter changes, remove redundant permission descriptions, and keep configuration messages, codes, settings paths, and source locations searchable.
  • Add coverage for long labels, asynchronously populated and 4,096-item picker batches, filename-first path matching, Git history/worktrees, permissions, themes, and configuration diagnostics.

How to Test

  1. Open a Rust file containing long, similarly prefixed function names and invoke Document Symbols. Expect symbol names to receive the available width first and document-local metadata to show only line:column. Invoke Workspace Symbols and confirm cross-file locations still include their paths.
  2. Invoke References for a symbol used across multiple directories. Expect filename:line:column followed by its parent directory; search a directory name and then a :line:column suffix, confirm both still match, and select a result to verify it opens the original location.
  3. Exercise Themes, Agent permission, Code actions, Git log, Worktrees, and Configuration diagnostics. Expect the distinctive name, action, commit subject, worktree basename, or diagnostic explanation to remain visible before metadata; verify Git action menus keep their existing layout and configuration diagnostics remain searchable by code/settings path.
  4. Run cargo test --lib and cargo test --test lsp_lazy --test self_check; expect 2,374 library tests, 48 LSP integration tests, and both bundled-plugin executable checks to pass.
  5. Run cargo test --lib file_picker_large_workspace_performance -- --ignored --nocapture and cargo clippy --all-targets --all-features -- -D warnings; expect the 12,000-file picker benchmark and warning-free all-feature linting to pass.

@fcoury-oai
fcoury-oai merged commit 183bf83 into main Aug 23, 2026
12 checks passed
@fcoury-oai
fcoury-oai deleted the fcoury/picker-primary-labels branch August 23, 2026 18:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant