Commit log

39c9b1f Gutter-highlight removed and added portions of expanded diff hunks separately (#24834)

Click to expand commit body
cc @iamnbutler 

Release Notes:

- Color gutter highlights separately for removed and deleted portions of
git modification hunks

Co-authored-by: Conrad <conrad@zed.dev>

Cole Miller and Conrad created

4aae0e2 welcome: Try Zed Edit Prediction (#24876)

Click to expand commit body
Release Notes:

- N/A

---------

Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
Co-authored-by: Antonio Scandurra <me@as-cii.com>
Co-authored-by: Marshall Bowers <git@maxdeviant.com>

Agus Zubiaga , Danilo Leal , Antonio Scandurra , and Marshall Bowers created

744579e Move git status updates to a background thread #2 (#24722)

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

Brings back the PR and fixes the issue with the git status not
propagated, if computed too slow.
Now, git repo update
* waits in the background for all `scan_dir` repo status updates and
triggers another status update send afterwards
* ensures that the update sent is reported correctly (`scanning = true`)
if either FS or status scan is running still
* during worktree's git statuses updates, bumps `status_scan_id` to
ensure the repo update is reported to all subscribers

Release Notes:

- Improved project panel's speed in large projects

Kirill Bulatov created

592e8fb edit predictions: Fix cursor popover edit preview panic (#24866)

Click to expand commit body
Release Notes:

- Fixed a panic when displaying a whitespace-only line in the edit
prediction preview

---------

Co-authored-by: Antonio <antonio@zed.dev>

Agus Zubiaga and Antonio created

a618830 project: Fine-grained language server management (#24038)

Click to expand commit body
Closes #ISSUE
https://github.com/zed-industries/zed/pull/23804
Release Notes:

- Improved detection of project roots for use by language servers.

Closes #ISSUE

Release Notes:

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

---------

Co-authored-by: smit <0xtimsb@gmail.com>
Co-authored-by: Henrikh Kantuni <henrikh.kantuni@gmail.com>
Co-authored-by: Caleb! <48127194+kaf-lamed-beyt@users.noreply.github.com>
Co-authored-by: Marshall Bowers <git@maxdeviant.com>
Co-authored-by: Kirill Bulatov <kirill@zed.dev>
Co-authored-by: Agus Zubiaga <agus@zed.dev>
Co-authored-by: Danilo <danilo@zed.dev>
Co-authored-by: Nate Butler <iamnbutler@gmail.com>

Piotr Osiewicz , smit , Henrikh Kantuni , Caleb! , Marshall Bowers , Kirill Bulatov , Agus Zubiaga , Danilo , and Nate Butler created

8d839fc edit predictions: Fix manually requesting completions (#24860)

Click to expand commit body
We were disabling edit predictions altogether when
`show_edit_predictions` was set to `false`. However, even in that case,
`editor::ShowEditPrediction` is supposed to let your request a
prediction manually.

Release Notes:

- Fixed `editor::ShowEditPrediction` when `show_edit_predictions` is set
to `false`.

Agus Zubiaga created

79ee01e theme: Fix icon theme switching changing the theme (#24849)

Click to expand commit body
Closes #24846 

Release Notes:

- Fixed an issue where changing the icon theme would change the theme.

Sanjeev Shrestha created

3b91de8 Adds a way to toggle font size without settings adjustments (#24857)

Click to expand commit body
Closes https://github.com/zed-industries/zed/issues/23505

Now `zed::IncreaseBufferFontSize` (and all the same UI- and
Buffer-related settings) action is parameterized with `{ "persist": true
}` (default).
Using `"persist": false` brings back resizing behavior prior to
https://github.com/zed-industries/zed/pull/23265


Release Notes:

- Added a way to toggle font size without settings adjustments

Kirill Bulatov created

2f734cb Fix missing hunks in project diff (#24847)

Click to expand commit body
Release Notes:

- N/A

Cole Miller created

5ac8216 Attempt to fix issue_response script (#24842)

Click to expand commit body
Release Notes:

- N/A

Joseph T. Lyons created

e133d3b Add issues_needing_comment script (#24839)

Click to expand commit body
This might require a few follow-up commits to get this to work! 😅

Release Notes:

- N/A

Joseph T. Lyons created

9094f53 Disable edit prediction in Cloudflare Workers `.dev.vars` files (#24838)

Click to expand commit body
This PR adds `.dev.vars` files as a default exclusion for edit
prediction.

These files are used by Cloudflare Workers and are likely to contain
secrets.

Release Notes:

- Excluded Cloudflare Workers `.dev.vars` files from edit prediction.

Marshall Bowers created

5d26ce1 Centralize the `CopyPath` and `CopyRelativePath` actions to `zed_actions` (#24836)

Click to expand commit body
I spent an hour with @marcospb19 this morning debugging an issue with
adding `Copy Path` and `Copy Relative Path` actions to the editor
context menu. Turned out that the problem was using
`workspace::CopyPath` in the menu and `editor::CopyPath` in the action
handler.

This is an easy mistake to make, so let's fix it for everyone.

Release Notes:

- N/A

Mikayla Maki created

28c667a Fix issue with `vim::PushOperator` documentation (#24825)

Click to expand commit body
Closes: #24718

Release Notes:

- N/A

Ben Kunkle created

c38deb1 zeta: Remove `predict-edits-launch` feature flag (#24829)

Click to expand commit body
This PR removes the `predict-edits-launch` feature flag that was added
in #24720.

We don't need this anymore now that we've launched!

Release Notes:

- N/A

Marshall Bowers created

8af54c5 zeta: Update URL to edit prediction blog post (#24828)

Click to expand commit body
This PR updates the URL to the edit prediction blog post.

Release Notes:

- N/A

Marshall Bowers created

8b85d26 docs: Add model-improvement.md (#24813)

Peter Tripp created

8c202b3 editor: Update git hunk indicators to show staging status when hunk is expanded (#24818)

Click to expand commit body
- Update git hunk indicators to show staging status when hunk is
expanded
- Updates uses of status colors to the new version control theme colors
- Adds new version control theme colors to included themes

Before:

![CleanShot 2025-02-13 at 14 42
48@2x](https://github.com/user-attachments/assets/ccca147e-0de2-4e69-9cd4-01b010bf06d0)

After:

![CleanShot 2025-02-13 at 14 42
04@2x](https://github.com/user-attachments/assets/1ab49174-bde5-43b2-83c5-d217533df49a)

(Colors here are from before theme colors were added)


Release Notes:

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

---------

Co-authored-by: cole-miller <m@cole-miller.net>

Nate Butler and cole-miller created

a6a8d79 Rework hunk controls (#24814)

Click to expand commit body
- Remove prev hunk arrow
- Replace next hunk arrow with "Skip" labelled button
- New "Stage"/"Unstage" labelled button

cc @iamnbutler 

Release Notes:

- N/A

---------

Co-authored-by: Nate <nate@zed.dev>
Co-authored-by: Nate Butler <iamnbutler@gmail.com>

Cole Miller , Nate , and Nate Butler created

74e8164 collab: Remove `POST /snowflake/events` endpoint (#24817)

Click to expand commit body
This PR removes the `POST /snowflake/events` endpoint that was added in
#23842, as it is no longer used.

Release Notes:

- N/A

Marshall Bowers created

16ffddf edit predictions: Prefer keybinding with least modifiers when not in conflict mode (#24812)

Click to expand commit body
This workaround a gpui issue where we don't pick the right keybinding

Release Notes:

- N/A

Agus Zubiaga created

2f741c8 vim: Fix :wq in multibuffer (#24603)

Click to expand commit body
Supercedes #24561
Closes #21059

Before this change we would skip saving multibuffers regardless of the
save intent. Now we correctly save them.

Along the way:
* Prompt to save when closing the last singleton copy of an item (even
if it's still open in a multibuffer).
* Update our file name prompt to pull out dirty project items from
multibuffers instead of counting multibuffers as untitled files.
* Fix our prompt test helpers to require passing the button name instead
of the index. A few tests were passing invalid responses to save
prompts.
* Refactor the code a bit to hopefully clarify it for the next bug.

Release Notes:

- Fixed edge-cases when closing multiple items including multibuffers.
Previously no prompt was generated when closing an item that was open in
a multibuffer, now you will be prompted.
- vim: Fix :wq in a multibuffer

Conrad Irwin created

8c780ba Fix branches with slashes in their names not being listed (#24809)

Click to expand commit body
`refs/heads/*` doesn't match e.g. `refs/heads/cole/branch-with-slash`
(thanks fnmatch), but `refs/heads/**/*` does. This also works for
several levels of slash.

Release Notes:

- N/A

Cole Miller created

de0d9d6 Save open buffers before staging or unstaging their backing files (#24767)

Click to expand commit body
Release Notes:

- N/A

Cole Miller created

2db5eed edit predictions: Do not use conflict context for other providers (#24807)

Click to expand commit body
This is to avoid confusing copilot/supermaven users when the cursor is
on leading whitespace.

Release Notes:

- N/A

Agus Zubiaga created

cf176da legal: Terms of Use (2025-02-13) (#24803)

Click to expand commit body
Updated [Zed Terms of Use](https://zed.dev/terms) for Edit Predictions

Peter Tripp created

c3afeda Make edit prediction bindings backwards compatible with existing user keymaps (#24802)

Click to expand commit body
Release Notes:

- N/A

---------

Co-authored-by: Antonio <antonio@zed.dev>

Agus Zubiaga and Antonio created

d57f593 Git panel: Right click menu (#24787)

Click to expand commit body
Release Notes:

- N/A

Conrad Irwin created

fc7bf7b Bump Zed to v0.175 (#24785)

Click to expand commit body
Release Notes:

-N/A

Joseph T. Lyons created

5d63424 remote_server: Remove unnecessary Box, prevent time-of-check time-of-use bug (#24730)

Click to expand commit body
The MultiWrite struct is defined in the function scope and is allowed to
have a concrete type, which means we can throw away the extra Box.
PathBuf::exists is known to be prone to invalid usage. It doesn't take
into account permissions errors and just returns false, additionally it
introduces a time-of-check time-of-use bug. While extremely unlikely,
why not fix it anyway.

Release Notes:

- remove unnecessary Box
- prevent time-of-check time-of-use bug

tidely created

21a1541 Branch/co-authors in commit (#24768)

Click to expand commit body
- **branch selector in commit box**
- **TEMP**
- **Add co-authors toggle button**

Closes #ISSUE

Release Notes:

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

---------

Co-authored-by: Mikayla <mikayla@zed.dev>

Conrad Irwin and Mikayla created

7186709 Migrate edit_prediction_provider setting before updating its value to 'zed' during onboarding (#24781)

Click to expand commit body
This fixes a bug where we'd update your settings to an invalid state if
you were using the old `inline_completion_provider` setting, then
onboarded to Zeta, then migrated your settings.

Release Notes:

- N/A

Co-authored-by: Michael Sloan <mgsloan@gmail.com>
Co-authored-by: Agus Zubiaga <hi@aguz.me>

Max Brunsfeld , Michael Sloan , and Agus Zubiaga created

3d68dba edit predictions: Iterate on onboarding modal copywriting (#24779)

Click to expand commit body
Release Notes:

- N/A

---------

Co-authored-by: Nathan Sobo <1789+nathansobo@users.noreply.github.com>

Danilo Leal and Nathan Sobo created

f0cd71e Update cloudflare/wrangler-action digest to 392082e (#24753)

Click to expand commit body
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[cloudflare/wrangler-action](https://redirect.github.com/cloudflare/wrangler-action)
| action | digest | `7a5f8bb` -> `392082e` |

---

### 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:eyJjcmVhdGVkSW5WZXIiOiIzOS4xNjcuMSIsInVwZGF0ZWRJblZlciI6IjM5LjE2Ny4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

renovate[bot] and renovate[bot] created

a13c2ba Improve error message for `AcceptEditPredictions` - add docs link (#24772)

Click to expand commit body
The docs have not been updated yet, this is anticipating their presence
soon.


![image](https://github.com/user-attachments/assets/bbcf56f2-6d5b-460b-8ed0-36bef3b4f12f)

Release Notes:

- N/A

Michael Sloan created

7ba1492 file_icons: Add separate icon key for Bicep files (#24757)

Click to expand commit body
This PR adds support for bicep file icon:

Release Notes:

- Icon themes: Added the ability to change the file icon for Bicep
(`.bicep`) files.

Michal Vrbata created

0a68122 edit predictions: Enable blog post link behind a feature flag (#24720)

Click to expand commit body
This PR updates the blog post link in the onboarding modal to be behind
the `predict-edits-launch` feature flag instead of a staff flag.

This will allow us to enable the blog post link once we're live.

Release Notes:

- N/A

---------

Co-authored-by: Marshall Bowers <git@maxdeviant.com>

Danilo Leal and Marshall Bowers created

277fb54 zeta: Respect `x-zed-minimum-required-version` header (#24771)

Click to expand commit body
This PR makes it so Zeta respects the `x-zed-minimum-required-version`
header sent back from the server.

If the current Zed version is strictly less than the indicated minimum
required version, we show an error indicating that an update is required
in order to continue using Zeta:

<img width="472" alt="Screenshot 2025-02-12 at 6 15 44 PM"
src="https://github.com/user-attachments/assets/51b85dff-23a0-464c-ae4b-5b8f46b5915c"
/>

Release Notes:

- N/A

Marshall Bowers created

0e42a69 Update dependency danger to v12.3.4 (#24770)

Click to expand commit body
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [danger](https://redirect.github.com/danger/danger-js) | [`12.3.3` ->
`12.3.4`](https://renovatebot.com/diffs/npm/danger/12.3.3/12.3.4) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/danger/12.3.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/danger/12.3.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/danger/12.3.3/12.3.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/danger/12.3.3/12.3.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>danger/danger-js (danger)</summary>

###
[`v12.3.4`](https://redirect.github.com/danger/danger-js/blob/HEAD/CHANGELOG.md#1234)

[Compare
Source](https://redirect.github.com/danger/danger-js/compare/12.3.3...12.3.4)

- Ensure that [babel ignores](https://babeljs.io/docs/options#ignore) do
not cause the transpiler to fall over, by supporting the
`null` return from `loadOptions` which occurs when a file is ignored.
-   Allow absolute paths for a Dangerfile

</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:eyJjcmVhdGVkSW5WZXIiOiIzOS4xNjcuMSIsInVwZGF0ZWRJblZlciI6IjM5LjE2Ny4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

renovate[bot] and renovate[bot] created

b014afa Add an undo button to the git panel (#24593)

Click to expand commit body
Also prep infrastructure for pushing a commit

Release Notes:

- N/A

---------

Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Co-authored-by: Conrad <conrad@zed.dev>
Co-authored-by: Nate Butler <iamnbutler@gmail.com>

Mikayla Maki , Conrad Irwin , Conrad , and Nate Butler created

df8adc8 Fix linux zeta modifiers display (#24764)

Click to expand commit body
Improves rendering of Zeta keybind shortcuts on Linux

Before:

![image](https://github.com/user-attachments/assets/9b6a61f7-dade-480f-a864-acdcede05957)

After: (with muting modifier changes merged)

![image](https://github.com/user-attachments/assets/dd616d29-ac2e-4c8b-bf9b-5d74f8e4f1c4)


Release Notes:

- N/A

---------

Co-authored-by: Michael <michael@zed.dev>
Co-authored-by: Agus <agus@zed.dev>

Ben Kunkle , Michael , and Agus created

522b8d6 editor: Fix autoscroll flickering regression (#24758)

Click to expand commit body
This PR fixes autoscroll flickering issue caused by recent
[#24735](https://github.com/zed-industries/zed/pull/24735) which fixes
soft wrap scroll issues. No release notes, as this was few hours ago.

Adding vertical scrollbar width to viewport width, so that autoscroll
function don't try to that much pixels extra.

Release Notes:

- N/A

smit created

5dc3c23 workspace: Do not reuse window for sub directory (only for root directory and sub files) (#24560)

Click to expand commit body
Closes #10232

Context:

We have three ways to open files or dirs in Zed: `zed`, `zed --new`, and
`zed --add`. `--new` forces the project to open in a new window, while
`--add` forces it to open in an existing window (even if the dir isn’t a
subdir of an existing project or the file isn’t part of it).

Using just `zed` tries to open it in an existing window based on similar
logic of `--add`, but if no related project is found the dir, opens in a
new window.

Problem:

Right now, subdirs that are part of an existing project open in the
existing window when using `zed`. By default, subdirs should open in a
new window instead. If someone wants to open it in the existing window,
they can explicitly use `--add`. After this PR, only root dir and files
will focus on existing window, when `zed ` is used.

Fix:

For the `zed` case, we’ve filtered out subdirs in the logic that assigns
them to an existing window.

Release Notes:

- Fixed an issue where subdirectories of an already opened project, when
opened via the terminal, would open in the existing project instead of a
new window.

smit created

c771ca4 Fix <1px gap between diff popover and accept keybindingg (#24756)

Click to expand commit body
Release Notes:

- N/A

Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
Co-authored-by: rtfeldman <oss@rtfeldman.com>
Co-authored-by: mgsloan <mgsloan@gmail.com>

Agus Zubiaga , Max Brunsfeld , Danilo Leal , rtfeldman , and mgsloan created

ab4a6f1 Open git panel when deploying project diff via action (#24751)

Click to expand commit body
Release Notes:

- N/A

Cole Miller created

316b97d Position prediction popover adjacent to edit if possible (#24750)

Click to expand commit body
Also, place accept key binding indicator on right edge of popover to
avoid obscuring content above.

Release Notes:

- N/A

Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
Co-authored-by: rtfeldman <oss@rtfeldman.com>
Co-authored-by: Agus Zubiaga <hi@aguz.me>

Max Brunsfeld , Danilo Leal , rtfeldman , and Agus Zubiaga created

eea6b52 Implement staging and unstaging hunks (#24606)

Click to expand commit body
- [x] Staging hunks
- [x] Unstaging hunks
- [x] Write a randomized test
- [x] Get test passing
- [x] Fix existing bug in diff_base_byte_range computation
- [x] Remote project support
- [ ] ~~Improve performance of
buffer_range_to_unchanged_diff_base_range~~
- [ ] ~~Bug: project diff editor scrolls to top when staging/unstaging
hunk~~ existing issue
- [ ] ~~UI~~ deferred
- [x] Tricky cases
  - [x] Correctly handle acting on multiple hunks for a single file
- [x] Remove path from index when unstaging the last staged hunk, if
it's absent from HEAD, or staging the only hunk, if it's deleted in the
working copy

Release Notes:

- Add `ToggleStagedSelectedDiffHunks` action for staging and unstaging
individual diff hunks

Cole Miller created

ea8da43 ui: Fix keybind sizing for non-default UI font sizes (#24708)

Click to expand commit body
Closes #24597 

This fixes the regression from
https://github.com/zed-industries/zed/commit/00971fbe415fdc4695307f192134093c7bcd138c
which removed the `text_ui(cx)` - call from the keybinding render. The
removal caused improperly scaled font rendering as shown in the images
below.

This PR reintroduces this behaviour for all cases where `size` is not
set.

| | `main` | With this patch | Parent of
https://github.com/zed-industries/zed/commit/00971fbe415fdc4695307f192134093c7bcd138c
| --- | ---- | ---- | --- |
| Small font size (10px) | <img width="204" alt="cur_small"
src="https://github.com/user-attachments/assets/2bb1615a-c346-4da5-855c-01894744ee74"
/> | <img width="205" alt="pr_small"
src="https://github.com/user-attachments/assets/26ab70f0-d6ca-439b-aaea-4d6ded4f8f11"
/> | <img width="203" alt="prev_small"
src="https://github.com/user-attachments/assets/92a04008-8408-4a98-83a2-59fdd6e5708a"
/> |
| Large font size | <img width="369" alt="cur_big"
src="https://github.com/user-attachments/assets/8400c205-19b6-479c-a3d1-df12ed4e84da"
/> | <img width="398" alt="pr_big"
src="https://github.com/user-attachments/assets/01f495aa-0be1-4169-ae09-4292b0e638ff"
/> | <img width="389" alt="prev_big"
src="https://github.com/user-attachments/assets/e041a8ea-a958-4a3b-8fef-0f7fe5079c34"
/> |


Release Notes:

- Fixed keybind hints being improperly scaled for custom ui font sizes

Finn Evers created

cc97f41 editor: Fix horizontal scroll when soft wrap is active (#24735)

Click to expand commit body
Closes #22252

This PR fixes the bug introduced in
https://github.com/zed-industries/zed/pull/19495 by:

Problem:

The vertical scrollbar is currently rendered absolutely on top of the
editor. When calculating soft wrap, the editor uses its width to decide
how many words fit on a line. This causes words to overlap with the
vertical scrollbar because it doesn't account for the scrollbar's width.
To fix the overlap, extra overflow is added to the scrollbar, which
solves the issue but creates unnecessary scrolling in soft wrap mode.

Fix:

The editor width is adjusted to account for the scrollbar's width. This
makes sure the correct number of words fit on a line and prevents
overlapping with the scrollbar in soft wrap mode.

Since the scrollbar width is now accounted for in the editor's width,
there's no need to add extra overflow, unless there’s no soft wrap. In
that case, when text overflows the editor’s width, we still need to add
extra overscroll to match the scrollbar width. Without this, long lines
will overlap with the scrollbar.

Release Notes:

- Fixed issue where horizontal scrollbar would scroll few characters
width when soft wrap is active.

smit created

ba7d2ba project: Activate `buffer_diff/test-support` in `test-support` (#24739)

Click to expand commit body
Closes #ISSUE

Release Notes:

- N/A

Piotr Osiewicz created