Commit log

d9183c7 vim: Escape to normal mode when visual surround operation pending (#24484)

Click to expand commit body
Closes #24382

Release Notes:
Added a default keymap that returns the user to `normal` mode after
pressing escape during a pending `visual-surround` operation.

- N/A

---------

Co-authored-by: roy.crippen4 <roy.crippen4@archarithms.com>
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>

roycrippen4 , roy.crippen4 , and Conrad Irwin created

7bddb39 vim: Preserve trailing whitespace in inner text object selections (#24481)

Click to expand commit body
Closes #24438

Changes: Adjusted loop to only trim whitespace between last newline and
closing marker, when using inner objects like `y/d/c i b`

| Start   | Fixed `vib`   | Previous `vib`   |
| ---------- | ---------- | ---------- |
|
![image](https://github.com/user-attachments/assets/3d64dd7d-ed3d-4a85-9f98-f2f83799a738)
|
![image](https://github.com/user-attachments/assets/841beb59-31b1-475e-93f0-f4deaf18939c)
|
![image](https://github.com/user-attachments/assets/736d4c6f-20e1-4563-9471-1e8195455df4)
|



Release Notes:

- vim: Preserve trailing whitespace in inner text object selections

---------

Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>

5brian and Conrad Irwin created

146b9c2 Sort and dedupe .gitignore files (#24491)

Click to expand commit body
Release Notes:

- N/A

Michael Sloan created

be26acc Cargo.lock update (#24486)

Click to expand commit body
Release Notes:

- N/A

Michael Sloan created

4be89ea title_bar: Add menu item to deploy icon theme selector (#24482)

Click to expand commit body
Added the icons option in the title bar between Themes and Extension.

| Before | After |
|
---------------------------------------------------------------------------------------------------------------------------------------------------
|
---------------------------------------------------------------------------------------------------------------------------------------------------
|
| <img width="215" alt="Screenshot 2025-02-07 at 5 18 10 PM"
src="https://github.com/user-attachments/assets/ff8bf5ce-c176-4d8c-8b0e-bb1cc65ec1d8"
/> | <img width="206" alt="Screenshot 2025-02-07 at 5 18 01 PM"
src="https://github.com/user-attachments/assets/c47a302e-98af-4530-a908-097b8306f2f0"
/> |

Release Notes:

- Added an option to open the icon theme selector from the user menu.

---------

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

Beniamin Zagan and Marshall Bowers created

e17e838 Include prediction ID on edit prediction accepted/discarded events (#24480)

Click to expand commit body
This PR updates the edit predictions to include the prediction ID
returned from the server on the resulting telemetry events indicating
whether the prediction was accepted or discarded.

The `prediction_id` on the events can then be correlated with the
`request_id` on the server-side prediction events.

Release Notes:

- N/A

Marshall Bowers created

ed56568 inline_completion: Add missing punctuation (#24477)

Click to expand commit body
This PR adds some missing punctuation.

Release Notes:

- N/A

Marshall Bowers created

c4bcff1 edit predictions: Add binding to the prediction toggle (#24468)

Click to expand commit body
This PR primary goal is to add a keybinding to the (ephemeral)
prediction toggle. In doing that, we also standardized the keybinding to
open the status bar menu with it.

Release Notes:

- N/A

---------

Co-authored-by: Bennet Bo Fenner <53836821+bennetbo@users.noreply.github.com>

Danilo Leal and Bennet Bo Fenner created

07f1b61 edit predictions: Fix translucent "jump to edit" background color (#24473)

Click to expand commit body
This PR uses a pretty cool GPUI method called `blend` to make this
callout's background color not translucent.

| Before | Header |
|--------|--------|
| <img width="732" alt="Screenshot 2025-02-07 at 4 58 16 PM"
src="https://github.com/user-attachments/assets/2a5df61b-dfa0-4edc-bffa-a605a2aa491a"
/> | <img width="732" alt="Screenshot 2025-02-07 at 4 56 48 PM"
src="https://github.com/user-attachments/assets/5dee9fca-6239-4ae0-80f5-dcc6abf0e779"
/> |

Release Notes:

- N/A

Danilo Leal created

9e5bc81 zeta: Promote line comment to doc comment (#24476)

Click to expand commit body
This PR promotes a line comment for the `tos_accepted` field to a doc
comment.

Release Notes:

- N/A

Marshall Bowers created

7148092 Fix adding new git repos to a project (#24471)

Click to expand commit body
Release Notes:

- N/A

Conrad Irwin created

ead5a83 gpui: Add data table example (#24373)

Click to expand commit body
Release Notes:

- N/A

As https://github.com/zed-industries/zed/discussions/24260 I mentioned
issue.

Make a complex data table example to test the text rendering
performance.

This example also can be an example to show how to build a large data
table.

```bash
cargo run -p gpui --example data_table
```

<img width="2004" alt="image"
src="https://github.com/user-attachments/assets/653771e5-ef08-4d76-97b9-90ea4b78be59"
/>

----

I will try to do some test. 

For example: With a threshold for the hold number of caches in
`FrameCache`, and only when the threshold is greater than a certain
number, some caches are released, or when a certain time has passed. I
am not sure if this is feasible.

This example is added to help us to test.

Jason Lee created

3be8066 Newlines in commit editor (#24465)

Click to expand commit body
Release Notes:

- N/A

Conrad Irwin created

f6e3968 Re-introduce syntax-based context and use new model (#24469)

Click to expand commit body
Release Notes:

- N/A

---------

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

Antonio Scandurra and Marshall created

fd7fa87 edit predictions: Restore red dot in status buttons when pending ToS (#24408)

Click to expand commit body
In one of the recent changes to the edit predictions status bar menu, we
lost the red dot that is displayed when the user has Zed as the provider
but hasn't accepted terms of service. Note: All the checks were still in
place, just the visual indicator was missing.

![CleanShot 2025-02-06 at 20 22
21@2x](https://github.com/user-attachments/assets/da8f25dd-5ed2-4bf9-8453-10b80f00bf63)


Release Notes:

- N/A

---------

Co-authored-by: Danilo Leal <daniloleal09@gmail.com>

Agus Zubiaga and Danilo Leal created

a7a14e5 edit predictions: Clarify `disabled_globs` documentation (#24460)

Click to expand commit body
This PR clarifies how the `disabled_globs` work.

Release Notes:

- N/A

---------

Co-authored-by: Bennet Bo Fenner <53836821+bennetbo@users.noreply.github.com>

Danilo Leal and Bennet Bo Fenner created

8ff8dbd assistant_context_editor: Fix patch block not rendering due to window reborrow (#24461)

Click to expand commit body
This PR fixes an issue where the Assistant patch block was not being
rendered when using "Suggest Edits".

The issue was that the `BlockContext` already has a borrow of the
`Window`, so we can't use `update_in` to reborrow the window.

The fix is to reuse the existing `&mut Window` reference from the
`BlockContext` so we don't need to `update_in`.

Closes #24169.

Release Notes:

- Assistant: Fixed an issue where the patch block was not being rendered
when using "Suggest Edits".

---------

Co-authored-by: Max <max@zed.dev>

Marshall Bowers and Max created

44c6a54 pane: Improve close active item to better handle pinned tabs (#23488)

Click to expand commit body
Closes #22247

- [x] Do not close pinned tab on keyboard shortcuts like `ctrl+w` or
`alt+f4`
- [x] Close pinned tab on context menu action, menu bar action, or vim
bang
- [x] While closing pinned tab via shortcut (where it won't close),
instead activate any other non-pinned tab in same pane
- [x] Else, if any other pane contains non-pinned tab, activate that
- [x] Tests

Co-authored-by: uncenter <47499684+uncenter@users.noreply.github.com>

Release Notes:

- Pinned tab now stay open when using close shortcuts, auto focuses to
any other non-pinned tab instead.

smit created

f0565b4 edit prediction: Do not show icon as disabled when there is no buffer open (#24458)

Click to expand commit body
Release Notes:

- N/A

Bennet Bo Fenner created

a6e15dd Make it a bit clearer when people are running dev builds (#24457)

Click to expand commit body
Release Notes:

- Include an indicator in About/CopySystemSpecs when running in debug mode

Conrad Irwin created

144487b theme: Implement icon theme reloading (#24449)

Click to expand commit body
Closes #24353 

This PR implements icon theme reload to ensure file icons are properly
updated whenever an icon theme extension is upgraded or uninstalled.

Currently, on both upgrade and uninstall of an icon theme extension the
file icons from the previously installed version will stay visibile and
will not be updated as shown in the linked issue. With this change, file
icons will properly be updated on extension upgrade or reinstall.

The code is primarily a copy for reloading the current color theme
adapted to work for icon themes. Happy for any feedback!


Release Notes:

- Fixed file icons not being properly updated upon icon theme upgrade or
uninstall.

Finn Evers created

2d57e43 docs: Emphasize that Rust must be installed via rustup (#24447)

Click to expand commit body
Just tried installing a dev extension and kept getting "error: failed to install dev extension".

Turns out this was because I had rust installed via homebrew and not rust. Once I switched to rustup, it worked perfectly fine.

Release Notes:

- N/A

Wilhelm Klopp created

c484374 Make OpenKeyContextView open to the right (#24452)

Click to expand commit body
Match the behavior of OpenSyntaxTreeView logs and OpenLanguageServerLogs

Release Notes:

- Make `debug::OpenSyntaxTreeView` automatically open in split to the
right

Peter Tripp created

8114d17 google_ai: Add support for Gemini 2.0 models (#24448)

Click to expand commit body
Add support for the newly released Gemini 2.0 models from Google announced this new family of models earlier this week (2025-02-05).

Release Notes:

- Added support for Google's new Gemini 2.0 models.

IaVashik created

c7cd5b0 file_icons: Use separate icon key for JSON files (#24432)

Click to expand commit body
This PR updates the file icon mappings for JSON (`.json`) file map to
the`json` key. Also, updates `.json` icon from `storage` to `code`.

This allows for the JSON file icons to be replaced in icon themes.

Release Notes:

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

---------

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

Sanjeev Shrestha and Marshall Bowers created

0792922 migrator: Sort dependencies in `Cargo.toml` (#24455)

Click to expand commit body
This PR sorts the dependencies in the `Cargo.toml` for the `migrator`
crate.

Release Notes:

- N/A

Marshall Bowers created

00c2a30 Migrate keymap and settings + edit predictions rename (#23834)

Click to expand commit body
- [x] snake case keymap properties
- [x] flatten actions
- [x] keymap migration + notfication
- [x] settings migration + notification
- [x] inline completions -> edit predictions 

### future: 
- keymap notification doesn't show up on start up, only on keymap save.
this is existing bug in zed, will be addressed in seperate PR.

Release Notes:

- Added a notification for deprecated settings and keymaps, allowing you
to migrate them with a single click. A backup of your existing keymap
and settings will be created in your home directory.
- Modified some keymap actions and settings for consistency.

---------

Co-authored-by: Piotr Osiewicz <piotr@zed.dev>
Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>

smit , Piotr Osiewicz , and Max Brunsfeld created

a1544f4 Fix incorrect assumption about `Path.extension()` (#24443)

Click to expand commit body
Release Notes:

- N/A

Ben Kunkle created

4f65cfa Fix `editor::GoToDiagnostics` cycle (#24446)

Click to expand commit body
https://github.com/user-attachments/assets/45f665f0-473a-49bd-b013-b9d1bdb902bd


After activating 2nd diagnostics group, `find_map` code for next
diagnostics did not skip the previous group for the same place.

Release Notes:

- Fixed `editor::GoToDiagnostics` action stuck when multiple diagnostics
groups belong to the same place

Kirill Bulatov created

b6b06cf lsp: Send DidOpen notifications when changing selections in multi buffer (#22958)

Click to expand commit body
Fixes #22773

Release Notes:

- Fixed an edge case with multibuffers that could break language
features within them.

Piotr Osiewicz created

f700268 Improve vim interactions with edit predictions (#24418)

Click to expand commit body
* When an edit prediction is present in non-insertion modes, hide it but
show `tab Jump to edit`.
* Removes discarding of edit predictions when going from insert mode to
normal mode, instead just hide them in non-insertion modes.
* Removes zeta-specific showing of predictions in normal mode. This
behavior was only happening in special cases anyway - where the discard
of completions wasn't happening due to some other thing taking
precedence in `dismiss_menus_and_popups`.

Release Notes:

- N/A

---------

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

Michael Sloan , Conrad , and Mikayla created

92c21a2 Fix undismissed app notifications appearing on new workspaces (#24437)

Click to expand commit body
Bug in #23817

Release Notes:

- N/A

Michael Sloan created

1f9d026 Fixes to commit button in Git Panel (#24425)

Click to expand commit body
Git Panel updates:

* Fixes commit/commit all button to work (and be disabled correctly in
merge conflict status)
* Updates keyboard shortcuts and sets focus on the button (enter now
does the same as click; tab cycles between editor and change list)


Closes #ISSUE

Release Notes:

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

---------

Co-authored-by: Cole Miller <cole@zed.dev>

Conrad Irwin and Cole Miller created

6534e0b linux: Fix crash when NoKeymap event is received on Wayland (#24379)

Click to expand commit body
Closes #24139

For weird reasons, Sway on few linux distoros sends `NoKeymap` event when
switching windows. Zed crashes due to assertion on this event to be `XkbV1`.

To fix this, we ignore `NoKeymap` event instead crashing Zed.

Release Notes:

- Fixed a crash in Wayland-based compositors like Sway when switching windows via the keyboard.

smit created

5ffacb9 Revert "Move git status updates to a background thread (#24307)" (#24415)

Click to expand commit body
This reverts commit 980ce5fbf2d0de7e954c32dd982268d3b58dfccc.

Release Notes:

- N/A

---------

Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>

Cole Miller and Conrad Irwin created

864c1ff Use `commondir` from libgit2 instead of walking fs (#22028)

Click to expand commit body
Release Notes:

- N/A

Michael Sloan created

35ef269 Fix build of remote_server when not in git repo (#24424)

Click to expand commit body
Followup to #24258

Release Notes:

- N/A

Michael Sloan created

d97adfc Fix pairs of almost-adjacent hunks toggling together (#24355)

Click to expand commit body
Release Notes:

- Fixed a bug where toggling a diff hunk that immediately precedes
another hunk would act on both hunks

Cole Miller created

a42e040 Remove use of `use_key_equivalents` from linux keymap as it does nothing (#24422)

Click to expand commit body
`use_key_equivalents` does nothing on linux, as key equivalents are only
supported on mac. While it could be sensible to anticipate support,
right now it is only used in these few spots, so removing it.

Release Notes:

- N/A

Michael Sloan created

8646d37 vim: Replace with Register (#24326)

Click to expand commit body
Closes #18813

Release Notes:

- vim: Add `gr` for [replace with
register](https://github.com/vim-scripts/ReplaceWithRegister)

Conrad Irwin created

d83c316 Fix Project Panel `select_next_git_entry` action (#24217)

Click to expand commit body
## Context

I noticed that the project panel `select_next_git_entry` wasn't behaving
correctly. Turns out it was searching in reverse, which caused the
action to select itself or the last entry.

This PR corrects the behavior and adds a unit test that should stop
regressions.

Note: Since select next/prev git entry uses the same function as select
next/prev diagnostic, the test partially works for that as well.

Release Notes:

- Fix bug where `select_next_git_entry` project panel action would only
select a previous entry or the currently selected entry.

---------

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

Anthony Eid and Mikayla Maki created

c591389 gpui: Fix `text-align` with nowrap mode (#24116)

Click to expand commit body
Release Notes:

- N/A


------

- Continue #24090 to fix text align for when used `whitespace_nowrap`.
- Fix wrapped line length calculation.

And add example

```
cargo run -p gpui --example text_layout
```

<img width="760" alt="image"
src="https://github.com/user-attachments/assets/a087c300-0e0e-4a80-98c6-90161a9b0905"
/>

---------

Co-authored-by: Owen Law <owenlaw222@gmail.com>

Jason Lee and Owen Law created

e689c8c markdown: Use parsed text (#24388)

Click to expand commit body
Fixes #15463

Release Notes:

- Fixed display of symbols such as `&nbsp;` in hover popovers

Stanislav Alekseev created

888a2df Sort `Cargo.toml`s (#24417)

Click to expand commit body
This PR sorts the dependencies in a number of `Cargo.toml` files.

Release Notes:

- N/A

Marshall Bowers created

d6d0d7d Add image dimension and file size information (#21675)

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

@jansol, kindly take a look when you're free.


![image](https://github.com/user-attachments/assets/da9a54fa-6284-4012-a243-7e355a5290d3)

Release Notes:

- Added dimensions and file size information for images.

---------

Co-authored-by: tims <0xtimsb@gmail.com>
Co-authored-by: Marshall Bowers <git@maxdeviant.com>

Caleb! , tims , and Marshall Bowers created

a1ed1a0 Fix issue with Vim test instead of cheating (#24411)

Click to expand commit body
Appears this test was failing, and someone edited the expected test
output instead of fixing it. Well no longer!

Release Notes:

- N/A

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

Ben Kunkle and Conrad created

a190f42 Fix double-lease panic in Repository::activate (#24414)

Click to expand commit body
Release Notes:

- N/A

Co-authored-by: maxbrunsfeld <max@zed.dev>

Cole Miller and maxbrunsfeld created

59bba2a Assign base text language earlier to fix missing highlighting in deletion hunks (#24413)

Click to expand commit body
Release Notes:

- Fixed deletion diff hunks not being syntax highlighted in some cases

Co-authored-by: Max <max@zed.dev>

Cole Miller and Max created

5315d38 Update extension extraction docs (#24079)

Click to expand commit body
- Fixed a regex for finding tags.
- Templatize the instructions with `$LANGNAME` to prevent manual errors
from failing to edit commands (this bit me)
- Ran formatting through Prettier

Peter Tripp created

337b9e6 Fix vim full line operations failing when no trailing newline (#24409)

Click to expand commit body
Closes #24270

Release Notes:

- Fixed an issue where doing line-wise operations in vim mode on the
last line of a file with no trailing newline would not work properly

Ben Kunkle created