zed/crates
Kirill Bulatov 28271a9a36
Display buffer/project search entries in the outline panel (#16589)
Prototypes a way to display new entities in the outline panel, making it
less outline.
The design is not final and might be adjusted, but the workflow seems to
be solid enough to keep and iron it out.

* Now, when any project search buffer is activated (multi buffer mode),
or buffer search is open (singleton buffer mode, but is available for
search usages multi buffer too — in that case buffer search overrides
multi buffer's contents display), outline panel displays all search
matches instead of the outline items.

Outline items are not displayed at all during those cases, unless the
buffer search is closed, or a new buffer gets opened, of an active
buffer search matches zero items.


https://github.com/user-attachments/assets/4a3e4faa-7f75-4522-96bb-3761872c753a


* For the multi buffer mode, search matches are grouped under
directories and files, same as outline items

![Screenshot 2024-08-21 at 14 55
01](https://github.com/user-attachments/assets/6dac75e4-be4e-4338-917b-37a32c285b71)


* For buffer search , search matches are displayed one under another


![image](https://github.com/user-attachments/assets/9efcff85-d4c7-4462-9ef5-f76b08e59f20)


For both cases, the entire match line is taken and rendered, with the
hover tooltip showing the line number.
So far it does not look very bad, but I am certain there are bad cases
with long lines and bad indents where it looks not optimal — this part
most probably will be redesigned after some trial.
Or, maybe, it's ok to leave the current state if the horizontal
scrollbar is added?

Clicking the item navigates to the item's position in the editor.
Search item lines are also possible to filter with the outline panel's
filter input.

* Inline panel is now possible to "pin" to track a currently active
editor, to display outlines/search results for that editor even if
another item is activated afterwards:


![image](https://github.com/user-attachments/assets/75fb78c3-0e5f-47b4-ba3a-485c71d7e342)

This is useful in combination with project search results display: now
it's possible to leave the search results pinned in the outline panel
and jump to every search result and back.

If the item the panel was pinned to gets closed, the panel gets back to
its regular state, showing outlines/search results for a currently
active editor.


Release Notes:

- Added a way to display buffer/project search entries in the outline
panel
2024-08-25 21:40:02 +03:00
..
activity_indicator activity indicator: Do not show indicators background when there's no state (#16737) 2024-08-23 13:04:54 +02:00
anthropic Add tracing needed for LLM rate limit dashboards (#16388) 2024-08-16 17:52:31 -04:00
assets Allow prompt templates to be overridden in the zed configuration directory (#15887) 2024-08-06 19:30:48 -06:00
assistant Rename is_local to is_local_or_ssh (#16717) 2024-08-22 21:32:51 -06:00
assistant_slash_command Fix more bugs in files (#16241) 2024-08-16 10:09:38 -07:00
audio Make tests less noisy (#12463) 2024-05-29 18:06:45 -07:00
auto_update Add is_staff and destination to download events (#15445) 2024-07-29 14:21:29 -04:00
breadcrumbs breadcrumbs: Use early return in set_active_pane_item (#14691) 2024-07-17 18:58:44 -04:00
call chore: Fix clippy violations from Cargo.toml (#15216) 2024-07-25 20:22:01 +02:00
channel Update http crate name (#15041) 2024-07-23 15:01:05 -07:00
cli Add option to pipe from stdin on cli (#16084) 2024-08-22 13:31:58 -06:00
client Fix impersonation in local development (#16755) 2024-08-23 10:49:34 -04:00
clock Lay the groundwork for collaborating on assistant panel (#13991) 2024-07-10 17:36:22 +02:00
collab collab: Add lifetime spending limit for LLM usage (#16780) 2024-08-23 16:41:16 -04:00
collab_ui collab panel: Unfocus filter editor on escape (#16579) 2024-08-21 09:38:12 +02:00
collections gpui: Add SVG rendering to img element and generic asset cache (#9931) 2024-03-29 17:09:49 -07:00
command_palette command_palette: Remove project as a dependency in Cargo.toml (#16082) 2024-08-12 13:01:32 -04:00
command_palette_hooks Introduce InlineCompletionProvider (#9777) 2024-03-26 13:28:06 +01:00
context_servers context_servers: Log errors from detached context server tasks (#16377) 2024-08-16 13:50:19 -07:00
copilot Fix manual copilot with show_inline_completions: false (#16621) 2024-08-21 20:27:19 -06:00
db Replace lazy_static with std::sync::LazyLock (#16066) 2024-08-20 14:27:33 -04:00
dev_server_projects remoting: Allow Add/Remove remote folder (#14532) 2024-07-16 12:01:59 -06:00
diagnostics assistant: Polish /workflow and steps UI (#15936) 2024-08-08 15:46:33 +02:00
editor Display buffer/project search entries in the outline panel (#16589) 2024-08-25 21:40:02 +03:00
extension Fix more bugs in files (#16241) 2024-08-16 10:09:38 -07:00
extension_api zed_extension_api: Start a list of pending changes (#16305) 2024-08-15 13:10:46 -04:00
extension_cli Provide user agent when performing HTTP requests (#15470) 2024-07-30 11:12:37 +02:00
extensions_ui Feature/fallback fonts (#15306) 2024-07-26 16:42:21 -07:00
feature_flags Add logic for closed beta LLM models (#16482) 2024-08-19 11:09:52 -07:00
feedback Rename is_local to is_local_or_ssh (#16717) 2024-08-22 21:32:51 -06:00
file_finder Rename is_local to is_local_or_ssh (#16717) 2024-08-22 21:32:51 -06:00
file_icons chore: Clean up allocs around project panel (#15422) 2024-07-29 14:21:41 +02:00
fs fs: Fix atomic_write failing on windows if destination is in different drive than the temp dir (#16648) 2024-08-22 12:59:00 -06:00
fsevent Retain run loop (#11241) 2024-04-30 23:31:59 -06:00
fuzzy Improve slash commands (#16195) 2024-08-13 23:06:07 -07:00
git Replace lazy_static with std::sync::LazyLock (#16066) 2024-08-20 14:27:33 -04:00
git_hosting_providers Update http crate name (#15041) 2024-07-23 15:01:05 -07:00
go_to_line Show correct number of characters selected (#16420) 2024-08-18 02:24:32 +03:00
google_ai Authorize access to language model providers based on country (#15859) 2024-08-06 11:49:04 -04:00
gpui gpui: Send correct kill signal on Linux (#16797) 2024-08-24 22:11:06 +03:00
gpui_macros Use US English spelling of "behavior" and "customize" (#15117) 2024-07-24 16:36:01 -04:00
headless remoting: Allow Add/Remove remote folder (#14532) 2024-07-16 12:01:59 -06:00
html_to_markdown Publish html_to_markdown (#13718) 2024-07-01 17:18:58 -04:00
http_client Introduce a separate backend service for LLM calls (#15831) 2024-08-05 20:26:21 -04:00
image_viewer Add text_color helper for tab contents (#14737) 2024-07-18 09:27:05 -04:00
indexed_docs indexed_docs: Normalize - in crate names to _ when computing rustdoc output path (#16234) 2024-08-14 12:37:02 -04:00
inline_completion_button inline_completion_button: Do some cleanup (#15849) 2024-08-06 08:55:27 -04:00
install_cli Fix flickering (#9012) 2024-03-11 10:45:57 +01:00
journal Add the ability for extensions to provide language settings (#10296) 2024-04-08 19:17:12 -04:00
language language: Do not fetch diagnostics when iterating over text without language awareness (#16824) 2024-08-25 18:02:54 +02:00
language_model gpui: Add truncate and text_ellipsis to TextStyle (#14850) 2024-08-23 14:02:51 -04:00
language_selector Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
language_tools Rename is_local to is_local_or_ssh (#16717) 2024-08-22 21:32:51 -06:00
languages Add injections for GraphQL template literals and function calls (#16368) 2024-08-23 12:36:45 -06:00
live_kit_client live_kit_client: Suppress clippy::arc_with_non_send_sync (#16298) 2024-08-15 11:46:43 -04:00
live_kit_server live_kit_server: Re-remove protocol submodule (#15317) 2024-07-26 21:10:56 -04:00
lsp chore: Bump Rust version to 1.80 (#15186) 2024-07-25 22:48:42 +02:00
markdown Fix a panic when diagnostics contain multiple links (#16601) 2024-08-21 11:18:43 -06:00
markdown_preview markdown preview: Detect language of buffer correctly (#15961) 2024-08-08 11:53:37 +02:00
media linux: Better GPU debugging (#14706) 2024-07-23 09:56:45 -06:00
menu open picker (#14524) 2024-07-15 17:04:15 -06:00
multi_buffer assistant: Undo workflow step when buffer is discarded (#16465) 2024-08-19 18:42:49 +02:00
node_runtime windows: Fix eslint installation (#15331) 2024-07-27 10:24:05 -04:00
notifications chore: Remove a bunch of unused structs (#16139) 2024-08-13 01:43:19 +02:00
ollama Make LanguageModel::use_any_tool return a stream of chunks (#16262) 2024-08-14 18:02:46 -07:00
open_ai Add max_output_tokens to OpenAI models and integrate into requests (#16381) 2024-08-21 00:39:10 -04:00
outline Handle buffer diff base updates and file renames properly for SSH projects (#14989) 2024-07-23 11:32:37 -07:00
outline_panel Display buffer/project search entries in the outline panel (#16589) 2024-08-25 21:40:02 +03:00
paths Improve dev experience for built-in prompts (#16413) 2024-08-17 12:28:53 -06:00
performance Add a setting to show time to first window draw and frames per second in status bar (#16422) 2024-08-18 15:22:19 -06:00
picker assistant: Add the "create your command" item (#16467) 2024-08-19 12:29:16 -03:00
prettier Lookup prettier more leniently (#14403) 2024-07-13 21:59:14 +03:00
project Rename is_local to is_local_or_ssh (#16717) 2024-08-22 21:32:51 -06:00
project_panel Rename is_local to is_local_or_ssh (#16717) 2024-08-22 21:32:51 -06:00
project_symbols Start on adding support for editing via the assistant panel (#14795) 2024-07-19 11:13:15 +02:00
proto clangd: Implement switch source/header extension (#14646) 2024-08-21 22:15:08 +03:00
quick_action_bar ui: Use popover menus for tab bar in panes (#16497) 2024-08-22 18:05:23 +02:00
recent_projects recent_project: Fix overflow sub (#15965) 2024-08-08 15:58:59 +02:00
refineable Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
release_channel auto-updates: Do not poll for updates on dev channel (#13311) 2024-06-20 15:00:54 +02:00
remote SSH remoting: terminal & tasks (#15321) 2024-07-28 22:45:00 -06:00
remote_server Run clippy for Windows (#15318) 2024-07-26 21:38:34 -04:00
repl gpui: Add truncate and text_ellipsis to TextStyle (#14850) 2024-08-23 14:02:51 -04:00
rich_text chore: Bump Rust version to 1.80 (#15186) 2024-07-25 22:48:42 +02:00
rope Skip over folded regions when iterating over multibuffer chunks (#15646) 2024-08-02 19:51:26 +02:00
rpc Apply rate limits in LLM service (#15997) 2024-08-08 15:46:33 -07:00
search Display buffer/project search entries in the outline panel (#16589) 2024-08-25 21:40:02 +03:00
semantic_index Allow customization of the model used for tool calling (#15479) 2024-07-30 16:18:53 +02:00
semantic_version Extract SemanticVersion into its own crate (#9956) 2024-03-29 12:11:57 -04:00
session zed: Persist window stack order across restarts (#15419) 2024-07-29 17:05:56 +02:00
settings Replace lazy_static with std::sync::LazyLock (#16066) 2024-08-20 14:27:33 -04:00
settings_ui ui: Apply elevation outside SettingsContainer (#15346) 2024-07-27 14:00:03 -04:00
snippet Correct escaping in snippets (#14912) 2024-07-22 00:57:34 +02:00
snippet_provider extensions: Add support for snippets provided by extensions (#14020) 2024-07-10 09:40:50 +02:00
sqlez Replace lazy_static with std::sync::LazyLock (#16066) 2024-08-20 14:27:33 -04:00
sqlez_macros Replace lazy_static with std::sync::LazyLock (#16066) 2024-08-20 14:27:33 -04:00
story stories: Get OverflowScrollStory to scroll again (#15982) 2024-08-09 12:32:26 +02:00
storybook Docs Party 2024 (#15876) 2024-08-09 13:37:54 -04:00
sum_tree Restore "Avoid buffering line content to compute indent guides" (#15284) 2024-07-28 10:52:39 +02:00
supermaven windows: Fix supermaven (#16203) 2024-08-14 17:01:16 +03:00
supermaven_api windows: Fix supermaven (#16203) 2024-08-14 17:01:16 +03:00
tab_switcher Send pane removeItem event before removing the item (#15541) 2024-07-31 08:48:19 -07:00
task SSH remoting: terminal & tasks (#15321) 2024-07-28 22:45:00 -06:00
tasks_ui Rename is_local to is_local_or_ssh (#16717) 2024-08-22 21:32:51 -06:00
telemetry_events docs: Update telemetry documentation (#16628) 2024-08-21 20:24:35 -04:00
terminal Able to resolve URLs with query params in terminal (#16724) 2024-08-23 10:58:53 +03:00
terminal_view gpui: Add truncate and text_ellipsis to TextStyle (#14850) 2024-08-23 14:02:51 -04:00
text Replace lazy_static with std::sync::LazyLock (#16066) 2024-08-20 14:27:33 -04:00
theme theme: Change autocomplete value for *_font_fallbacks (#16759) 2024-08-23 12:12:43 -04:00
theme_importer Hoist strum to workspace level (#15243) 2024-07-25 21:30:48 -04:00
theme_selector settings_ui: Add theme settings controls (#15115) 2024-07-24 16:25:52 -04:00
time_format Inline git blame (#10398) 2024-04-15 14:21:52 +02:00
title_bar Rename is_local to is_local_or_ssh (#16717) 2024-08-22 21:32:51 -06:00
ui Display buffer/project search entries in the outline panel (#16589) 2024-08-25 21:40:02 +03:00
ui_input Rename ui_text_field crate to ui_input (#13949) 2024-07-08 17:05:30 -04:00
util Fix more bugs in files (#16241) 2024-08-16 10:09:38 -07:00
vcs_menu Adjust list item & pickers spacing (#14250) 2024-07-15 10:23:18 -03:00
vim Fix ctrl-d/u issues with scroll_beyond_last_line off (#15395) 2024-08-23 08:34:40 -06:00
welcome assistant: Overhaul provider infrastructure (#14929) 2024-07-23 19:48:41 +02:00
workspace Display buffer/project search entries in the outline panel (#16589) 2024-08-25 21:40:02 +03:00
worktree Recursive tab/pane closing on folder deletion (#15222) 2024-08-22 15:24:41 -06:00
zed Rename is_local to is_local_or_ssh (#16717) 2024-08-22 21:32:51 -06:00
zed_actions Show current plan in user menu (#15513) 2024-07-30 17:38:16 -04:00