Commit log

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

Smit Barmase created

1cfbfc1 windows: Fix tests (#26450)

Click to expand commit body
Closes #ISSUE

Release Notes:

- N/A *or* Added/Fixed/Improved ...

张小白 created

f59f2ca Fix tests on Windows (#26449)

Click to expand commit body
Closes #ISSUE

Release Notes:

- N/A *or* Added/Fixed/Improved ...

张小白 created

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)

Click to expand commit body
Closes #ISSUE

Release Notes:

- N/A

Conrad Irwin created

c2e4fdf Git commit modal branch list (#26417)

Click to expand commit body
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:

![CleanShot 2025-02-26 at 9  08
17@2x](https://github.com/user-attachments/assets/e5db1932-b2c6-4b32-ab67-ef0a0d19f022)

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)

Click to expand commit body
Closes #ISSUE

Release Notes:
ui: Fix error code in button comment.

- N/A *or* Added/Fixed/Improved ...

lydiandy created

c37d6d5 Unwind deprecated permalinks code (#26395)

Click to expand commit body
Release Notes:

- N/A

Conrad Irwin created

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:

![image](https://github.com/user-attachments/assets/3f329ac0-fbdf-480c-9074-5db99591f4e1)

![image](https://github.com/user-attachments/assets/43efdddd-7daf-440f-8c11-d6279330912a)

after:

![image](https://github.com/user-attachments/assets/052c05b8-55c5-495a-a9cc-a5f73aa5aa00)

![image](https://github.com/user-attachments/assets/f598b75f-8d2d-4710-b804-9282de9f8d15)

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.

edwloef created

96a75e0 Fix panic opening branch picker in commit modal (#26407)

Click to expand commit body
Closes #ISSUE

Release Notes:

- N/A

Conrad Irwin created

06cbff6 assistant2: Remove excess padding around scripting tool inputs (#26412)

Click to expand commit body
This PR removes some excess padding around the rendered scripting tool
inputs.

Release Notes:

- N/A

Marshall Bowers created

ce05813 assistant2: Render scripting tool inputs when opening past threads (#26408)

Click to expand commit body
This PR makes it so we render the scripting tool inputs to Markdown when
opening past threads.

Release Notes:

- N/A

Marshall Bowers created

4d1d8d6 Git commit modal command (#26405)

Click to expand commit body
Fix KeyBinding::for_action() to use the active focus handle instead of
what was
rendered last.

This makes the UI consistently chose the cmd-escape binding for close
(because escape in the editor is editor::Cancel?),
so force it to be "escape"

Release Notes:

- git: Fixed escape tooltip in commit modal

Conrad Irwin created

1f8b14f Return back a proper `resolved` value (#26406)

Click to expand commit body
Follow-up of https://github.com/zed-industries/zed/pull/26300


https://github.com/zed-industries/zed/pull/26300/files#diff-a3da3181e4ab4f73aa1697d7b6dc0caa0c17b2a187fb83b076dfc0234ec91f54L16900
changed the snippets' `resolved` value but it should have not.

Release Notes:

- N/A

Kirill Bulatov created

082cc61 assistant2: Persist scripting tool uses in saved threads (#26404)

Click to expand commit body
This PR makes it so the scripting tool uses are persisted to and
restored from saved threads.

Release Notes:

- N/A

Marshall Bowers created

6cfc4dc gpui: Fix transparent titlebar in fullscreen mode on macOS (#26403)

Click to expand commit body
Closes #23735

This PR fixes an issue where Zed shows a transparent title bar in
fullscreen mode on macOS instead of the default gray one.

When switching to fullscreen mode, we change the title bar appearance to
opaque. When exiting fullscreen mode, we check the existing
`appears_transparent` flag that we pass to gpui to decide whether to
change the title bar back to transparent or not.

Note: Regardless of the `appears_transparent` flag, gpui should always
show an opaque title bar in fullscreen mode to prevent a broken
appearance, as macOS always displays the title bar in fullscreen mode
upon mouse interaction.


https://github.com/user-attachments/assets/211fb185-239b-454e-ac7f-b93b25d33805

Release Notes:

- Fixed issue where Zed showed transparent titlebar in fullscreen mode
on macOS.

Smit Barmase created

b9c4868 terminal: Support trailing `:description or error message` after file path (#26401)

Click to expand commit body
Closes #25086

Release Notes:

- Fixed a bug where file paths in the built in terminal of the format
`path/to/file.ext:row:col:description or error message` would not be
correctly identified as file paths due to the colon & additional text at
the end

Ben Kunkle created

570c396 assistant2: Remove unneeded `pub` on field (#26399)

Click to expand commit body
This PR removes an unneeded `pub` on a field in the `ContextStrip`, as
it was never accessed externally.

Release Notes:

- N/A

Marshall Bowers created

5fd034e docs: Add documentation for using debuggers with Zed (#26391)

Click to expand commit body
Just some basic documentation for using debuggers in Zed development.
Goes over configuring cargo to include full debug info, attaching to an
instance of Zed, and using a debugger to debug panics and crashes

Release Notes:

- N/A

Ben Kunkle created

63dab5f Add a missing notify when updating the project diff (#26396)

Click to expand commit body
Closes #ISSUE

Release Notes:

- Git Beta: Fixed a bug that caused the project diff not to update in
response to git-related events

Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>

Cole Miller and Max Brunsfeld created

a2d6df3 scripting_tool: Fix formatting of tool description (#26397)

Click to expand commit body
This PR fixes the formatting of the scripting tool description, as it
had acquired some strange whitespaces.

Release Notes:

- N/A

Marshall Bowers created

30e86ac Add a "secondary" meta key to GPUI keystroke parsing (#26390)

Click to expand commit body
"secondary" means "cmd" on macOS and "ctrl" on not macOS.

Release Notes:

- Added a "secondary" meta key to the zed keystroke parser, which maps
to 'cmd' on macOS and 'ctrl' off of macOS

Mikayla Maki created

976fc3e git_ui: Design Polish (#26361)

Click to expand commit body
Polish PR

- [ ] Horizontal scrollbar for git panel
- [ ] Allow shift clicking a checkbox in any section to stage the whole
section
- [ ] Clean up design of no changes/pending push state in panel
- [x] Ensure checkbox placeholder dot is centered in the checkbox
- [x] Improve spacing between elements in git panel entries
- [x] Update git branch icon to match branch selector text when disabled
- [x] Truncate last commit message less aggressively in panel
- [x] Clean up new panel header design
- [x] Remove `_background` version control keys (backgrounds are derived
from the foreground colors)

### Previous message truncation:

Before:

![CleanShot 2025-03-10 at 11 54
32@2x](https://github.com/user-attachments/assets/46b18f66-bb5c-435e-a0da-6cc931bd8a15)

After:

![CleanShot 2025-03-10 at 11 55
24@2x](https://github.com/user-attachments/assets/fcf688c7-b949-41a2-a7b8-1a198eb7fa4a)

### Make branch icon match when menu is disabled

Before:

![CleanShot 2025-03-10 at 12 02
14@2x](https://github.com/user-attachments/assets/1990f4b3-c2f0-4e02-89ad-211aaebb3821)

After:

![CleanShot 2025-03-10 at 12 02
53@2x](https://github.com/user-attachments/assets/9b1caf65-c48f-44c9-924b-484892fb543f)

Release Notes:

- N/A *or* Added/Fixed/Improved ...

---------

Co-authored-by: Cole Miller <cole@zed.dev>
Co-authored-by: Cole Miller <m@cole-miller.net>
Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>

Nate Butler , Cole Miller , Cole Miller , and Max Brunsfeld created

6309145 Allow too many arguments (#26375)

Click to expand commit body
This is nearly half of our #allows, and seems like something we happily
break whenever we need

Release Notes:

- N/A

Conrad Irwin created

659fae7 Remove GitUiFeatureFlag and enable panel unconditionally (#26386)

Click to expand commit body
Release Notes:

- git: Enable for everyone

Conrad Irwin created

02e9701 assistant2: Improve Lua script rendering (#26389)

Click to expand commit body
This PR improves the rendering of Lua scripts provided to the scripting
tool.

We now render them in code blocks with syntax highlighting:

<img width="1297" alt="Screenshot 2025-03-10 at 2 40 51 PM"
src="https://github.com/user-attachments/assets/def65b5c-86a8-490f-aaa5-5cc1687fe01e"
/>

Release Notes:

- N/A

Marshall Bowers created

5ecc67f Remove --frozen flag for cargo-about (#26385)

Click to expand commit body
This was added to support the nix build but accidentally broke our
bundling. I'll try to re-add it in a way that works for both in the
future.

Release Notes:

- N/A

Julia Ryan created

73dfb10 Scroll project diff into view always (#26379)

Click to expand commit body
Closes #ISSUE

Release Notes:

- N/A

Conrad Irwin created

e513e81 assistant2: Decouple scripting tool from the `Tool` trait (#26382)

Click to expand commit body
This PR decouples the scripting tool from the `Tool` trait while still
allowing it to be used as a tool from the model's perspective.

This will allow us to evolve the scripting tool as more of a first-class
citizen while still retaining the ability to have the model call it as a
regular tool.

Release Notes:

- N/A

Marshall Bowers created

2fc4dec assistant: Use tool interface for scripts (#26377)

Click to expand commit body
We decided to expose scripting as tools again. We are aware of the UX
downsides of doing so, but we want to focus on getting it working well
first, and the model seems to make better use of it as an actual tool.

In the future, the tools API might support streaming. If it doesn't and
we need to ship, we can consider reverting this.

Release Notes:

- N/A

Agus Zubiaga created

3891381 Git keyboard shortcuts (#26374)

Click to expand commit body
Closes #26040

Release Notes:

- git: Add keyboard shortcuts (when the panel is open) for fetch `ctrl-g
ctrl-g`, pull `ctrl-g down`, push `ctrl-g up`, force-push `ctrl-g
shift-up`, open diff `ctrl-g d`

Conrad Irwin created

b91e929 git: Pass project environment to git binary invocations (#26301)

Click to expand commit body
Closes #26213 

Release Notes:

- Git Beta: pass down environment variables from project to git
operations

Cole Miller created