Commit log

b02baea zeta: Use DTOs from `zed_llm_client` crate (#24229)

Click to expand commit body
This PR updates the `zeta` crate to use the predictive edit DTOs defined
in the `zed_llm_client` crate.

This way we aren't duplicating their definitions (and risk them going
out of sync).

Release Notes:

- N/A

Marshall Bowers created

d6a2a0b zeta: Rename `data_collection_permission` back to `can_collect_data` (#24225)

Click to expand commit body
This PR renames some bindings from `data_collection_permission` back to
`can_collect_data`, as the latter name is clearer on account of being a
modal verb.

Release Notes:

- N/A

Marshall Bowers created

58db66e edit prediction: Do not render jump cursor until line layout is ready (#24226)

Click to expand commit body
This is pretty rare but I found a case where `line_layouts` didn't have
the requested line yet, so we now skip rendering the cursor for that
period and avoid panicking.

Release Notes:

- N/A

Agus Zubiaga created

6f0f9d6 Allow running cancel-language-server-work action w/o editor focused (#24215)

Click to expand commit body
Release Notes:

- Added the ability to run the `cancel language server work` action
while a panel (like the terminal panel) is focused

Max Brunsfeld created

5704b50 git: Compute and synchronize diffs from HEAD (#23626)

Click to expand commit body
This PR builds on #21258 to make it possible to use HEAD as a diff base.
The buffer store is extended to support holding multiple change sets,
and collab gains support for synchronizing the committed text of files
when any collaborator requires it.

Not implemented in this PR:

- Exposing the diff from HEAD to the user
- Decorating the diff from HEAD with information about which hunks are
staged

`test_random_multibuffer` now fails first at `SEED=13277`, similar to
the previous high-water mark, but with various bugs in the multibuffer
logic now shaken out.

Release Notes:

- N/A

---------

Co-authored-by: Max <max@zed.dev>
Co-authored-by: Ben <ben@zed.dev>
Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Co-authored-by: Conrad <conrad@zed.dev>

Cole Miller , Max , Ben , Max Brunsfeld , Conrad Irwin , and Conrad created

871f98b Bump openssl to fix vulnerability (#24223)

Click to expand commit body
See: https://github.com/advisories/GHSA-rpmj-rpgj-qmpm

Release Notes:

- N/A

Cole Miller created

69bb0a0 Fix slow focus transitions to the terminal panel (#24172)

Click to expand commit body
This long standing bug was caused by `Pane`'s focus_in handler bouncing
the focus to another handle.
Because focus resolution happens _after_ a frame has been rendered, the
only way to deal with this case is to schedule another frame to be
redrawn. However, we where suppressing all window refreshes that occur
during a focus transfer, causing this focus change to be completely
missed. However, changing this behavior can lead to infinite notify
loops, due to drawing a frame causing another to be rendered.

This PR fixes this problem narrowly by adding an `on_next_frame()`
callback in the pane's focus handle, so that the focus changes take
effect almost immediately. But only for this case, where we know it
doesn't cause infinite notify loops.

TODO:
- [x] Fix the infinite notify loop bug or determine a third way to fix
this lag

Release Notes:

- Fixed a bug where shifting focus to the terminal panel could be slow

Mikayla Maki created

cfe0932 Implement character index for point (#23989)

Click to expand commit body
Fixes #22939
Fixes #23970
Supersedes https://github.com/zed-industries/zed/pull/23469

Release Notes:

- Fixed a bug where Zed could crash with certain input sources on macOS

---------

Co-authored-by: Louis Brunner <louis.brunner.fr@gmail.com>
Co-authored-by: ben <ben@zed.dev>

Mikayla Maki , Louis Brunner , and ben created

7da6099 Enable CSS, JSON, Python, and Tailwind to lookup LSP installed in PATH (#22037)

Click to expand commit body
Co-authored-by: Peter Tripp <peter@zed.dev>

Henry Chu and Peter Tripp created

ee422de Bump Zed to v0.174 (#24221)

Peter Tripp created

f8c436f Fix prediction preview binding: `Alt + Preview` -> `Alt Preview` (#24220)

Click to expand commit body
Release Notes:

- N/A

Michael Sloan created

b5d4b17 Fix showing "enter Accept" for prediction with LSP menu open (#24218)

Click to expand commit body
Release Notes:

- N/A

Michael Sloan created

3e68f7f Revert "Skip COMMIT_EDITMSG contents when opening the file (#24146)" (#24216)

Kirill Bulatov created

e768eb0 Replace `Window::parent_view_id()` with `Window::current_view()` (#24212)

Click to expand commit body
Chatted with @as-cii about limitations in the `Window::parent_view_id()`
API (see:
https://github.com/zed-industries/zed/pull/24182/commits/662153dcfdd80804f4041761c09c4a309d79f6d4)
and realized that I shouldn't be using the dispatch tree's data
structures as they are layout dependent. I've introduced a new stack to
`Window`, `rendered_entity_stack`, that tracks exactly which view's
elements are being drawn. As such, I've also been able to remove the
`Option<>` around the previous API.

Release Notes:

- N/A

Mikayla Maki created

667396c Use the term "edit prediction" over "inline completion" (#24211)

Click to expand commit body
Note that this does *not* involve any breaking code changes.

cc @0xtimsb - I didn't change any settings or anything here. That can
happen separately!

Release Notes:

- N/A

Richard Feldman created

c64b261 Revert "edit prediction: Try to expand context to parent treesitter region" (#24214)

Click to expand commit body
Reverts zed-industries/zed#24186

Antonio Scandurra created

8c7096f Rename `model` based variable names to `entity` (#24198)

Click to expand commit body
## Context
While looking through the client crate, I noticed that some of the old
functions and variables were still using gpui::model name that was
deprecated during the gpui3 transition. This PR renames those instances
of model to entity to be more inline with gpui3.

In addition, I also renamed `model` to `entity` in cases found by the
below search terms given by @someone13574

- model = cx.
- model: Entity
- model: &Entity
- OpenedModelHandle
- model.update
- model.upgrade
- model = .*\.root (regex)
- parent_model
- model = cx.new
- cx.spawn(move |model

Release Notes:

- N/A

Anthony Eid created

27d1c68 Avoid subtraction overflow when excerpt primary is outside of excerpt… (#24213)

Click to expand commit body
This fixes a "subtract with overflow" error that could happen in debug
mode when viewing the project diagnostics.

From git bisecting, I think that this behavior was introduced by
https://github.com/zed-industries/zed/pull/21942. It seems like it's
possible in some cases for the excerpt-expansion heuristic to cause the
excerpt's `context` range to start *after* the excerpt's `primary`
range. We should probably revisit that heuristic at some point, but it
also seems reasonable to handle that situation at this layer, rather
than overflowing.

Release Notes:

- N/A

Max Brunsfeld created

4ab4e87 Fix a bug in GPUI, where AsyncApp::update wouldn't kick off a flush effects loop (#24208)

Click to expand commit body
Release Notes:

- N/A

Mikayla Maki created

4f98157 edit predictions: Make Zed bar at least as wide as menu (#24206)

Click to expand commit body
Release Notes:

- N/A

---------

Co-authored-by: Ben <ben@zed.dev>

Agus Zubiaga and Ben created

9b031d7 edit prediction: Use thin cursor for jump preview and gradients instead of ellipsis (#24202)

Click to expand commit body
https://github.com/user-attachments/assets/06e14893-c285-4cea-927c-75e82a378b15

Release Notes:

- N/A

---------

Co-authored-by: Ben <ben@zed.dev>

Agus Zubiaga and Ben created

aea36f0 Prevent requesting more than 3 edit predictions per second (#24203)

Click to expand commit body
Release Notes:

- N/A

Co-authored-by: Marshall <marshall@zed.dev>

Antonio Scandurra and Marshall created

cae712e edit prediction: Try to expand context to parent treesitter region (#24186)

Click to expand commit body
Also send the `speculated_output` (which is just the editable region) to
the llm backend

Closes #ISSUE

Release Notes:

- N/A

---------

Co-authored-by: Antonio Scandurra <me@as-cii.com>

Bennet Bo Fenner and Antonio Scandurra created

bce9a9a windows: Use setup-dev-driver.ps1 to create dev driver (#24196)

Click to expand commit body
Closes #ISSUE

Release Notes:

- N/A

张小白 created

c50cb90 Revert "Upgrade to rustls v0.23.22" (#24197)

Click to expand commit body
Reverts zed-industries/zed#24138

Nightly build failed, I believe because of this.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95189


![image](https://github.com/user-attachments/assets/8121dfb7-4ae7-4efb-8625-f07967640620)

CC: @ConradIrwin 

Release Notes:

- N/A

Peter Tripp created

a0269ab theme_selector: Add a button to open the extension store (#24195)

Click to expand commit body
Adds a button to the theme selector to help people find more themes in
the extension store.

![CleanShot 2025-02-04 at 09 00
20@2x](https://github.com/user-attachments/assets/fd430ff5-b0e3-4be0-ac4a-eeaf0093089b)

Release Notes:

- Added a way to access the extension store from the theme selector to
make it easier to find new themes.

Nate Butler created

88b485f Update license year (#24191)

Angelk90 created

2853649 copilot: Correct o3-mini context length (#24152)

Click to expand commit body
It should be 200k (with 100k output). I can't find anything that puts it
at 20k and the changeover in
https://github.com/zed-industries/zed/commit/2f8237492641b4c97f61977a39f8a10225578a6d
only changed the name from o1-mini to o3-mini

References:
*
https://docs.github.com/en/copilot/using-github-copilot/asking-github-copilot-questions-in-github#ai-models-for-copilot-chat
* https://github.com/marketplace/models/azure-openai/o3-mini
* https://platform.openai.com/docs/models#o3-mini

Release Notes:

- Corrected Github Copilot o3-mini context length

---------

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

Jacob Chapel and Marshall Bowers created

cc2ebb9 Revert "inline completion: Respect `disabled_globs` when manually requesting completions (#24121)" (#24189)

Click to expand commit body
This reverts commit eb820ab800ea2a0023667b5c0eb91daa7c9ab084.
The previous PR broke manual completions. Turns out there is more
confusing behavior then i realized, will follow up with another PR soon.

Closes #ISSUE

Release Notes:

- N/A

Bennet Bo Fenner created

d400bde Add example compilation to CI (#24182)

Click to expand commit body
Stop https://github.com/zed-industries/zed/pull/24165 from happening

Release Notes:

- N/A

Mikayla Maki created

71f2cbe Git Panel: separate new and changed (#24181)

Click to expand commit body
Release Notes:

- N/A

---------

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

Mikayla Maki , conrad , and nate created

6659aea Disallow multiple quit confirmations (#24180)

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

Release Notes:

- Fixed multiple save modals appearing when app is being closed multiple
times

Kirill Bulatov created

386cfac zeta: Fix data collection display on the status bar menu (#24177)

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

This PR adds a new function that allows the UI also to display the state
of the data collection. Previously, we only showed that if the project
adhered to the `is_open_source` condition. Now, we show it for all
projects.

Release Notes:

- N/A

Danilo Leal created

e5c3273 status_bar: Only show divider for left dock (#24178)

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

Just fixing the UI so that the divider only shows for the
left-positioned items.

Release Notes:

- N/A

Danilo Leal created

556b0eb Show larger jump target preview + add ellipsii to indicate truncation (#24179)

Click to expand commit body
Release Notes:

- N/A

Michael Sloan created

93f8cca zeta: Revised data-collection onboarding experience (#24031)

Click to expand commit body
Release Notes:

- N/A

---------

Co-authored-by: Danilo <danilo@zed.dev>
Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
Co-authored-by: João Marcos <marcospb19@hotmail.com>

Agus Zubiaga , Danilo , Danilo Leal , and João Marcos created

29e559d Fix display of `+` between modifiers on linux and windows (#24173)

Click to expand commit body
Regressions in #24024:

* `+` was no longer included between modifiers and key
* Multi-character keys like "control" were displayed all lowercase,
whereas before they were all uppercase like "CONTROL". Now they are
capitalized, so "Control".
* Brings back icon for tab key.

Release Notes:

- N/A

Michael Sloan created

9a22ef2 Don't save deleted files (#24171)

Click to expand commit body
We now treat new files that have no content as not-dirty. This fixes the
git diff view when deleted files are present.

It also fixes a long-standing bug where `zed RAEDME` and then closing
the tab would prompt for "unsaved changes" when there were none.

Release Notes:

- Fixed a bug where closing an empty, named, file would warn about
unsaved content.

Conrad Irwin created

66e0898 Fix corner case where edit prediction preview and docs aside overlap (#24170)

Click to expand commit body
+ add docs and simplify logic around popover order

Release Notes:

- N/A

Michael Sloan created

cf4539e Handle empty diff excerpts (#24168)

Click to expand commit body
Release Notes:

- Fix display, revert and undo of deleted hunks when the file is empty.

Conrad Irwin created

8bce896 Invalidate GPUI views regardless of draw phase (#24164)

Click to expand commit body
We think this could fix issues around view invalidation during focus
handling.

I want to run CI on this and see.

cc @mikayla-maki @maxbrunsfeld 

Release Notes:

- N/A

Nathan Sobo created

ea66a54 Skip COMMIT_EDITMSG contents when opening the file (#24146)

Kirill Bulatov created

225f0c4 Fix input example (#24165)

Click to expand commit body
Release Notes:

- N/A

Conrad Irwin created

daf09fa Fix issue where changing the case of a vim object would be clipped at the end of the line (#24163)

Click to expand commit body
Co-authored-by: Conrad Irwin <conrad@zed.dev>

Closes #24124

Release Notes:

- Fixed an issue in vim mode where changing the case of an object at the
end of the line would not change the case of the last character in the
object

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

Ben Kunkle and Conrad Irwin created

8742c18 Allow auto-indenting with syntax errors when using regex-based indent matches to improve bash auto-indent behavior (#24160)

Click to expand commit body
- Fixes auto-indent issues around `elif` caused by auto-indent being prevented due to syntax errors generated before `elif` clause completed

Release Notes:

- Fixed an issue where inserting an elif before an else in bash would
not properly auto-indent

---------

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

Ben Kunkle and Conrad Irwin created

66d0cdf vim: Add ctrl-w a (#24162)

Click to expand commit body
Closes #ISSUE

Release Notes:

- vim: Add `ctrl-w a` to close all items in the current pane

Conrad Irwin created

e17f307 vim: Load keymap after base keymap (#24161)

Click to expand commit body
Closes #22562

Release Notes:

- vim: Load vim keymap after a user-configured keymap

Conrad Irwin created

3d3ac2c vim: Fix `ctrl-w ctrl-q` and `ctrl-w ctrl-c` to close active pane instead of all panes (#24018)

Click to expand commit body
According to vim `ctrl-w ctrl-q` should close the active tab or pane
similar to :q


![Screenshot_20250131_163139](https://github.com/user-attachments/assets/c6a0d3a0-8dcf-4152-b2bf-835472d4f870)

Release Notes:

- vim: fix `ctrl-w ctrl-q` to close active pane instead of all panes

Saurabh created

0919f10 chore: Remove moot file from #23901 (#24159)

Click to expand commit body
Closes #ISSUE

Release Notes:

- N/A

Piotr Osiewicz created

2442c49 ci: Use ReFS for our Windows CI (#23901)

Click to expand commit body
Based on uv's CI setup.

Closes #ISSUE

Release Notes:

- N/A

Piotr Osiewicz created