Commit Graph

431 Commits

Author SHA1 Message Date
Max Brunsfeld
3eee282a6b Overhaul search bar layout
* Use a single row, instead of centering the search bar within a double-row toolbar.
* Search query controls on the left, navigation on the right
* Semantic is the final mode, for greater stability between buffer and project search.
* Prevent query editor from moving when toggling path filters
2023-08-28 14:20:09 -07:00
Max Brunsfeld
04354675ca Remove search dismiss button 2023-08-28 10:35:23 -07:00
Piotr Osiewicz
07b9c6c302
language: Make Buffer::new take an explicit ID (#2900)
See Linear description for the full explanation of the issue. This PR is
mostly a mechanical change, except for the one case where we do pass in
an explicit `next_id` instead of `model_id` in project.rs.

Release Notes:
- Fixed a bug where some results were not reported in project search in
presence of unnamed buffers.
2023-08-28 11:51:50 +02:00
Piotr Osiewicz
2495d6581e
Un serialize project search (#2857)
This is the first batch of improvements to current project search. There
are few things we can do better still, but I want to get this out in
next Preview.
Most of the slowness at this point seems to stem from updating UI too
often.

Release Notes:
- Improved project search by making it report results sooner.

---------

Co-authored-by: Julia Risley <julia@zed.dev>
2023-08-26 01:31:52 +02:00
Max Brunsfeld
404f76739c Format let-else statements 2023-08-25 10:11:32 -07:00
Kyle Caverly
bc7e9088fe
Eager Semantic Indexing Queue (#2886)
Optimization to the Semantic Indexing Engine.

We've transitioned from a framework in which the entire project tree is
walked at each index command, to an eager queuing method, in which an
initial queue of outstanding indexing work is initialized upon workspace
creation, and then subscriptions are leveraged for file change events to
continually keep an updated view on outstanding work.

This optimization contributes towards quicker user feedback, when
initializing or using Semantic Search functionality. It also opens the
doors towards better transparency across the system on outstanding
indexing work.

Release Notes:

- Refactored index operation queue to an eager queuing framework.
- Moved semantic search initialization to workspace creation.
- Adjusted rate limiting strategy on api delays to reduce time spent
waiting for rate limits.
2023-08-25 11:03:05 +02:00
KCaverly
ee97bc54cf cleaned up warnings 2023-08-25 10:38:01 +02:00
Joseph T. Lyons
8288e5591d Automatically enable project search filters when using Search Inside 2023-08-25 02:21:07 -04:00
KCaverly
0b204bfdc8 reindex semantic index when search project pane is reactivated in semantic mode
Co-authored-by: Piotr <piotr@zed.dev>
2023-08-24 13:40:04 +02:00
KCaverly
a1519e4c38 move semantic search project intialization to a subscribe event for workspace created
Co-authored-by: Piotr <piotr@zed.dev>
2023-08-24 13:14:19 +02:00
Mikayla
707ca34f19
Merge branch 'main' into disclosable-component 2023-08-23 16:30:27 -07:00
KCaverly
b72c4c576b catchup with main 2023-08-23 22:31:39 +02:00
KCaverly
e42b9e910e fix async calls on project updated entries to ensure that all files are updating appropriately 2023-08-23 22:28:30 +02:00
Nathan Sobo
d375f7992d Merge branch 'main' into divs 2023-08-22 16:35:56 -06:00
KCaverly
aabdfa210f working on initialization + index breakup 2023-08-22 14:45:27 +02:00
KCaverly
ced2b2aec3 reworked ProjectState to include additional context 2023-08-22 11:58:48 +02:00
Piotr Osiewicz
67a48ec106 project_search: use search history's current entry as a tab name.
Previously the tab name for Semantic Search was not updated, as we didn't have an active query to go off of

Co-authored-by: Kyle <kyle@zed.dev>
2023-08-21 13:30:32 +02:00
Mikayla
e946b0a2ec
Finish building out adapters and names
Document core traits
Add start for a component storybook
2023-08-19 14:40:05 -07:00
Mikayla
bd3ab82dac
Add disclosable components into channels
Rename components to more closely match their purpose
2023-08-19 05:18:53 -07:00
Mikayla
2d37128693
Actually get it compiling, omg 2023-08-18 19:02:27 -07:00
Mikayla
3178adefde
WIP: Add disclosable channels 2023-08-18 18:11:05 -07:00
Mikayla
48553d7c8f
Revert "Remove semantic search UI"
This reverts commit c0f042b39a.
2023-08-18 16:18:28 -07:00
Mikayla
4c15f26eba
Finish rename correctly 2023-08-18 15:26:36 -07:00
Mikayla
66e94aa199
Make search re-query eagerly when changing modes
Fix a bug where focus could be lost when clearing the search results
2023-08-17 17:53:58 -07:00
Mikayla
c0f042b39a
Remove semantic search UI 2023-08-17 17:28:09 -07:00
Mikayla
21fa6090b8
Add action button component for rendering the search options 2023-08-17 17:28:09 -07:00
Mikayla
8630557ece
Add action button component for rendering the search options 2023-08-17 15:30:40 -07:00
KCaverly
b7dd12e53e ensured search results are cleared appropriately while cycling modes 2023-08-17 11:11:09 +01:00
Mikayla
afebe3faf8
Merge branch 'main' into project_search_design 2023-08-17 01:56:05 -07:00
Kirill Bulatov
1938fd85e8 Do not leak pane handles 2023-08-16 23:38:11 +03:00
Kirill Bulatov
5c3d563f0f Draft quick actions bar 2023-08-16 23:38:11 +03:00
KCaverly
c99b530968 remove kill search, and restart search immediately upon cycle mode
Co-authored-by: Piotr <piotr@zed.dev>
2023-08-16 16:13:21 +01:00
KCaverly
aeda5d9842 fix semantic search panic which is created via incompatible build_search_query path
Co-authored-by: Piotr <piotr@zed.dev>
2023-08-16 15:50:54 +01:00
KCaverly
6e3e61ec95 removed commented out code 2023-08-16 14:01:53 +01:00
KCaverly
2a7df106e1 adjusted icon sizes downwards
Co-authored-by: Piotr <piotr@zed.dev>
2023-08-16 14:01:06 +01:00
KCaverly
6f78a1633d fix editor height in buffer search, but the dancing is back
Co-authored-by: Piotr <piotr@zed.dev>
2023-08-16 13:51:41 +01:00
KCaverly
a59535efa1 remove redundant and unneeded styling
Co-authored-by: Piotr <piotr@zed.dev>
2023-08-16 12:55:32 +01:00
KCaverly
d727ba18f2 Merge branch 'main' of github.com:zed-industries/zed into project_search_design 2023-08-16 12:43:04 +01:00
KCaverly
9bf227b884 remove regex keymap, and made spacing consistent between search objects
Co-authored-by: Piotr <piotr@zed.dev>
2023-08-16 12:17:59 +01:00
KCaverly
11ecb7b604 reorganize search bar, enable filters and disable select all during invalid states
Co-authored-by: Piotr <piotr@zed.dev>
2023-08-16 11:35:09 +01:00
KCaverly
32bec2e401 left align buffer search with new structure 2023-08-15 23:18:03 +01:00
KCaverly
1e8a7c7caa refactor buffer_search to reduce redundancy and simplying height management
Co-authored-by: maxbrunsfeld <max@zed.dev>
2023-08-15 20:04:14 +01:00
Mikayla
e5eed29c72
Add components example
Re-arrange generics on mouse event handler
Add TypeTag struct for dynamically tagged components
2023-08-15 03:06:43 -07:00
Piotr Osiewicz
db36a5fe2d Refactor buffer search UI rendering in a quest to find the meaning of life.
Co-authored-by: Kyle <kyle@zed.dev>
2023-08-14 15:27:57 +02:00
Piotr Osiewicz
ff4370f88e buffer: Extract columns to separate objects.
Co-authored-by: Kyle <kyle@zed.dev>
2023-08-14 15:14:57 +02:00
Piotr Osiewicz
4aa5df4cda Extract columns into separate objects.
Co-authored-by: Kyle <kyle@zed.dev>
2023-08-14 15:13:17 +02:00
Piotr Osiewicz
f4121b42da Add more padding to dismiss button.
Add a style for mode buttons group margin

Co-authored-by: Kyle <kyle@zed.dev>
2023-08-14 15:01:01 +02:00
Piotr Osiewicz
d17aba4fd3 Fix double borders in mode buttons.
Co-authored-by: Kyle <kyle@zed.dev>
2023-08-14 14:43:06 +02:00
Piotr Osiewicz
7314456685 nav_button: Fix double border between nav buttons.
Co-authored-by: Kyle <kyle@zed.dev>
2023-08-14 14:33:40 +02:00
Piotr Osiewicz
b72a42ec29 buffer: fix alignment of editor icon.
Co-authored-by: Kyle <kyle@zed.dev>
2023-08-14 14:31:14 +02:00
Piotr Osiewicz
ae229d4c52 Align "Select all" to the center 2023-08-14 12:31:11 +02:00
Piotr Osiewicz
94ac84a908 Fix borders being cut off in buffer search 2023-08-14 12:28:35 +02:00
Piotr Osiewicz
8bb3bfa6a8 Style buffer modes like project modes 2023-08-14 12:25:59 +02:00
Piotr Osiewicz
1c35db7e97 project_search: style filters button like the rest of the buttons 2023-08-14 12:20:59 +02:00
Piotr Osiewicz
d37ebe7841 Add option_button_height style 2023-08-14 12:10:37 +02:00
Piotr Osiewicz
9121178ba0 project_search: Swap places of case-sens/whole-word 2023-08-14 11:59:42 +02:00
Piotr Osiewicz
b586601cab Style nav buttons 2023-08-13 01:29:35 +02:00
Piotr Osiewicz
e151555542 Style dismiss button.
Fix clipping in nav buttons and mode buttons. Add missing borders to outskirts of mode buttons.
2023-08-13 01:06:35 +02:00
Piotr Osiewicz
c6425b36da chore: remove redundant mut 2023-08-12 22:20:22 +02:00
Piotr Osiewicz
94f1d8281a Remove buttonside, use new corner_radii instead 2023-08-12 22:18:27 +02:00
Piotr Osiewicz
6be73e46bf Merge branch 'main' into project_search_design 2023-08-12 21:57:21 +02:00
Piotr Osiewicz
c0356fdf16 Decrease row count for buffer search bar 2023-08-11 23:47:16 +02:00
Piotr Osiewicz
0a0314eec9 Shrink project search + decrease padding 2023-08-11 18:19:45 +02:00
Piotr Osiewicz
e4c593c2fb chore: fix compiler warning 2023-08-11 17:09:26 +02:00
Piotr Osiewicz
799278e296 Add row_height 2023-08-11 17:02:25 +02:00
Piotr Osiewicz
9e9b3093a9 Style mode/option buttons 2023-08-11 16:32:15 +02:00
Piotr Osiewicz
3d103546bc Make ButtonSide respect corner_radius 2023-08-11 14:44:22 +02:00
Piotr Osiewicz
b8df26b194 mode_button: get rid of borders before creating a label 2023-08-11 13:26:22 +02:00
Piotr Osiewicz
a9a2d281c3 Make ButtonSide scale with corner_radius 2023-08-11 13:10:56 +02:00
Nathan Sobo
0bf607cd2d WIP 2023-08-10 10:26:48 -06:00
Piotr Osiewicz
096e293c17 Fix rounding artifacts of nav buttons 2023-08-10 15:26:05 +02:00
Piotr Osiewicz
da3a4174ce Bump row_count for buffer search 2023-08-10 13:01:20 +02:00
Piotr Osiewicz
b2f773e91d Increase padding on search 2023-08-10 12:57:12 +02:00
Piotr Osiewicz
c58cf396d3 Add cycle mode command for buffer search 2023-08-09 18:02:21 +02:00
Piotr Osiewicz
17d505bb7b Reset search index on mode change 2023-08-09 14:25:56 +02:00
Piotr Osiewicz
28a57662af buffer: Add magnifying glass icon 2023-08-09 13:47:48 +02:00
Piotr Osiewicz
6fbef9f3c7 chore: update fn paint 2023-08-09 12:33:14 +02:00
Piotr Osiewicz
7ef5656f6a Merge branch 'main' into project_search_design 2023-08-09 12:30:48 +02:00
Piotr Osiewicz
8b033223fb Go back to previous mode on rejection of semantic indexing 2023-08-09 12:28:15 +02:00
Piotr Osiewicz
d34da2db69 fix dismiss tooltip for project search 2023-08-09 01:37:17 +02:00
Piotr Osiewicz
22f630e985 chore: remove unused function 2023-08-09 01:30:45 +02:00
Piotr Osiewicz
f978acdd34 buffer: use shared func for nav button rendering 2023-08-09 01:29:22 +02:00
Piotr Osiewicz
e2b8e6ce63 chore: fix compiler warnings 2023-08-09 01:16:24 +02:00
Piotr Osiewicz
a583d1c6cc Do not display match count when query is empty 2023-08-09 01:15:17 +02:00
Piotr Osiewicz
b282bdfe5a buffer: finish up moving things around 2023-08-09 01:09:07 +02:00
Piotr Osiewicz
e1724daf35 buffer: WIP style sides of buffer search 2023-08-09 00:38:50 +02:00
Piotr Osiewicz
a7bd05ec0a buffer: use icons for search options 2023-08-09 00:16:12 +02:00
Nathan Sobo
b2d9ccc0a2 Move more window methods off AsyncAppContext 2023-08-08 11:38:07 -06:00
Nathan Sobo
d896d89842 Store an AnyWindowHandle in WindowContext 2023-08-08 11:08:37 -06:00
Piotr Osiewicz
2c570fbb72 Move option button rendering to search_bar 2023-08-08 16:26:19 +02:00
Piotr Osiewicz
343e9d080e Finish migration to modes for buffer search 2023-08-08 15:57:07 +02:00
Piotr Osiewicz
fecea03c90 Add modes to buffer search 2023-08-08 15:25:32 +02:00
Piotr Osiewicz
0374fdfd06 Move mode cycling to mode module 2023-08-08 15:20:34 +02:00
Piotr Osiewicz
7547fa2679 Move mode rendering to a search_bar module 2023-08-08 15:11:32 +02:00
Piotr Osiewicz
31a56720d9 Move nav buttons generation to search_bar 2023-08-08 14:56:21 +02:00
Piotr Osiewicz
c53554ead3 Remove SearchOptions::REGEX.
A bit WIP as it awaits migration of buffer search to modes
2023-08-08 14:42:11 +02:00
Piotr Osiewicz
0ca29e56c2 Update keybinds to use new names 2023-08-08 14:33:51 +02:00
Piotr Osiewicz
d497f279f0 Move ButtonSide to new module 2023-08-08 14:24:26 +02:00
Piotr Osiewicz
95891d28d8 Move SearchMode and SearchHistory to separate modules 2023-08-08 14:14:39 +02:00
Nathan Sobo
f0da6b05fd Remove TestAppContext::add_view
Instead, we now call this on window handles.
2023-08-07 22:46:48 -06:00