ZIm/crates
Agus Zubiaga fd17f2d8ae
agent: Enrich grep tool output with syntax information (#29601)
The `grep` tool used to include 4 lines of context around the match, but
the lines included would often be unhelpful. This PR improves this
behavior by using the range of the parent syntax node that contains the
full line(s) matched.

The match headers will also now include symbol breadcrumbs so that the
model can already gather code structure before/without reading files.

````md
### impl GitRepository for RealGitRepository › fn compare_checkpoints › L1278-1284
```rust
                let result = git
                    .run(&[
                        "diff-tree",
                        "--quiet",
                        &left.commit_sha.to_string(),
                        &right.commit_sha.to_string(),
                    ])
```
````

This positively impacts the `add_arg_to_trait_method` eval example with
better diff output, fewer tool failures, and reduced total turns.

Note: We have some plans to use a an "elision" approach where we would
combine all matches for a given file, skipping lines between them while
keeping symbol declaration lines. The theory is that this would be map
more closely to the expected input for edits. For now, this PR is a
significant improvement.

Release Notes:

- Agent: Enrich `grep` tool output with syntax information
2025-04-29 17:03:02 +00:00
..
activity_indicator Git activity indicator (#28204) 2025-04-07 18:10:01 +00:00
agent agent: Support images via @file and the file context picker (#29596) 2025-04-29 16:26:27 +02:00
anthropic anthropic: Remove list of supported countries (#29346) 2025-04-24 15:17:33 +00:00
askpass askpass: Shell escape Zed path in askpass script (#29447) 2025-04-25 21:16:43 +00:00
assets Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
assistant Associate each thread with a model (#29573) 2025-04-28 23:43:16 +00:00
assistant_context_editor Associate each thread with a model (#29573) 2025-04-28 23:43:16 +00:00
assistant_settings VSCode Settings import (#29018) 2025-04-23 20:54:09 +00:00
assistant_slash_command Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
assistant_slash_commands zed: Remove unnecessary clones (#29513) 2025-04-27 19:23:37 -07:00
assistant_tool agent: Create TerminalToolCard and display shell output while it's running (#29546) 2025-04-29 16:06:43 +00:00
assistant_tools agent: Enrich grep tool output with syntax information (#29601) 2025-04-29 17:03:02 +00:00
audio Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
auto_update VSCode Settings import (#29018) 2025-04-23 20:54:09 +00:00
auto_update_helper Update block diagnostics (#28006) 2025-04-15 09:35:13 -06:00
auto_update_ui Add searchable global tab switcher (#28047) 2025-04-28 09:21:27 +00:00
aws_http_client Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
bedrock bedrock: Preserve thinking blocks for Bedrock (#29602) 2025-04-29 12:18:32 -04:00
breadcrumbs breadcrumbs: Update multibuffer to match singleton (#28267) 2025-04-07 20:26:55 +00:00
buffer_diff Fix diff recalculation hang (#28377) 2025-04-10 22:58:41 +00:00
call VSCode Settings import (#29018) 2025-04-23 20:54:09 +00:00
channel Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
cli Try to weak-link ScreenCaptureKit always (#28585) 2025-04-11 17:38:14 +00:00
client reqwest_client: Only register proxies with valid proxy URIs (#27773) 2025-04-28 11:12:16 -04:00
clock Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
collab collab: Take the mode into account when syncing usage to Stripe (#29606) 2025-04-29 16:05:55 +00:00
collab_ui Add searchable global tab switcher (#28047) 2025-04-28 09:21:27 +00:00
collections Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
command_palette Simplify the SerializableItem::cleanup implementation (#29567) 2025-04-28 22:15:24 +00:00
command_palette_hooks Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
component Add example agent tool preview (#28984) 2025-04-17 17:29:19 +00:00
component_preview Simplify the SerializableItem::cleanup implementation (#29567) 2025-04-28 22:15:24 +00:00
context_server agent: Render diffs for the edit file tool (#29234) 2025-04-23 15:43:33 -03:00
context_server_settings VSCode Settings import (#29018) 2025-04-23 20:54:09 +00:00
copilot Default to fast model for thread summaries and titles + don't include system prompt / context / thinking segments (#29102) 2025-04-19 23:26:29 +00:00
credentials_provider Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
dap debugger: Fix bug where args from debug config weren't sent to adapters (#29445) 2025-04-28 18:20:03 +00:00
dap_adapters debugger/tasks: Remove TaskType enum (#29208) 2025-04-26 01:44:56 +02:00
db Simplify the SerializableItem::cleanup implementation (#29567) 2025-04-28 22:15:24 +00:00
debugger_tools Add searchable global tab switcher (#28047) 2025-04-28 09:21:27 +00:00
debugger_ui debugger: Transition to path! macro to create paths in debugger tests (#29605) 2025-04-29 12:24:25 -04:00
deepseek Default to fast model for thread summaries and titles + don't include system prompt / context / thinking segments (#29102) 2025-04-19 23:26:29 +00:00
diagnostics Add searchable global tab switcher (#28047) 2025-04-28 09:21:27 +00:00
docs_preprocessor Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
editor debugger: Fix bug where active debug line highlights weren't cleared (#29562) 2025-04-29 15:15:45 +00:00
eval agent: Enrich grep tool output with syntax information (#29601) 2025-04-29 17:03:02 +00:00
extension extension: Use heck instead of convert_case for snake_case check (#28608) 2025-04-11 22:01:25 +00:00
extension_api zed_extension_api: Fork new version of extension API (#29579) 2025-04-29 01:24:13 +00:00
extension_cli Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
extension_host zed_extension_api: Fork new version of extension API (#29579) 2025-04-29 01:24:13 +00:00
extensions_ui extensions_ui: Add design changes to expose the filters more (#29582) 2025-04-29 07:54:39 -03:00
feature_flags title_bar: Put plan behind new-billing feature flag (#29540) 2025-04-28 15:23:25 +00:00
feedback feedback: Update issue template URL (#28790) 2025-04-15 21:36:30 -04:00
file_finder VSCode Settings import (#29018) 2025-04-23 20:54:09 +00:00
file_icons Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
fs git: Use the CLI for loading commit SHAs and details (#29351) 2025-04-25 14:46:02 -04:00
fsevent Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
fuzzy Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
git git: Use the CLI for loading commit SHAs and details (#29351) 2025-04-25 14:46:02 -04:00
git_hosting_providers VSCode Settings import (#29018) 2025-04-23 20:54:09 +00:00
git_ui Git tweaks (#28791) 2025-04-28 23:42:23 -06:00
go_to_line VSCode Settings import (#29018) 2025-04-23 20:54:09 +00:00
google_ai Fix gemini model token limits (#29584) 2025-04-29 03:12:59 +00:00
gpui gpui: Fix markdown wrapped background not correctly rendering (#29571) 2025-04-29 04:48:24 +05:30
gpui_macros Rename regex search tool to grep and accept an include glob pattern (#29100) 2025-04-20 00:53:30 +00:00
gpui_tokio Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
html_to_markdown Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
http_client reqwest_client: Only register proxies with valid proxy URIs (#27773) 2025-04-28 11:12:16 -04:00
http_client_tls Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
icons agent: Support pasting images as context (#29177) 2025-04-22 09:01:01 +00:00
image_viewer agent: Create TerminalToolCard and display shell output while it's running (#29546) 2025-04-29 16:06:43 +00:00
indexed_docs Add --user-data-dir CLI flag and propose renaming support_dir to data_dir (#26886) 2025-04-10 21:16:43 +00:00
inline_completion Show edit predictions usage in status bar menu (#29046) 2025-04-18 14:15:19 +00:00
inline_completion_button inline_completion_button: Show the usage limits returned from the API (#29239) 2025-04-22 21:16:54 +00:00
install_cli install_cli: Show feedback when installing CLI from welcome screen (#28532) 2025-04-11 01:47:40 +05:30
journal VSCode Settings import (#29018) 2025-04-23 20:54:09 +00:00
language debugger/tasks: Remove TaskType enum (#29208) 2025-04-26 01:44:56 +02:00
language_extension Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
language_model agent: Support images via @file and the file context picker (#29596) 2025-04-29 16:26:27 +02:00
language_model_selector Associate each thread with a model (#29573) 2025-04-28 23:43:16 +00:00
language_models bedrock: Preserve thinking blocks for Bedrock (#29602) 2025-04-29 12:18:32 -04:00
language_selector Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
language_tools Add searchable global tab switcher (#28047) 2025-04-28 09:21:27 +00:00
languages Fix Python builtin type highlighting (#29475) 2025-04-28 11:34:55 -04:00
livekit_api Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
livekit_client Fix deafening new participants (#28330) 2025-04-08 16:01:27 +00:00
lmstudio Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
lsp debugger: Add support for inline value hints (#28656) 2025-04-23 22:27:27 +00:00
markdown Use u64 instead of usize in ElementId (#29493) 2025-04-27 02:31:25 +00:00
markdown_preview Add searchable global tab switcher (#28047) 2025-04-28 09:21:27 +00:00
media chore: Make objc a workspace level crate (#28258) 2025-04-07 18:46:09 +00:00
menu Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
migrator agent: Improve initial file search quality (#29317) 2025-04-23 21:24:41 -03:00
mistral Switch from open-codestral-mamba to codestral-latest for default mistral model (#29104) 2025-04-19 23:29:36 +00:00
multi_buffer Show diagnostic codes (#29296) 2025-04-23 20:51:01 -06:00
node_runtime reqwest_client: Only register proxies with valid proxy URIs (#27773) 2025-04-28 11:12:16 -04:00
notifications Merge Component and ComponentPreview trait (#28365) 2025-04-08 16:09:06 -06:00
ollama ollama: Add Qwen3 and Gemma3 (default to 16K context) (#29580) 2025-04-28 21:44:28 -04:00
open_ai open_ai: Remove list of supported countries (#29347) 2025-04-24 14:55:37 +00:00
outline Highlight merge conflicts and provide for resolving them (#28065) 2025-04-23 12:38:46 -04:00
outline_panel VSCode Settings import (#29018) 2025-04-23 20:54:09 +00:00
panel Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
paths VSCode Settings import (#29018) 2025-04-23 20:54:09 +00:00
picker agent: Refine language model selector (#28597) 2025-04-11 23:02:50 +00:00
prettier Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
project agent: Create TerminalToolCard and display shell output while it's running (#29546) 2025-04-29 16:06:43 +00:00
project_panel Add searchable global tab switcher (#28047) 2025-04-28 09:21:27 +00:00
project_symbols Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
prompt_store agent: Include grep-related instructions in the prompt only if the tool is available (#29536) 2025-04-28 19:47:40 +00:00
proto debugger/tasks: Remove TaskType enum (#29208) 2025-04-26 01:44:56 +02:00
recent_projects VSCode Settings import (#29018) 2025-04-23 20:54:09 +00:00
refineable Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
release_channel Fix handling of --system-specs argument so it happens before Application::new (#29240) 2025-04-22 21:32:32 +00:00
remote Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
remote_server reqwest_client: Only register proxies with valid proxy URIs (#27773) 2025-04-28 11:12:16 -04:00
repl Add searchable global tab switcher (#28047) 2025-04-28 09:21:27 +00:00
reqwest_client reqwest_client: Only register proxies with valid proxy URIs (#27773) 2025-04-28 11:12:16 -04:00
rich_text Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
rope chore: Bump Rust version to 1.86 (#28021) 2025-04-03 23:32:50 +02:00
rpc rpc: Remove llm module in favor of zed_llm_client (#28900) 2025-04-16 20:22:44 +00:00
rules_library agent: Add "max mode" toggle (#29549) 2025-04-28 16:50:47 +00:00
schema_generator Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
search Add searchable global tab switcher (#28047) 2025-04-28 09:21:27 +00:00
semantic_index agent: Add "max mode" toggle (#29549) 2025-04-28 16:50:47 +00:00
semantic_version Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
session Avoid unnecessary DB writes (#29417) 2025-04-25 17:41:49 +03:00
settings Refactor markdown formatting utilities to avoid building intermediate strings (#29511) 2025-04-27 19:04:51 +00:00
settings_ui Add searchable global tab switcher (#28047) 2025-04-28 09:21:27 +00:00
snippet Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
snippet_provider snippet_provider: Use proper casing of VsCode in identifiers (#29038) 2025-04-18 12:11:54 +00:00
snippets_ui Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
sqlez Simplify the SerializableItem::cleanup implementation (#29567) 2025-04-28 22:15:24 +00:00
sqlez_macros Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
story Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
storybook Merge Component and ComponentPreview trait (#28365) 2025-04-08 16:09:06 -06:00
streaming_diff Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
sum_tree Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
supermaven Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
supermaven_api Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
tab_switcher Add searchable global tab switcher (#28047) 2025-04-28 09:21:27 +00:00
task debugger: Fix new session modal not having worktree scenarios (#29453) 2025-04-26 00:16:21 +00:00
tasks_ui debugger/tasks: Remove TaskType enum (#29208) 2025-04-26 01:44:56 +02:00
telemetry Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
telemetry_events Add new action to run agent eval (#29158) 2025-04-21 21:30:21 -07:00
terminal agent: Create TerminalToolCard and display shell output while it's running (#29546) 2025-04-29 16:06:43 +00:00
terminal_view agent: Create TerminalToolCard and display shell output while it's running (#29546) 2025-04-29 16:06:43 +00:00
text format: Re-implement support for formatting with code actions that contain commands (#28392) 2025-04-09 01:53:54 +00:00
theme VSCode Settings import (#29018) 2025-04-23 20:54:09 +00:00
theme_extension Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
theme_importer theme_importer: Handle comma-separated token scopes (#27740) 2025-04-23 14:06:58 +00:00
theme_selector theme_selector: Don't select last theme when fuzzy searching (#28278) 2025-04-28 14:29:17 +00:00
time_format Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
title_bar title_bar: Put plan behind new-billing feature flag (#29540) 2025-04-28 15:23:25 +00:00
toolchain_selector toolchain: Respect currently focused file when querying toolchains (#28875) 2025-04-16 19:05:57 +02:00
ui ui: Add inline_code method to label (#29306) 2025-04-23 19:27:56 -03:00
ui_input Merge Component and ComponentPreview trait (#28365) 2025-04-08 16:09:06 -06:00
ui_macros Merge Component and ComponentPreview trait (#28365) 2025-04-08 16:09:06 -06:00
ui_prompt markdown: Don't retain MarkdownStyle in favor of using MarkdownElement directly (#28255) 2025-04-07 19:03:24 +00:00
util agent: Create TerminalToolCard and display shell output while it's running (#29546) 2025-04-29 16:06:43 +00:00
util_macros Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
vim vim: Add neovim 0.11 default mappings (#28602) 2025-04-28 14:14:43 -04:00
vim_mode_setting VSCode Settings import (#29018) 2025-04-23 20:54:09 +00:00
web_search agent: Expose web search tool to beta users (#29273) 2025-04-23 15:30:20 +00:00
web_search_providers agent: Expose web search tool to beta users (#29273) 2025-04-23 15:30:20 +00:00
welcome Add searchable global tab switcher (#28047) 2025-04-28 09:21:27 +00:00
workspace debugger: Fix bug where active debug line highlights weren't cleared (#29562) 2025-04-29 15:15:45 +00:00
worktree Fix agent rules files for remote project by loading via buffer (#29440) 2025-04-25 20:06:40 +00:00
zed Fix data loss when project settings opened with ".zed" in file_scan_exclusions (#29578) 2025-04-28 22:25:40 -04:00
zed_actions Rename "Prompt Library" to "Rules Library" (#29349) 2025-04-24 16:42:06 -03:00
zeta Use u64 instead of usize in ElementId (#29493) 2025-04-27 02:31:25 +00:00
zlog zlog: Fix incorrect assumption with filters (#29428) 2025-04-25 16:11:58 +00:00
zlog_settings VSCode Settings import (#29018) 2025-04-23 20:54:09 +00:00