Skip to content

tab_switcher: Select first buffer in the list when a query is enabled - #58424

Merged
ChristopherBiscardi merged 2 commits into
zed-industries:mainfrom
maignal:main
Jun 4, 2026
Merged

tab_switcher: Select first buffer in the list when a query is enabled#58424
ChristopherBiscardi merged 2 commits into
zed-industries:mainfrom
maignal:main

Conversation

@maignal

@maignal maignal commented Jun 3, 2026

Copy link
Copy Markdown
Contributor

…tered (#58420)

Self-Review Checklist:

  • I've reviewed my own diff for quality, security, and reliability
  • Unsafe blocks (if any) have justifying comments
  • The content is consistent with the UI/UX checklist
  • Tests cover the new/changed behavior
  • Performance impact has been considered and is acceptable

Closes #58420

Release Notes:

  • Reset selected_index to 0 whenever the query goes from empty to non-empty, ensuring the first (best) fuzzy match is always highlighted when the user starts typing.
  • This is handled in update_matches() and update_all_pane_matches() by checking whether the query is empty before applying the reset.

@cla-bot cla-bot Bot added the cla-signed The user has signed the Contributor License Agreement label Jun 3, 2026
@zed-community-bot zed-community-bot Bot added the first contribution the author's first pull request to Zed. NOTE: the label application is automated via github actions label Jun 3, 2026
@maignal

maignal commented Jun 3, 2026

Copy link
Copy Markdown
Contributor Author

I also wanted to mention that I'm making this PR mainly because I'm an active use of the tab switcher feature and this fix is the one I'm currently using in my version Zed.
I find that, in large projects, the file finder (Ctrl+P) sometimes requires you to type additional characters to filter out the large number of unrelated files. Meanwhile, the tab switcher is much quicker since it only fuzzy searches through the opened tabs.

@MrSubidubi MrSubidubi changed the title fix(tab_switcher): select first buffer in the list when a query is en… tab_switcher: Select first buffer in the list when a query is enabled Jun 3, 2026

@ChristopherBiscardi ChristopherBiscardi left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This makes sense to me and behaves as expected. The logic for dealing with the query is very similar to the logic used inside of comput_selected_index when there are no matches, but the query is only accessible within the parent function so it makes sense to deal with it there.

@ChristopherBiscardi
ChristopherBiscardi added this pull request to the merge queue Jun 4, 2026
Merged via the queue into zed-industries:main with commit 03d4536 Jun 4, 2026
33 checks passed
@ChristopherBiscardi ChristopherBiscardi self-assigned this Jun 4, 2026
TomPlanche pushed a commit to TomPlanche/zed that referenced this pull request Jun 8, 2026
…zed-industries#58424)

…tered (zed-industries#58420)

Self-Review Checklist:

- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [x] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable

Closes zed-industries#58420

Release Notes:
- Reset `selected_index` to 0 whenever the query goes from empty to
non-empty, ensuring the first (best) fuzzy match is always highlighted
when the user starts typing.
- This is handled in `update_matches()` and `update_all_pane_matches()`
by checking whether the query is empty before applying the reset.
This was referenced Jun 18, 2026
jonx pushed a commit to jonx/zed-aros that referenced this pull request Jul 17, 2026
…zed-industries#58424)

…tered (zed-industries#58420)

Self-Review Checklist:

- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [x] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable

Closes zed-industries#58420

Release Notes:
- Reset `selected_index` to 0 whenever the query goes from empty to
non-empty, ensuring the first (best) fuzzy match is always highlighted
when the user starts typing.
- This is handled in `update_matches()` and `update_all_pane_matches()`
by checking whether the query is empty before applying the reset.
jolutz pushed a commit to jolutz/zed that referenced this pull request Aug 8, 2026
…zed-industries#58424)

…tered (zed-industries#58420)

Self-Review Checklist:

- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [x] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable

Closes zed-industries#58420

Release Notes:
- Reset `selected_index` to 0 whenever the query goes from empty to
non-empty, ensuring the first (best) fuzzy match is always highlighted
when the user starts typing.
- This is handled in `update_matches()` and `update_all_pane_matches()`
by checking whether the query is empty before applying the reset.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cla-signed The user has signed the Contributor License Agreement first contribution the author's first pull request to Zed. NOTE: the label application is automated via github actions

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Best fuzzy found buffer match is not atomically selected in the Tab Switcher window

2 participants