5c81dd7
git: Fix git commit font fallbacks (#26184)
Click to expand commit body
Closes #ISSUE Release Notes: - Fixed git commit font_fallbacks
0x2CA created
5c81dd7
git: Fix git commit font fallbacks (#26184)
Closes #ISSUE Release Notes: - Fixed git commit font_fallbacks
0x2CA created
aec4d5c
Fix panic in commit editor selections syncing (#26186)
Closes #26183 Release Notes: - Git Beta: Fixed a panic when selecting text in one of the commit message editors
Cole Miller created
4c0750b
ci: Less Windows CI for PRs (#26155)
Split Windows GHA CI job into `windows_clippy` and `windows_tests` (`cargo test` and `cargo build`). `windows_clippy` will continue to run on every PR commit, but `windows_tests` will only be run on main. Tag a PR `windows` if you would like to run windows tests. Added a call to the Azure metadata service to detect the Azure hardware used by the GitHub hosted Windows runners. This is temporary and I'll remove once I've gathered some data (adds 5-15secs to Windows CI times) Release Notes: - N/A --------- Co-authored-by: Mikayla Maki <mikayla@zed.dev>
Peter Tripp and Mikayla Maki created
22b1a02
vim: Implement `<count>%` motion (#25839)
Closes https://github.com/zed-industries/zed/discussions/25665
> Currently Zed is missing quite an useful Vim motion: <count>% (go to
{count} percentage in the file).
Description:
{count}% - Go to {count} percentage in the file, on the first non-blank
in the line linewise. To compute the new line number this formula is
used: ({count} * number-of-lines + 99) / 100 .
> [Link](https://neovim.io/doc/user/motion.html#N%25).
Release Notes:
- vim: Added `<count>%` motion
---------
Co-authored-by: Conrad Irwin <conrad@zed.dev>
brian tan and Conrad Irwin created
314ad5d
Clear pending staged/unstaged diff hunks hunks when writing to the git index fails (#26173)
Release Notes: - Git Beta: Fixed a bug where discarding a hunk in the project diff view performed two concurrent saves of the buffer. - Git Beta: Fixed an issue where diff hunks appeared in the wrong state after failing to write to the git index.
Max Brunsfeld created
d3c6865
Improve cmd-click in terminal to find more paths (#26174)
Closes https://github.com/zed-industries/zed/issues/25701 Reworks the way cmd-click is handled: * first, all worktree entries are checked for existence This allows more fine-grained lookup of entries that are in the worktree, but their path in the terminal is not "full": in case neither `cwd` no worktree's root + that temrinal paths form a valid path (https://github.com/zed-industries/zed/issues/25701) The worktrees are sorted by "the most close to cwd first" so such files are attempted to resolved in the most specific worktree. This also fixes no cmd-click working in the remote ssh. * second, only if the client is local, do the FS checks to find non-indexed files Release Notes: - Improved cmd-click in terminal to find more paths
Kirill Bulatov created
43339c6
assistant2: Improve clarity of loading state (#26178)
Follow up to https://github.com/zed-industries/zed/pull/23299. Having the loading state on the button makes sense, but it's also too subtle. If you're waiting on an LLM response that takes a while, like a "thinking state", not having anything more clearly visible communicating that the model is still in-progress can make you think something is wrong. <img src="https://github.com/user-attachments/assets/da64516e-5540-4294-97a2-e4542ce704f3" width="700px" /> Release Notes: - N/A
Danilo Leal created
e505d6b
Git uncommit warning (#25977)
Adds a prompt when clicking the uncommit button when the current commit is already present on a remote branch:  Release Notes: - N/A --------- Co-authored-by: Conrad <conrad@zed.dev>
Julia Ryan and Conrad created
0200dda
Disable uncommit button for parentless commits (#25983)
Closes #25976 There's a couple states that this covers: - upon `git init`, no footer is shown at all - after 1 commit (or when on any parentless commit), the uncommit button is ~disabled~ hidden - otherwise commit button is shown Also updated the button with "meta" tooltip showing human readable description and git command. Release Notes: - N/A --------- Co-authored-by: Nate Butler <iamnbutler@gmail.com>
Julia Ryan and Nate Butler created
4db9ab1
elixir: Extract to zed-extensions/elixir repository (#26167)
This PR extracts the Elixir extension to the [zed-extensions/elixir](https://github.com/zed-extensions/elixir) repository. Release Notes: - N/A
Marshall Bowers created
5daadc0
git: Add CHERRY_PICK_HEAD to the list of merge heads (#26145)
Attempt to fix an issue where conflicts from a cherry-pick don't get cleared out of the git panel after being resolved. Release Notes: - Git Beta: Fixed resolution of conflicts from cherry-picks not being reflected in the git panel
Cole Miller created
431727f
csharp: Extract to zed-extensions/csharp repository (#26166)
This PR extracts the C# extension to the [zed-extensions/csharp](https://github.com/zed-extensions/csharp) repository. Release Notes: - N/A
Marshall Bowers created
cee98f8
git_ui: Fix typo in comment (#26162)
This PR fixes a typo in a comment. Release Notes: - N/A
Marshall Bowers created
e99d68a
git_ui: Scaffold out support for generating commit messages with an LLM (#26161)
This PR adds the rough structure needed to support generating commit messages using an LLM. This functionality is not yet surfaced to the user. This is the current state, if you tweak the source to show the button: https://github.com/user-attachments/assets/66d1fbc4-09f3-4277-84f4-e9c9ebab274c Release Notes: - N/A
Marshall Bowers created
6a3e804
Update Rust crate anyhow to v1.0.97 (#26152)
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [anyhow](https://redirect.github.com/dtolnay/anyhow) | workspace.dependencies | patch | `1.0.96` -> `1.0.97` | --- ### Release Notes <details> <summary>dtolnay/anyhow (anyhow)</summary> ### [`v1.0.97`](https://redirect.github.com/dtolnay/anyhow/releases/tag/1.0.97) [Compare Source](https://redirect.github.com/dtolnay/anyhow/compare/1.0.96...1.0.97) - Documentation improvements </details> --- ### Configuration đ **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, Automerge - At any time (no schedule defined). đŚ **Automerge**: Disabled by config. Please merge this manually once you are satisfied. âť **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. đ **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xODUuNCIsInVwZGF0ZWRJblZlciI6IjM5LjE4NS40IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate[bot] and renovate[bot] created
c2375a4
Update Rust crate async-trait to v0.1.87 (#26158)
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [async-trait](https://redirect.github.com/dtolnay/async-trait) | workspace.dependencies | patch | `0.1.86` -> `0.1.87` | --- ### Release Notes <details> <summary>dtolnay/async-trait (async-trait)</summary> ### [`v0.1.87`](https://redirect.github.com/dtolnay/async-trait/releases/tag/0.1.87) [Compare Source](https://redirect.github.com/dtolnay/async-trait/compare/0.1.86...0.1.87) - Documentation improvements </details> --- ### Configuration đ **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, Automerge - At any time (no schedule defined). đŚ **Automerge**: Disabled by config. Please merge this manually once you are satisfied. âť **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. đ **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xODUuNCIsInVwZGF0ZWRJblZlciI6IjM5LjE4NS40IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate[bot] and renovate[bot] created
9d54e63
Fix git branches in non-active repository (#26148)
Release Notes: - Git Beta: Fixed a bug where the branch selector would only show for the first repository opened. --------- Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com> Co-authored-by: Richard Feldman <oss@rtfeldman.com>
Mikayla Maki , Conrad Irwin , and Richard Feldman created
2a919ad
git: Make repo selector wider (#26149)
âŚm_item() Closes #ISSUE Release Notes: - git: Fixed repository selector being too narrow
Conrad Irwin created
f13b2fd
Fix left clicking the close button in the switcher (#25979)
The close button on each tab previously only worked when you right clicked it, presumably because on macos people were using `ctrl+tab` to open the picker, and clicking with `ctrl` held registers as a right click. Now it should work with either mouse button. Release Notes: - N/A Co-authored-by: Conrad <conrad@zed.dev>
Julia Ryan and Conrad created
7c39153
assistant_tools: Add `list-worktrees` and `read-file` tools (#26147)
This PR adds two new tools to Assistant 2: - `list-worktrees` - Lists the worktrees in a project - `read-file` - Reads a file at the given path in the project I don't see `list-worktrees` sticking around long-term, as when we have tools for listing files those will include the worktree IDs along with the path, but making this tool available allows the model to utilize `read-file` when it otherwise wouldn't be able to. Release Notes: - N/A
Marshall Bowers created
d0c2bef
anthropic: Use an empty object if no tool input is provided (#26144)
This PR changes the default value when no input is provided with a tool
use from `null` to `{}`.
This fixes an issue I was seeing where tools that didn't accept input
were not being called correctly.
Release Notes:
- N/A
Marshall Bowers created
87b3fef
Fix panic when expanding a deletion hunk with blame open (#26130)
Closes #26118 Release Notes: - Fixed a panic when expanding diff hunks while git blame is open
Cole Miller created
66784c0
Fix language model selector (#26138)
This PR fixes the language model selector. I tried to piece together the state prior to #25697 (the state it was in at 11838cf89e0b96531f90f22432b3df6859587871) while retaining unrelated changes that happened since then. Release Notes: - Fixed an issue where language models would not be authenticated until after the model selector was opened (Preview only).
Marshall Bowers created
ad9c508
Fix performance regression in multibuffer diff syncing (#26137)
This fixes a performance problem introduced in #25906 and caused by calling `BufferDiff::snapshot` too frequently. Release Notes: - Fixed a performance regression related to buffer diffs Co-authored-by: Conrad <conrad@zed.dev>
Cole Miller and Conrad created
aaa506c
Bump Tree-sitter to 0.25.3 for error recovery fixes (#26092)
For https://github.com/tree-sitter/tree-sitter/pull/4257 Release Notes: - Fixed a hang that could occur when editing certain Zig files.
Max Brunsfeld created
a602c50
assistant2: Allow adding directories as context that contain non-UTF8 files (#26135)
We would previously return an error if there was at least one non-UTF8 file. Now we just ignore them and only add text files. If no text files are found we show an error. Release Notes: - N/A
Bennet Bo Fenner created
728c161
Clean up language model selector (#26134)
This PR does some cleanup for the language model selector after https://github.com/zed-industries/zed/pull/26090. Release Notes: - N/A
Marshall Bowers created
3975d8e
vim: Rename wrapping keybindings + document cursor wrapping (#25694)
https://github.com/zed-industries/zed/pull/25663#issuecomment-2686095807 Renamed the `vim::Backspace` and `vim::Space` actions to `vim::WrappingLeft` and `vim::WrappingRight` respectively. The old names are still available, but they are marked as deprecated and users are advised to use the new names. Also added a paragraph to the docs describing how to enable wrapping cursor navigation.
Asqar Arslanov created
2d050a8
Fix SSH remotes running Nushell (#25613)
- Closes: https://github.com/zed-industries/zed/issues/21005 Nushell does not support `uname -sm` So invoke `sh -c "uname -sm"` instead which will also work under nushell. See https://github.com/nushell/nushell/issues/12570 for the choice quote: "being posix/bash compliant is a non-goal" Release Notes: - Fixed ssh remotes running Nushell
Peter Tripp created
e600e71
vim: Fix tab title when using `!!` and disable rerun button for terminal tasks (#26122)
These changes tackle two issues with running terminal commands via vim mode: - When using `!!` the tab's title was set to `!!` instead of the previous command that was run and these changes fix that in order to always display the previous command in the tab's title when re-running the command with `!!` - For a terminal command, pressing the rerun button would actually bring up the task palette, so this has been updated in order to disable the rerun button when the terminal tab was spawned via a vim command Closes #25800 Release Notes: - Fixed the terminal tab title when using `!!` to rerun the last command - Improved the terminal tab for when command is run via vim mode, in order to disable the rerun button, seeing as Zed does not support it
Dino created
82d85fd
deno: Extract to zed-extensions/deno repository (#26129)
This PR extracts the Deno extension to the [zed-extensions/deno](https://github.com/zed-extensions/deno) repository. Release Notes: - N/A
Marshall Bowers created
e061ebb
editor: Fix cmd + click on a URL not working sometimes (#26128)
Closes #25647 This PR fixes two issues related to cmd + click on URL: 1. Normally cmd + click on URL, it opens browser. Now, alt + tab back to Zed. If you cmd + click on link again it won't work, until you normal click some where else in buffer. It won't even show underline. 2. Again, cmd + click on URL, it opens browser. Now, alt + tab back to Zed. If you cmd + click, some where else in buffer like just normal text, and now try to hover on URL it won't show up underline and cmd + click on it won't work. Unless again, if you plain click somewhere else. Problem: Issue is when clicking we set pending anchor (for selection), and when we mouse up we clear those. This works for normal case without pressing any modifier. But, in case of cmd modifier, we set pending anchor (set when `SelectPhase::Begin`), but we don't clear it once we use that data. Fix: Once we end up using selection, anchor, etc data to figure out where to navigate either URL/defination etc, we clear selection just like how we do it in normal click. This doesn't require to happen after navigate task, so we do it right after our usage of it. Before: https://github.com/user-attachments/assets/b33d93fc-f490-4fa4-ae22-1da1fd6b77a9 After: https://github.com/user-attachments/assets/028f039a-cd13-4651-b461-3ba52f2526de Release Notes: - Fixed an issue where cmd + click on a URL was not working sometimes.
smit created
387ee46
project: Fix issue where Cmd+Click on an import opens the wrong file (#26120)
Closes #21974 `resolve_path_in_worktrees` function looks for provided path in each worktree until valid file is found. In this PR we priortize current buffer worktree before other worktrees, because of edge case where, file with same name might exists in other worktrees. Updated tests to handle this case. Release Notes: - Fixed an issue where the wrong file from a different worktree would open when using `Cmd + Click` on a file import.
smit created
89d89b8
docs: Update MSYS2 section to add information about CLI (#25882)
MSYS2 now provides CLI along with editor in Zed package: https://packages.msys2.org/packages/mingw-w64-ucrt-x86_64-zed Closes #ISSUE Release Notes: - N/A
Maksim Bondarenkov created
f07ae54
vim: Add registers view (#25945)
Closes #18157 Release Notes: - vim: Added `:reg[isters]` to show the current values of registers --------- Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
AidanV and Conrad Irwin created
ff0bb1f
vim: Fix `insert before` in visual modes (#25603)
Closes #22536 Changes: - Visual and visual block: Cursor at start of selection. - Visual line: Cursor at start on line. - Uses different handling since the selection does not actually change in vline. Release Notes: - vim: Fixed insert before (`shift-i`) in visual modes.
brian tan created
9c7eee2
vim: Fix ignoring `cursor_shape` settings (#25439)
Closes #ISSUE [Block cursor in insert mode #25322](https://github.com/zed-industries/zed/discussions/25322) Respect the `cursor_shape` setting in insert mode Release Notes: - Fixed vim ignoring `cursor_shape` settings
0x2CA created
ec47191
Fix . repeat for remapping surrounds/exchange actions (#26101)
Closes #ISSUE cc @thomasheartman Release Notes: - vim: Fixes `.` repeat for remapped surrounds/exchange actions
Conrad Irwin created
47f8f89
vim: Fix `"seed_search_query_from_cursor" : "selection"` (#26107)
Closes #9311 Closes #14843 Release Notes: - Fixed vim `"seed_search_query_from_cursor" : "selection"`
0x2CA created
d9d3b88
nix: Bump flake to get Rust 1.85 (#26076)
old nixpkgs versions didn't have rust 1.85 and nix develop failed (1.85 is specified in rust-toolchain.toml). ran `nix flake update` to bump the flake dependencies. it now works Release Notes: - N/A
maan2003 created
d7b90f4
Fix diff_hunk_before in a multibuffer (#26059)
Also simplify it to avoid doing a bunch of unnecessary work. Co-Authored-By: Cole <cole@zed.dev> Closes #ISSUE Release Notes: - git: Fix jumping to the previous diff hunk --------- Co-authored-by: Cole <cole@zed.dev>
Conrad Irwin and Cole created
3e64f38
vim: Add support for toggling boolean values (#25997)
Closes #10400 Closes https://github.com/zed-industries/zed/issues/17947 Changes: - Let vim::increment find boolean values in the line and toggle them. Release Notes: - vim: Added support for toggling boolean values with `ctrl-a`/`ctrl-x`
brian tan created
82338e2
vim: Fix clear exchange not working (#25804)
Fixes two issues with the Vim exchange implementation: 1. The clear exchange implementation **didn't** clear the exchange. This was due to us asking the editor to clear normal highlights instead of background highlights. 2. Calling clear exchange also wouldn't cause the operator to be cleared, so you would be left in operator = "cx". I've added tests for both of these cases. Partially closes #25750. It doesn't address the problem with dot repeat not working for my custom bindings, but I don't know what would cause that. I'd love to hear some thoughts on why that is. That might be a problem on my part or it might be something with the code. Input would be appreciated. Release Notes: - Fixed: Vim exchange's "clear exchange" function didn't clear the exchange and kept you in operator pending mode.
Thomas Heartman created
229e853
Make buffer search aware of search direction (#24974)
This solves a couple of issues with Vim search by making the search buffer and `SearchableItem` aware of the direction of the search. If `SearchOptions::BACKWARDS` is set, all operations will be reversed. By making `SearchableItem` aware of the direction, the correct active match can be selected when searching backward. Fixes #22506. This PR does not fix the last problem in that issue, but that one is also tracked in #8049. Release Notes: - Fixes incorrect behavior of backward search in Vim mode
Nico Lehmann created
ed13e05
project search: Fix text cutoff in options help text (#26098)
Closes #25495 Release Notes: - N/A
Ben Kunkle created
674fb76
Fix focus handle leak (#26090)
This fixes a major performance issue in the current git beta. This PR also removes the PopoverButton component, which was easy to misuse. Release Notes: - Git Beta: Fix frame drops caused by opening the git panel --------- Co-authored-by: Mikayla Maki <mikayla.c.maki@gmail.com>
Conrad Irwin and Mikayla Maki created
fe18c73
Fix lag when large diff hunk intersects the viewport (#26088)
We were iterating over the row range of a hunk, and inserting into a hash map for every row. Release Notes: - Fixed a performance problem when a large diff hunk was displayed in an editor.
Max Brunsfeld created
befacfe
assistant2: Prevent concurrent thread saving tasks (#26089)
This PR makes it so only one thread-saving task will be in flight at a time. Release Notes: - N/A
Marshall Bowers created
54f0a72
assistant2: Adjust edit message actions (#26081)
Fine-tuning the visuals (namely, reducing font and keybinding size) and passing `on_click` handlers to the Cancel & Regenerate actions. Release Notes: - N/A
Danilo Leal created
67f9b2b
markdown: Only change the copy code icon to a check temporarily (#26079)
This PR makes it so the copy code icon only changes to a check temporarily. It will now revert to the "copy" icon after 2 seconds. https://github.com/user-attachments/assets/e8983268-9710-4519-97a0-b28dc237b109 Release Notes: - N/A
Marshall Bowers created