d6255fb
git: Prevent up and down motions leaking out of the commit editor (#26501)
Click to expand commit body
Closes #ISSUE
Release Notes:
- Git Beta: fixed an issue where pressing `up` or `down` in the git
panel's commit message editor would change the selected status entry
Cole Miller
created
f9a66ec
Add detection of self hosted GitHub enterprise instances (#26482)
Click to expand commit body
This PR does not close an issue, but it is an issue and and fix in one.
I hope this is ok, but please let me know if you prefer me to open an
issue before.
Release Notes:
- Add "copy permalink" action for self-hosted GitHub enterprise
instances
# Issue
### Related issues:
* https://github.com/zed-industries/zed/issues/26393
* https://github.com/zed-industries/zed/issues/11043
When you try to copy a permalink from a self-hosted GitHub enterprise
instance, you get the following error:
<img width="383" alt="permalink"
src="https://github.com/user-attachments/assets/b32338a7-a2d7-48fc-86bf-ade1d32ed1f7"
/>
You also cannot open a PR or commit when you hover over a git blame:
https://github.com/user-attachments/assets/a5491ce7-270b-412f-b9ac-027ec020b028
### Reproduce
If you do not have access to a self-hosted GitHub instance, you can
change the remote url of any git repo:
```
git remote set-url origin git@github.mycorp.com:nilskch/zed.git
```
With the fix, permalinks still won't bring you to a valid website, but
you can verify that they are correctly created.
# Solution
Currently, we only support detecting self-hosted GitLab instances, but
not self-hosted GitHub instances. We detect GitLab instances by checking
if "gitlab" is part of the git URL.
This PR adds the same logic to detect self-hosted GitHub enterprise
instances (by checking if "github" is in the URL).
This solution is not ideal, since self-hosted GitHub or GitLab instances
might not contain the word "github" or "gitlab". #26393 proposes adding
a setting that would allow users to map specific domains to their
corresponding git provider types. This mapping would help Zed correctly
identify the appropriate git instance, even if "gitlab" or "github" are
not part of the URL.
This PR does not implement the offered solution, but I added a TODO
where the fix for #26393 has to make changes.
Nils Koch
created
cfb9a4b
Fix git panel entries getting cut off (#26499)
Click to expand commit body
Closes #26497
Release Notes:
- N/A
Cole Miller
created
9902cd5
extension_host: Remove restriction of extension API v0.3.0 to development builds (#26498)
This PR releases v0.3.0 of the Zed extension API.
Support for this version of the extension API will land in Zed v0.178.x.
Release Notes:
- N/A
Marshall Bowers
created
a364a13
Fix panel not resizing after external file deletion (#26378)
Click to expand commit body
Previously, when a file was deleted externally and the warning prompt
was dismissed with "Close", the panel remained but was empty, leaving an
unused split space.
This happened because pane.remove_item(...) was being called with
close_pane_if_empty set to false, preventing the panel from being
removed even when it had no remaining items.
This fix changes the third boolean parameter to true, ensuring that the
panel is removed if it becomes empty, allowing the layout to properly
resize.
Closes #23904
Release Notes:
- N/A
Known Issues:
- When items can horizontal scroll, the right selected border is hidden
TODO:
- [ ] Width calculation is off
- [ ] When scrollbars should autohide they don't until hovering the
panel
- [ ] When switching to and from scrollbar track being visible we are
missing a notify somewhere.
Release Notes:
- Git Panel: Added horizontal scrolling in the git panel
---------
Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
Co-authored-by: Cole Miller <m@cole-miller.net>
Co-authored-by: Cole Miller <cole@zed.dev>
Nate Butler
,
Max Brunsfeld
,
Cole Miller
, and
Cole Miller
created
28f33d0
Fix conflict marker in project diff view (#26466)
Click to expand commit body
Closes #ISSUE
Release Notes:
- N/A
Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
Conrad Irwin
and
Max Brunsfeld
created
55a90f5
ui: Split up `ContextMenu::render` into smaller methods (#26489)
Click to expand commit body
This PR refactors the `ContextMenu::render` method to extract a couple
smaller methods from it.
The existing `render` method was suffering from its size, with some of
the `match` arms not being able to be formatted with `rustfmt`.
Release Notes:
- N/A
Follow-up of https://github.com/zed-industries/zed/pull/26174
* Fixes `./path/foo.bar` not properly parsed as valid open target
* Shows full open target's path in cmd-hover tooltips
Before:
<img width="864" alt="before_1"
src="https://github.com/user-attachments/assets/2575b887-6c4d-486e-8e92-dd76aedf8103"
/>
<img width="864" alt="before_2"
src="https://github.com/user-attachments/assets/ded1f203-523c-4b75-afe9-fe541c785798"
/>
After:
<img width="864" alt="after_1"
src="https://github.com/user-attachments/assets/c50d9ba3-5dfb-4cfb-aed6-00e6fa6f088e"
/>
<img width="864" alt="after_2"
src="https://github.com/user-attachments/assets/0cdc8f34-7faa-4aab-87f3-dc0c8b499842"
/>
Release Notes:
- N/A
Kirill Bulatov
created
04961a0
Tweak stage/unstage-and-next to start a commit instead of wrapping in the project diff editor (#26434)
Click to expand commit body
Release Notes:
- Git Beta: improved the stage-and-next and unstage-and-next actions in
the project diff editor to start a commit after acting on the last hunk
Cole Miller
created
fd7ab20
Don't clobber the user's upstream settings (#26486)
Click to expand commit body
It's not clobbering time :(
Release Notes:
- Git Beta: Fixed a bug where our push button would always overwrite the
current branch's upstream
Mikayla Maki
created
7019aca
git_ui: Truncate long repository and branch names for respective selectors in panel (#26483)
Click to expand commit body
This PR fixes a long repo name pushing the branch selector off the
screen, as well as just generally truncating them down in a way smarter
than a fixed character limit when long.
| Before | After |
|---------|-----------|
| 
| 
|
Release Notes:
- Git Panel: Smart truncate long branch and repository names in their
respective selectors
The notifications from git output could take up variable amounts of
screen space, and they were quite obnoxious when a git command printed
lots of output, such as fetching many new branches or verbose push
hooks.
This change makes the push/pull/fetch buttons trigger a small
notification toast, based on the output of the command that was ran. For
errors or commands with more output the user may want to see, there's an
"Open Log" button which opens a new buffer with the output of that
command.
It also uses this behavior for long error notifications for other git
commands like `commit` and `checkout`. The output of those commands can
be quite long due to arbitrary githooks running.
Release Notes:
- N/A
---------
Co-authored-by: Mikayla Maki <mikayla.c.maki@gmail.com>
Julia Ryan
and
Mikayla Maki
created
e820864
assistant2: Show scripting tool in the tool selector (#26484)
Click to expand commit body
This PR adds the scripting tool to the tool selector.
Release Notes:
- N/A
Marshall Bowers
created
a90f807
settings: Enable JSX tag auto-close by default (#26481)
Click to expand commit body
Based on conversation with @maxbrunsfeld. Enabling Tag auto closing by
default so that it is discoverable for new and existing users
Release Notes:
- Made it so JSX tag auto-closing is automatically enabled in supported
languages
This PR adds a tool selector to Assistant 2 to facilitate customizing
the tools that the model sees:
<img width="1297" alt="Screenshot 2025-03-11 at 4 25 31 PM"
src="https://github.com/user-attachments/assets/7a656343-83bc-4546-9430-6a5f7ff1fd08"
/>
Release Notes:
- N/A
Marshall Bowers
created
0cf6259
Make nano save (`ctrl-o`) work by-default in terminal (linux) (#26479)
Click to expand commit body
Closes: https://github.com/zed-industries/zed/issues/15770
Release Notes:
- Make nano save (`ctrl-o`) work by-default in terminal (linux)
Peter Tripp
created
5cb5e92
Bump aws-lc-rs to fix Windows release builds (#26477)
Click to expand commit body
Closes https://github.com/zed-industries/zed/discussions/24816
https://github.com/aws/aws-lc-rs/releases/tag/v1.12.6 release includes a
fix for https://github.com/aws/aws-lc-rs/issues/707
Release Notes:
- N/A
Kirill Bulatov
created
da61a28
assistant_tool: Fix inaccurate parameter name (#26473)
Click to expand commit body
This PR fixes an inaccurate parameter name in the
`ToolWorkingSet::insert` method.
Release Notes:
- N/A
Marshall Bowers
created
efdb769
terraform: Extract to zed-extensions/terraform repository (#26475)
Click to expand commit body
This PR extracts the Terraform extension to the
[zed-extensions/terraform](https://github.com/zed-extensions/terraform)
repository.
Release Notes:
- N/A
Marshall Bowers
created
9cce5a6
assistant_tool: Add a `source` to the `Tool` trait (#26471)
Click to expand commit body
This PR adds a `source` method to the `Tool` trait.
This will allow us to track where a tool is coming from.
Release Notes:
- N/A
Marshall Bowers
created
2021ca5
terraform: Do not add each string constraint to the outline (#26453)
Click to expand commit body
Closes #26336
Release Notes:
- N/A
Piotr Osiewicz
created
1771250
Add 'Open Remote...' to File Menu (#26288)
Click to expand commit body
Added some spacers while I was at it.
Release Notes:
- Added 'Open Remote...' to File menu
Peter Tripp
created
18259c0
chore: Bump `windows` crate version (#26455)
Click to expand commit body
Closes #ISSUE
Release Notes:
- N/A
张小白
created
41ddd1c
editor: Fix text selection not visible on text background (#26454)
Click to expand commit body
Closes #25014
Previously, we painted in the order: highlights -> text background ->
text -> etc. This caused text selection to be invisible when the text
had a background.
This PR changes the painting order to: text background -> highlights ->
text -> etc.
Before:
https://github.com/user-attachments/assets/5d9647c4-3ab2-4960-b6b9-e399882a0c50
After:
https://github.com/user-attachments/assets/c699f5b9-4077-45f8-85e5-86c89130eb71
Release Notes:
- Fixed an issue where text selection was not visible on top of a text
background in the editor.
Smit Barmase
created
e175878
macOS: Remove multi-keystroke rendering in title of menu item (#26448)
Click to expand commit body
Closes #25483
Currently, macOS doesn't support showing multi-keystroke shortcuts in
menu items. We can use an attributed string to differentiate them, but
that breaks consistency with traditional shortcuts.
This PR removes the hack of concatenating the multi-keystroke shortcut
to the title, as it looked a bit janky.
Release Notes:
- N/A
401342c
assistant: Display edits from scripts in panel (#26441)
Click to expand commit body
https://github.com/user-attachments/assets/a486ff2a-4aa1-4c0d-be6c-1dea2a8d60c8
- [x] Track buffer changes in `ScriptingSession`
- [x] Show edited files in thread
Reviewing diffs and displaying line counts will be part of an upcoming
PR.
Release Notes:
- N/A
---------
Co-authored-by: Antonio Scandurra <me@as-cii.com>
Agus Zubiaga
and
Antonio Scandurra
created
0df1e4a
Address out-of-bounds panic in inline completion button (#26394)
Click to expand commit body
Closes #26350
Release Notes:
- Git Beta: Fixed a panic that could occur when using the project diff
Cole Miller
created
9bd3e15
Fix enter binding in git panel's commit editor on Linux (#26427)
Click to expand commit body
Closes #26110
Release Notes:
- Git Beta: fixed being unable to enter newline in the git panel's
commit editor on Linux
Cole Miller
created
42c6557
Show a disabled stage all button for no entries (#26436)
Click to expand commit body
Closes #ISSUE
Release Notes:
- N/A
Conrad Irwin
created
ff1d78d
Go back to "create branch" in the list (#26433)
Closes #26273
Release Notes:
- git: Fixes opening the branch selector in the commit modal with
cmd-option-b
- git: Truncates the branch selector in the commit modal
Conrad Irwin
created
bf11b88
scripting tool: Use project buffers in `io.open` (#26425)
Click to expand commit body
This PR makes `io.open` use our own implementation again, but instead of
the real filesystem, it will now use the project's to check file
metadata and perform read and writes using project buffers.
This also cleans up the `io.open` implementation by splitting it into
multiple methods, adds tests for various File I/O patterns, and fixes a
few bugs in read formats.
Release Notes:
- N/A
Agus Zubiaga
created
d562f58
git_ui: Show more information in the branch picker (#25359)
Click to expand commit body
Final product:

Release Notes:
- Added more information about Git branches to the branch picker.
---------
Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
Co-authored-by: Marshall Bowers <git@maxdeviant.com>
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Angelk90
,
Danilo Leal
,
Marshall Bowers
, and
Conrad Irwin
created
94e4aa6
Use current upstream for permalink to line (#26398)
Click to expand commit body
Release Notes:
- git: Copy permalink to line now uses the upstream of the current
branch instead of "origin"
Conrad Irwin
created
8ceba89
ui: Fix error code in button comment (#26423)
1a3597d
Fix race conditions in updating buffer diffs on git changes (#26409)
Click to expand commit body
Release Notes:
- N/A
---------
Co-authored-by: Cole Miller <m@cole-miller.net>
Max Brunsfeld
and
Cole Miller
created
c747ccc
Revert "Return back a proper `resolved` value (#26406)" (#26419)
Click to expand commit body
This reverts commit 1f8b14f4f11e0aab9cd6754690b8315af3ab4757.
Release Notes:
- N/A
Kirill Bulatov
created
d81e768
Use proper order of `Completion::Source` field to have sane default (#26416)
Click to expand commit body
Follow-up of https://github.com/zed-industries/zed/pull/26300
Release Notes:
- N/A
Kirill Bulatov
created
8b29ee6
Add `variable.special` color to Gruvbox themes (#26271)
Click to expand commit body
This adds the `variable.special` color to the Gruvbox family of themes,
which colors special variables (in Rust's case `self`) differently than
normal ones. The colors were taken from the old Gruvbox `variable`
highlighting (see https://github.com/zed-industries/zed/pull/25464).
before:


after:


fixes half of https://github.com/zed-industries/zed/issues/26206. Since
I don't use the Ayu themes I'd prefer someone who knows what looks good
there does those changes.
Release Notes:
- Gruvbox themes: Added a color for `@variable.special` syntax
highlights.