c729842
assistant2: Exclude deleted files from stale list (#27821)
Click to expand commit body
Release Notes: - N/A
Agus Zubiaga created
c729842
assistant2: Exclude deleted files from stale list (#27821)
Release Notes: - N/A
Agus Zubiaga created
715e23a
assistant2: Do not mention diagnostics until done (#27820)
Release Notes: - N/A
Agus Zubiaga created
63f0fda
Fix code actions tooltip overlapping with action context menu (#27809)
Closes #27728 This stops code actions tooltip from being added when there's a visible Editor::context_menu Release Notes: - Fix code actions tooltip opening on top of code actions menu
Anthony Eid created
7984f0f
vim: Update `:set` (#27805)
Update VimSet commands to better match the other commands by displaying the leading `:`: |Before|After| |--|--| ||| Release Notes: - N/A
5brian created
37ebb47
Don't use `dbg!` in test input (#27811)
It confuses me when I grep for dbg! :facepalm: Release Notes: - N/A
Conrad Irwin created
8546dc1
Allow viewing past commits in Zed (#27636)
This PR adds functionality for loading the diff for an arbitrary git commit, and displaying it in a tab. To retrieve the diff for the commit, I'm using a single `git cat-file --batch` invocation to efficiently load both the old and new versions of each file that was changed in the commit. Todo * Features * [x] Open the commit view when clicking the most recent commit message in the commit panel * [x] Open the commit view when clicking a SHA in a git blame column * [x] Open the commit view when clicking a SHA in a commit tooltip * [x] Make it work over RPC * [x] Allow buffer search in commit view * [x] Command palette action to open the commit for the current blame line * Styling * [x] Add a header that shows the author, timestamp, and the full commit message * [x] Remove stage/unstage buttons in commit view * [x] Truncate the commit message in the tab * Bugs * [x] Dedup commit tabs within a pane * [x] Add a tooltip to the tab Release Notes: - Added the ability to show past commits in Zed. You can view the most recent commit by clicking its message in the commit panel. And when viewing a git blame, you can show any commit by clicking its sha.
Max Brunsfeld created
3391201
assistant2: Adjust icons for some tools (#27814)
Picking more specific icons for a few tools. Release Notes: - N/A
Danilo Leal created
dce824f
assistant2: Refine empty states design (#27812)
| No LLM provider | Fresh Start | No ToS | |--------|--------|--------| |  |  |  | Release Notes: - N/A
Danilo Leal created
a1bef28
keymap: Allow upper-case keys in keybinds (#27813)
Reverts the error behavior introduced in #27558. Upper-case keys in
keybindings no longer generate errors, instead they are transformed into
`shift-{KEY}`
e.g. `ctrl-N` becomes `ctrl-shift-n`
The behavior introduced in #27558 where "special" keys such as function
keys, `control`, `shift`, etc. Are parsed case-insensitively is
preserved.
Release Notes:
- Improved how upper-case characters are handled in keybinds. "special"
keys such as the function keys, `control`, `shift`, etc. are now parsed
case-insensitively, so for example `F8`, `CTRL`, `SHIFT` are now
acceptable alternatives to `f8`, `ctrl`, and `shift` when declaring
keybindings. Additionally, upper-case (ascii) characters will now be
converted explicitly to `shift` + the lowercase version of the
character, to match the Vim behavior.
NOTE: Release notes above should replace the release notes from #27558
Ben Kunkle created
8a212be
assistant2: Extract method for adding a new profile to the settings (#27810)
This PR extracts a method for adding a new profile to the settings to reduce the amount of code required inline. Release Notes: - N/A
Marshall Bowers created
9bbb1e5
nix: Remove special handling for livekit (#27801)
Now that #27126 has landed, we can drop this from the nix shell which has the side benefit that nix users don't actually need xcode installed to develop zed anymore. Release Notes: - N/A
Julia Ryan created
50ad71a
Bump cargo-bundle and cargo-about version in nix (#27803)
We updated our cargo-bundle fork, and this adds to our override to make sure we have the latest version. cargo-about also released a new version upstream which was picked up in nixpkgs, so I've `nix flake update`'d and changed that version as well. Thanks to @niklaskorz for [pinging me](https://github.com/NixOS/nixpkgs/pull/392319#issuecomment-2746122094) about this. You should be able to drop the patch next time you update. Release Notes: - N/A
Julia Ryan created
76c46c5
assistant2: Correctly display context files outside project worktrees (#27806)
We were displaying empty pills for files that weren't inside one of the project worktrees Release Notes: - N/A
Agus Zubiaga created
8f0bacd
vim: Hide mouse cursor on type (#27804)
Closes #27639 Release Notes: - Fixed the mouse cursor not hiding while typing in Vim mode. Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Smit Barmase and Conrad Irwin created
0514832
vim: Add :ls, :buffers (#27797)
https://neovim.io/doc/user/windows.html#%3Abuffers Not exactly the same, but i think the zed equivalent would be the tab switcher Release Notes: - vim: Added `:ls` and `:buffers`
5brian created
27cafe5
vim: Add :options, :map (#27798)
Add: - [:options](https://neovim.io/doc/user/options.html#%3Aoptions) to open default settings - :map to open default vim keymap These aren't exactly the same as vim but i think it's a good equivalent For map: I can't find the docs for :map with no arguments, since the map docs only shows the command bindings, but it opens the key mapping in vim. https://neovim.io/doc/user/vimindex.html  Release Notes: - vim: Added `:options` and `:map`
5brian created
ddc102c
assistant_settings: Disable "Suggest Edits" in the `assistant2` feature flag (#27802)
This PR disables the "Suggest Edits" feature when in the `assistant2` feature flag. This functionality has been superseded by the new Agent Panel. We can remove the feature outright once the Agent Panel is generally available. Release Notes: - N/A
Marshall Bowers created
d517a21
Debugger: Add conditional and hit conditional breakpoint functionality (#27760)
This PR adds conditional and hit condition breakpoint functionality cc @osiewicz Co-authored-by: Remco Smits: <djsmits12@gmail.com> Release Notes: - N/A *or* Added/Fixed/Improved ... --------- Co-authored-by: Remco Smits <djsmits12@gmail.com>
Anthony Eid and Remco Smits created
dc64ec9
chore: Bump Rust edition to 2024 (#27800)
Follow-up to https://github.com/zed-industries/zed/pull/27791 Release Notes: - N/A
Piotr Osiewicz created
d50905e
assistant2: Add testing environment variables (#27789)
To make it easier to design UIs for some of these scenarios. This PR adds specifically two variables: - `ZED_SIMULATE_NO_THREAD_HISTORY` - `ZED_SIMULATE_NO_LLM_PROVIDER` Release Notes: - N/A --------- Co-authored-by: Agus Zubiaga <hi@aguz.me>
Danilo Leal and Agus Zubiaga created
0729d24
chore: Prepare for Rust edition bump to 2024 (without autofix) (#27791)
Successor to #27779 - in this PR I've applied changes manually, without futzing with if let lifetimes at all. Release Notes: - N/A
Piotr Osiewicz created
d51aa2f
assistant find-replace: Fall back to replace_with_flexible_indent (#27795)
Release Notes: - N/A
Agus Zubiaga created
d40b49c
Remove edit action markers from `edit_prompt.md` (#27785)
https://github.com/zed-industries/zed/pull/27778 removed most occurrences, but there were still some more in `edit_prompt.md` Release Notes: - N/A
Agus Zubiaga created
edf712d
toolchains: Add support for relative paths (#27777)
Closes #ISSUE Release Notes: - N/A
Piotr Osiewicz created
627ae7a
Remove blade as the default for GPUI (#27794)
Release Notes: - N/A
Mikayla Maki created
17aecfd
vim: Fix :ex, :exit (#27755)
`:exit` should be `:exi[t]` instead of `:ex[it]`, `:ex` has different command - https://neovim.io/doc/user/editing.html#%3Aex - https://neovim.io/doc/user/editing.html#%3Aexit Changes: - Add `:ex` same as `:edit` - Change `:ex[it]` to `:exi[t]` Release Notes: - N/A
5brian created
01a2c8e
Set tool schema format for zed.dev language model (#27788)
Release Notes: - N/A
Bennet Bo Fenner created
fc269df
vim: Handle exclusive-linewise edgecase correctly (#27786)
Before this change we didn't explicitly handle vim's exclusive-linewise edgecase (https://neovim.io/doc/user/motion.html#exclusive). Instead we had hard-coded workarounds in a few places to make our tests pass. The most pernicious of these workarounds was that we represented a visual line selection as including the trailing newline (or leading newline for files that end with no newline), which other code had to undo to get back to what the user indended. Closes #21440 Updates #6900 Release Notes: - vim: Fixed `d]}` to not delete the closing brace - vim: Fixed `d}` from the start of the line to not delete the paragraph separator - vim: Fixed `d}` from the middle of the line to not delete the final newline
Conrad Irwin created
e1e8c17
Fix remote clients unable to query custom, lsp_ext, commands (#27775)
Closes https://github.com/zed-industries/zed/issues/20583 Closes https://github.com/zed-industries/zed/issues/27133 A preparation for rust-analyzer's LSP tasks fetching, ensures all remote clients are able to query custom, lsp_ext, commands. Release Notes: - Fixed remote clients unable to query custom, lsp_ext, commands
Kirill Bulatov created
c8a9a74
Add tool calling support for Gemini models (#27772)
Release Notes: - N/A
Bennet Bo Fenner created
f6d58f7
ui: Render keybinds for disabled actions with disabled color (#27693)
This PR ensures that keybinds for disabled actions in context menus are also colored according th their disabled state. ### Default | Current `main` | This PR | | --- | --- | | <img width="212" alt="main_default" src="https://github.com/user-attachments/assets/c9f24f4b-dff1-4930-9a3c-07ce1fad516a" /> | <img width="212" alt="pr_default" src="https://github.com/user-attachments/assets/fd3db1b8-3a46-4b17-81e7-de66b35b4a79" /> | ### Vim-Mode | Current `main` | This PR | | --- | --- | | <img width="255" alt="main_vim" src="https://github.com/user-attachments/assets/2845efd3-0109-4e00-af92-203a328d6282" /> | <img width="255" alt="pr_vim" src="https://github.com/user-attachments/assets/af073173-30c0-4a60-942f-0f124089c723" />| Release Notes: - Keybinds in contexts menus will now also be dimmed if the corresponding action is currently disabled.
Finn Evers created
e6c64eb
assistant2: Fail find-replace tool if both strings are equal (#27783)
Models seem to do this ever so often and get very confused. Failing here helps them recover. Release Notes: - N/A Co-authored-by: Richard Feldman <richard@zed.dev>
Agus Zubiaga and Richard Feldman created
12c58d0
proto: Bump version to v0.2.2 (#27732)
Release Notes: - N/A
Ben Kunkle created
75689c1
assistant2: System prompt response guidance (#27782)
Adds some guidance for the assistant on how to respond to tool results and other interactions Release Notes: - N/A Co-authored-by: Richard Feldman <richard@zed.dev>
Agus Zubiaga and Richard Feldman created
ca6be24
assistant2: Change system prompt to discourage doom loops (#27781)
Ask assistant to limit diagnostic fix attempts to 3 max Release Notes: - N/A Co-authored-by: Richard Feldman <richard@zed.dev>
Agus Zubiaga and Richard Feldman created
9b44bac
Remove edit action markers literals from source (#27778)
Edit action markers look like git conflicts and can trip up tooling used to resolve git conflicts. This PR creates them programmatically so that they don't appear in source code. Release Notes: - N/A
Agus Zubiaga created
9b40770
Add Code Symbols tool (#27733)
Lets you get all the code symbols in the project (like the Code Symbols panel) or in a particular file (like the Outline panel), optionally paginated and filtering results by regex. The tool gives the files, lines, and numbers of all of these, which means they can be used in conjunction with the read file tool to read subsets of large files without having to open the entire large file and poke around in it. <img width="621" alt="Screenshot 2025-03-29 at 12 00 21 PM" src="https://github.com/user-attachments/assets/d78259d7-2746-44c0-ac18-2e21f2505c0a" /> Release Notes: - N/A
Richard Feldman created
5b2adfb
Add symbol-info tool to default tools (#27766)
Follow-up to https://github.com/zed-industries/zed/pull/27733 Release Notes: - N/A
Richard Feldman created
078b241
Add symbol info tool (#27742)
Does various readonly LSP operations: get definition, get declaration, get implementation, get type definition, and find all references. <img width="635" alt="Screenshot 2025-03-30 at 1 24 11 AM" src="https://github.com/user-attachments/assets/87eae2b0-9791-4e7f-b91f-79dfc2b746cc" /> Release Notes: - N/A
Richard Feldman created
e42406f
python: Fix incorrect highlighting of function parameters (#26815)
This PR addresses the highlighting of function parameters in Python. #21454 added various improvements to Python highlighting. However, some of the capture groups are missing corresponding colors in themes, which was also [noted on the PR](https://github.com/zed-industries/zed/pull/21454#pullrequestreview-2537510964). Currently, this is especially bad for function parameters, which are not only missing corresponding colors, but are also captured incorrectly as `arguments` instead of `parameters`. Additionally, as not one theme defines `function.arguments` (I cheked this with the [extension surveyor](https://github.com/zed-industries/extension-surveyor), we instead always fall back to `function` here. Thus, parameters are always highlighted the same as functions, resulting in incorrect and inproper highlighting. This PR resolves this issue by instead capturing parameters as `variable.parameter`, which has not perfect, but much better coverage among existing themes. | `main` | <img width="670" alt="main" src="https://github.com/user-attachments/assets/6942b494-fe0f-4537-8503-8de4e2c5a30e" /> | | --- | --- | | This PR | <img width="670" alt="PR" src="https://github.com/user-attachments/assets/f0d1d22a-c5f4-46b8-a22b-f18e0e55fa47" /> | --- Following [this comment](https://github.com/zed-industries/zed/blob/7d9dbbe5feafb0135e05d29f950d5465203690c8/extensions/test-extension/languages/gleam/highlights.scm#L77-L78) and [the note on the other PR](https://github.com/zed-industries/zed/pull/21454#discussion_r1907012758), I also updated the last two matchs in the file to instead use `any-of` in the second commit (GitHub falsely shows `id` being removed despite it still being present). Should that not be wanted, I can revert this change. Release Notes: - Fixed improper highlighting of function parameters in Python.
Finn Evers created
4ee20dd
assistant2: Adjust edit files design (#27762)
This PR includes design tweaks to elements involved on the "edit files" flow: the bar that appears above the message editor, buttons on the multibuffer hunks, adding keybindings to the "Review Changes" button, etc. <img src="https://github.com/user-attachments/assets/4bff883a-c5c4-443e-8bf5-d98f535c83ce" width="750" /> Release Notes: - N/A
Danilo Leal created
74dd32d
assistant2: Fix overflowing notification title (#27763)
<img src="https://github.com/user-attachments/assets/5a22caba-2535-4f45-96a1-6ee9a552266f" width="500"/> Release Notes: - N/A
Danilo Leal created
342acdd
Show notifications on primary screen by default (#27665)
By default, agent notifications now display only on your primary screen. You can optionally configure them to display on all screens (or not to display at all). Release Notes: - N/A
Richard Feldman created
9f8776d
Fix stale git statuses (#27735)
Display of git statuses in the git panel, project panel, and tabs regressed in #27391, causing us to frequently see stale statuses. This turns out to be because we were not emitting the `WorktreeUpdatedGitRepositories` event in cases where we should be, which in turn is because of bumping the `LocalRepositoryEntry`'s `status_scan_id` too early, so that a later comparison of two `status_scan_id` values wasn't detecting a change that we're expecting it to detect. Release Notes: - N/A (problematic behavior didn't make it into stable or preview)
Cole Miller created
548a8d7
proto: Create indents.scm (#27730)
Closes #27676 Release Notes: - N/A
Ben Kunkle created
73f77a7
Actually run git commands if no GIT_ASKPASS is set (#27729)
Follow up to #27681 Release Notes: - N/A
Conrad Irwin created
4970fe2
editor: Hide mouse cursor also for movements and selections (#27677)
This enables hiding mouse cursor even on cursor movements like up, down, etc. or selections made using keyboard, etc. Renamed existing boolean setting "hide_mouse_while_typing" to "hide_mouse". It can have three values: `on_typing_and_movement`, `on_typing`, `never`. Release Notes: - Now mouse cursor hides even when you navigate, or make selections using keyboard in editor. This behavior can be changed by setting `hide_mouse` to `on_typing_and_movement`, `on_typing` or `never`.
Smit Barmase created
7fe6188
Introduce "Keep All" and "Reject All" buttons when reviewing assistant edits (#27724)
Release Notes: - N/A
Antonio Scandurra created
8add90d
Set up Rust debugger code runner tasks (#27571)
## Summary This PR starts the process of adding debug task locators to Zed's debugger system. A task locator is a secondary resolution phase that allows a debug task to run a command before starting a debug session and then uses the output of the run command to configure itself. Locators are most applicable when debugging a compiled language but will be helpful for any language as well. ## Architecture At a high level, this works by adding a debug task queue to `Workspace`. Which add's a debug configuration associated with a `TaskId` whenever a resolved task with a debug config is added to `TaskInventory`'s queue. Then, when the `SpawnInTerminal` task finishes running, it emits its task_id and the result of the ran task. When a ran task exits successfully, `Workspace` tells `Project` to start a debug session using its stored debug config, then `DapStore` queries the `LocatorStore` to configure the debug configuration if it has a valid locator argument. Release Notes: - N/A
Anthony Eid created
141a6c3
Revert "terminal: Make IME work with tab and enter keys (#27572)" (#27719)
This reverts commit be657aefa38da0f63bedaea18621edcc0cc929d1. (#27572) Unfortunately this change broke other bindings in the terminal like `cmd-left` and `cmd-right`. We do need to redo the terminal IME handling at some point, but we'll need a bit more thought to find an approach that works. Release Notes: - N/A
Conrad Irwin created