Add preview to pickers and make them resizable - #59604
Merged
Merged
Conversation
- focus problem is solved.
yara-blue
enabled auto-merge
June 19, 2026 15:30
Contributor
yara-blue
force-pushed
the
pickers-with-preview
branch
from
June 19, 2026 15:34
95c7636 to
8bc8aa6
Compare
yara-blue
force-pushed
the
pickers-with-preview
branch
3 times, most recently
from
June 19, 2026 15:48
b1fbd0b to
1c2cf05
Compare
Anthony-Eid
approved these changes
Jun 19, 2026
yara-blue
force-pushed
the
pickers-with-preview
branch
from
June 19, 2026 17:03
1c2cf05 to
23f53e1
Compare
yara-blue
force-pushed
the
pickers-with-preview
branch
from
June 19, 2026 17:32
bcc40dc to
85656ab
Compare
saranblock3
pushed a commit
to saranblock3/zed
that referenced
this pull request
Jun 23, 2026
Overhauls Zed's pickers to make them resizable and give them a preview. Closes zed-industries#8279 ### Background The most requested Zed feature has the last year has been a [Telescope like search box](zed-industries#8279) [discussion](zed-industries#22581). To understand why this is so popular we need to understand search can serve thee goals: - Navigation: fuzzy search is faster & easier then clicking in a file tree - Exploration: example, find a function by a word in its doc comment - Collecting: example, getting a list of functions to change The project search which shows results in a multibuffer is the perfect way to operate on a list of items. Navigation and Exploration need a lot of context around each result and offer fast navigation between them. For both of these live searching is also critical. The `telescope UI` is a picker with a preview to the right or below. It's offered in various editors and IDE's most famously Neovim (through the Telescope plugin), IntelliJ (natively), Helix (natively) and of course VScode (plugins) and it's _many_ forks. While having a UI like that for text search (our project search) is most requested the UX pattern is applied widely, from `find_all_references` to `bookmarks`. It enhances most pickers. Note that we have over 50 different picker modals! The community has tried to build something like this for Zed: - zed-industries#44530 - zed-industries#45307 - zed-industries#46478 - zed-industries#43790 These all became huge PR's that we could not merge for various reasons. This is a really hard feature to integrate in Zed! This PR got started as zed-industries#46478 and supercedes that. ### Design - Extend pickers to support an optional preview with minimal changes to the pickers themselves. - Make pickers resizable. - Complement the existing search do not replace it by having both UI's share the underlying search and allow freely switching between them. - Allow extending the preview to things other then files. - Maintain a clean design on all the pickers. ### Heigh level Implementation overview - Adds an `Option<Preview>` to `Picker` - Gives `PickerDelegate` a method to communicate a preview to the Picker - Overhaul the way pickers are drawn to allow for resizing them. Implemented on the `Shape` and `SizeBouds` structs. - Adds a high level way to draw the `footer` and `editor` so we do not need to change much to the pickers. - Adds a new text finder Picker - Adds a way to take a running search from project search and hand it to the text finder Picker and the other way round - Give the file finder a preview ### Next steps A more detailed list and how to help out will be added to the tracking issue for [Pickes with previews](zed-industries#56037) - Add more previews to more pickers! - Enable selectioning multiple items in pickers and performing actions on those - Open selected items in a multibuffer - Add a way to restore the last picker - Make popovers (picker attached to some menu) resizable as well ## 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 adheres to Zed's UI standards ([UX/UI](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) and [icon](https://github.com/zed-industries/zed/blob/main/crates/icons/README.md) guidelines) - [x] Tests cover the new/changed behavior - [x] Performance impact has been considered and is acceptable ## Showcase TODO (will be done post merge) --- Release Notes: - Added resizing via dragging to all picker modals. - Added a preview to the File finder, the preview can be to the right or below. - Added a Text finder picker with a preview as alternative project search UI. The search is shared and allowes switch between UIs while running. --------- Co-authored-by: ozacod <47009516+ozacod@users.noreply.github.com> Co-authored-by: ozacod <ozacod@users.noreply.github.com> Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
11 tasks
|
Is this functionality available in the editor? I mean the Telescope-like search box. |
Seems so (in the |
weihuoya
pushed a commit
to weihuoya/zed
that referenced
this pull request
Jun 25, 2026
Overhauls Zed's pickers to make them resizable and give them a preview. Closes zed-industries#8279 ### Background The most requested Zed feature has the last year has been a [Telescope like search box](zed-industries#8279) [discussion](zed-industries#22581). To understand why this is so popular we need to understand search can serve thee goals: - Navigation: fuzzy search is faster & easier then clicking in a file tree - Exploration: example, find a function by a word in its doc comment - Collecting: example, getting a list of functions to change The project search which shows results in a multibuffer is the perfect way to operate on a list of items. Navigation and Exploration need a lot of context around each result and offer fast navigation between them. For both of these live searching is also critical. The `telescope UI` is a picker with a preview to the right or below. It's offered in various editors and IDE's most famously Neovim (through the Telescope plugin), IntelliJ (natively), Helix (natively) and of course VScode (plugins) and it's _many_ forks. While having a UI like that for text search (our project search) is most requested the UX pattern is applied widely, from `find_all_references` to `bookmarks`. It enhances most pickers. Note that we have over 50 different picker modals! The community has tried to build something like this for Zed: - zed-industries#44530 - zed-industries#45307 - zed-industries#46478 - zed-industries#43790 These all became huge PR's that we could not merge for various reasons. This is a really hard feature to integrate in Zed! This PR got started as zed-industries#46478 and supercedes that. ### Design - Extend pickers to support an optional preview with minimal changes to the pickers themselves. - Make pickers resizable. - Complement the existing search do not replace it by having both UI's share the underlying search and allow freely switching between them. - Allow extending the preview to things other then files. - Maintain a clean design on all the pickers. ### Heigh level Implementation overview - Adds an `Option<Preview>` to `Picker` - Gives `PickerDelegate` a method to communicate a preview to the Picker - Overhaul the way pickers are drawn to allow for resizing them. Implemented on the `Shape` and `SizeBouds` structs. - Adds a high level way to draw the `footer` and `editor` so we do not need to change much to the pickers. - Adds a new text finder Picker - Adds a way to take a running search from project search and hand it to the text finder Picker and the other way round - Give the file finder a preview ### Next steps A more detailed list and how to help out will be added to the tracking issue for [Pickes with previews](zed-industries#56037) - Add more previews to more pickers! - Enable selectioning multiple items in pickers and performing actions on those - Open selected items in a multibuffer - Add a way to restore the last picker - Make popovers (picker attached to some menu) resizable as well ## 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 adheres to Zed's UI standards ([UX/UI](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) and [icon](https://github.com/zed-industries/zed/blob/main/crates/icons/README.md) guidelines) - [x] Tests cover the new/changed behavior - [x] Performance impact has been considered and is acceptable ## Showcase TODO (will be done post merge) --- Release Notes: - Added resizing via dragging to all picker modals. - Added a preview to the File finder, the preview can be to the right or below. - Added a Text finder picker with a preview as alternative project search UI. The search is shared and allowes switch between UIs while running. --------- Co-authored-by: ozacod <47009516+ozacod@users.noreply.github.com> Co-authored-by: ozacod <ozacod@users.noreply.github.com> Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
ilavisharma
pushed a commit
to ilavisharma/zed
that referenced
this pull request
Jun 30, 2026
…ed-industries#60114) Follow-up to zed-industries#59604 Build stats changes for `cargo clean && RUSTC_WRAPPER= CARGO_BUILD_RUSTC_WRAPPER= cargo build --timings -p zed`: ``` ===== BASE (441de84) ===== total schedule end: 161.5s units compiled: 1671 crate start dur end editor 121.3 19.6 140.9 picker 131.6 2.3 133.9 picker_preview (absent) command_palette 133.8 2.2 136.0 dev_container 133.8 5.4 139.2 onboarding 137.4 2.5 139.8 settings_profile_selector 136.1 1.8 137.8 theme_selector 134.0 2.3 136.3 ===== HEAD (PR) ===== total schedule end: 158.5s units compiled: 1672 crate start dur end editor 120.5 18.4 138.8 picker 119.5 1.7 121.2 picker_preview 131.2 1.7 132.9 command_palette 121.1 1.9 122.9 dev_container 121.0 3.3 124.3 onboarding 121.1 2.2 123.3 settings_profile_selector 121.2 1.7 122.9 theme_selector 121.2 2.0 123.2 ``` Release Notes: - N/A
|
Is there an auto-preview setting? |
|
jolutz
pushed a commit
to jolutz/zed
that referenced
this pull request
Aug 8, 2026
Overhauls Zed's pickers to make them resizable and give them a preview. Closes zed-industries#8279 ### Background The most requested Zed feature has the last year has been a [Telescope like search box](zed-industries#8279) [discussion](zed-industries#22581). To understand why this is so popular we need to understand search can serve thee goals: - Navigation: fuzzy search is faster & easier then clicking in a file tree - Exploration: example, find a function by a word in its doc comment - Collecting: example, getting a list of functions to change The project search which shows results in a multibuffer is the perfect way to operate on a list of items. Navigation and Exploration need a lot of context around each result and offer fast navigation between them. For both of these live searching is also critical. The `telescope UI` is a picker with a preview to the right or below. It's offered in various editors and IDE's most famously Neovim (through the Telescope plugin), IntelliJ (natively), Helix (natively) and of course VScode (plugins) and it's _many_ forks. While having a UI like that for text search (our project search) is most requested the UX pattern is applied widely, from `find_all_references` to `bookmarks`. It enhances most pickers. Note that we have over 50 different picker modals! The community has tried to build something like this for Zed: - zed-industries#44530 - zed-industries#45307 - zed-industries#46478 - zed-industries#43790 These all became huge PR's that we could not merge for various reasons. This is a really hard feature to integrate in Zed! This PR got started as zed-industries#46478 and supercedes that. ### Design - Extend pickers to support an optional preview with minimal changes to the pickers themselves. - Make pickers resizable. - Complement the existing search do not replace it by having both UI's share the underlying search and allow freely switching between them. - Allow extending the preview to things other then files. - Maintain a clean design on all the pickers. ### Heigh level Implementation overview - Adds an `Option<Preview>` to `Picker` - Gives `PickerDelegate` a method to communicate a preview to the Picker - Overhaul the way pickers are drawn to allow for resizing them. Implemented on the `Shape` and `SizeBouds` structs. - Adds a high level way to draw the `footer` and `editor` so we do not need to change much to the pickers. - Adds a new text finder Picker - Adds a way to take a running search from project search and hand it to the text finder Picker and the other way round - Give the file finder a preview ### Next steps A more detailed list and how to help out will be added to the tracking issue for [Pickes with previews](zed-industries#56037) - Add more previews to more pickers! - Enable selectioning multiple items in pickers and performing actions on those - Open selected items in a multibuffer - Add a way to restore the last picker - Make popovers (picker attached to some menu) resizable as well ## 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 adheres to Zed's UI standards ([UX/UI](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) and [icon](https://github.com/zed-industries/zed/blob/main/crates/icons/README.md) guidelines) - [x] Tests cover the new/changed behavior - [x] Performance impact has been considered and is acceptable ## Showcase TODO (will be done post merge) --- Release Notes: - Added resizing via dragging to all picker modals. - Added a preview to the File finder, the preview can be to the right or below. - Added a Text finder picker with a preview as alternative project search UI. The search is shared and allowes switch between UIs while running. --------- Co-authored-by: ozacod <47009516+ozacod@users.noreply.github.com> Co-authored-by: ozacod <ozacod@users.noreply.github.com> Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
jolutz
pushed a commit
to jolutz/zed
that referenced
this pull request
Aug 8, 2026
…ed-industries#60114) Follow-up to zed-industries#59604 Build stats changes for `cargo clean && RUSTC_WRAPPER= CARGO_BUILD_RUSTC_WRAPPER= cargo build --timings -p zed`: ``` ===== BASE (b3a48e3) ===== total schedule end: 161.5s units compiled: 1671 crate start dur end editor 121.3 19.6 140.9 picker 131.6 2.3 133.9 picker_preview (absent) command_palette 133.8 2.2 136.0 dev_container 133.8 5.4 139.2 onboarding 137.4 2.5 139.8 settings_profile_selector 136.1 1.8 137.8 theme_selector 134.0 2.3 136.3 ===== HEAD (PR) ===== total schedule end: 158.5s units compiled: 1672 crate start dur end editor 120.5 18.4 138.8 picker 119.5 1.7 121.2 picker_preview 131.2 1.7 132.9 command_palette 121.1 1.9 122.9 dev_container 121.0 3.3 124.3 onboarding 121.1 2.2 123.3 settings_profile_selector 121.2 1.7 122.9 theme_selector 121.2 2.0 123.2 ``` Release Notes: - N/A
5 tasks
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.
Overhauls Zed's pickers to make them resizable and give them a preview.
Closes #8279
Tracking issue: #56037
Background
The most requested Zed feature has the last year has been a Telescope like search box discussion. To understand why this is so popular we need to understand search can serve thee goals:
The project search which shows results in a multibuffer is the perfect way to operate on a list of items. Navigation and Exploration need a lot of context around each result and offer fast navigation between them. For both of these live searching is also critical.
The
telescope UIis a picker with a preview to the right or below. It's offered in various editors and IDE's most famously Neovim (through the Telescope plugin), IntelliJ (natively), Helix (natively) and of course VScode (plugins) and it's many forks.While having a UI like that for text search (our project search) is most requested the UX pattern is applied widely, from
find_all_referencestobookmarks. It enhances most pickers. Note that we have over 50 different picker modals!The community has tried to build something like this for Zed:
These all became huge PR's that we could not merge for various reasons. This is a really hard feature to integrate in Zed!
This PR got started as #46478 and supercedes that.
Design
Heigh level Implementation overview
Option<Preview>toPickerPickerDelegatea method to communicate a preview to the PickerShapeandSizeBoudsstructs.footerandeditorso we do not need to change much to the pickers.Next steps
A more detailed list and how to help out will be added to the tracking issue for Pickes with previews
Self-Review Checklist:
Showcase
TODO (will be done post merge)
Release Notes: