Commit log

d9909c6 Fix panic when outline items have no name (#24574)

Click to expand commit body
Closes #23787

Release Notes:

- Fixed a crash when searching the outline view in certain Ruby files.

Max Brunsfeld created

4f72005 Revert "Fix `editor::GoToDiagnostics` cycle (#24446)" (#24568)

Click to expand commit body
This reverts commit 4f65cfa93d183295289a4313e550c434b8ab7fc7.

Release Notes:

- N/A

Kirill Bulatov created

de8d4d0 git_ui: Update git panel commit editor, start on quick commit

Click to expand commit body
- Fixes commit editor issues & updates style
- Starts on quick commit (not hooked up to anything)
- Updates some panel styles
- Adds SwitchWithLabel
- 
Release Notes:

- N/A

Nate Butler created

69d415c vim: Multiline operation improvements (#24518)

Click to expand commit body
Closes #15711

Discussed changes to match neovim in
https://github.com/zed-industries/zed/pull/24481#issuecomment-2644504695
-- `vi{` matches neovim with treesitter instead of vanilla neovim.
Change and delete matches standard neovim.

Not sure if this is the best way to do it, implemented post processing
to change and delete objects.
I think another way would be adjust the range to trim the trailing
newline char on change and delete operations, instead of having to add
it back.

||Before|After|
|---|---|---|

|initial|![image](https://github.com/user-attachments/assets/0bab37b7-c0ac-4992-a365-b7ec304a6800)||
| `vi{` |
![image](https://github.com/user-attachments/assets/4c802fcd-fa7e-45ba-b7d4-3283ed538e10)
|
![image](https://github.com/user-attachments/assets/4394bb6e-418b-4463-9737-f9bdfc6d31c2)
|
| `ci{` |
![image](https://github.com/user-attachments/assets/b5eabb58-4a93-4c98-80b6-f34a6525b1fb)
|
![image](https://github.com/user-attachments/assets/79af57e4-260c-4432-af66-eba5285d97a0)
|
| `di{` |
![image](https://github.com/user-attachments/assets/190a70e7-71fd-47fe-9d6c-2082f2034d0f)
|
![image](https://github.com/user-attachments/assets/775b86a9-68c1-4397-a44b-c645a772de63)
|

Release Notes:

- vim: Improved multi-line operations

5brian created

d292b7c context menu: Use `invisible()` to hide the check icon (#24562)

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

Release Notes:

- N/A

Danilo Leal created

ca4378c ui: Use `cursor: pointer` for `Toggle`s (#24563)

Click to expand commit body
Closes #ISSUE

Release Notes:

- N/A

Piotr Osiewicz created

d42322a php: Update `brackets.scm` (#24558)

Click to expand commit body
Closes #24550 
Adds some missing brackets to the PHP language extension.

Finn Evers created

3f0288e docs: Add a light border to h2s (#24554)

Click to expand commit body
I was finding hard to navigate the "Configuring Zed" page with just
white space creating a boundary between the different chunks of content.
I think a slight border below the h2 heading helps a lot with that!

Release Notes:

- N/A

Danilo Leal created

d15a61a context menu: Adjust toggleable entry label alignment (#24549)

Click to expand commit body
Previously, we were passing an `IconSize` that had a default size. Given
the check icon is small by default, when the entry is not toggled, that
caused a slight misalignment between the toggled and not-toggled items.
I'm passing now the same icon element but inside an opacity 0 div. Open
to other suggestions if this feels clunky.

| Before | After |
|--------|--------|
| <img width="946" alt="Screenshot 2025-02-10 at 7 58 28 AM"
src="https://github.com/user-attachments/assets/4d2b3f12-72c5-4c8d-acaf-c16230250560"
/> | <img width="943" alt="Screenshot 2025-02-10 at 7 58 37 AM"
src="https://github.com/user-attachments/assets/2df64752-7273-4bdc-9f6b-5153ed52c889"
/> |

Release Notes:

- N/A

Danilo Leal created

e72f7b4 edit predictions: Put back status bar button tooltips (#24548)

Click to expand commit body
These were wrongly removed in
https://github.com/zed-industries/zed/pull/24540; putting them back.

cc @SomeoneToIgnore 

Release Notes:

- N/A

Danilo Leal created

d0c4c66 Brighten yellow and black terminal colors in One themes (#24420)

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

I made some fine adjustments to the color of the theme with reference
to' Window Terminal' to make it look good. If there is anything
inappropriate in this revision, please also point it out. :)


![window-terminal-one-light](https://github.com/user-attachments/assets/86c4002f-a5a7-4ab1-81de-e6ed0529fe06)

![window-terminal-one-dark](https://github.com/user-attachments/assets/c57095d7-0131-4978-ae6d-7105639110b5)

Release Notes:
- N/A

Libon created

994bea0 workspace: Fix pane focus transfer when closing another pane (#23175)

Click to expand commit body
Closes #23123 

Only close current active_pane should move focus to other pane.

Release Notes:

- N/A

CharlesChen0823 created

6f7f0f3 Fix hover tooltips appearing after related element is pressed (#24540)

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

Reworks all trigger declarations from
`.trigger(element.tooltip(tooltip))` into
`.trigger_with_tooltip(element, tooltip)` , with new API disallowing
simultaneous trigger and tooltip display.

All existing `.trigger(` calls were replaced, except 2 not applicable
(in dock.rs and pane.rs), 15 left as ones without tooltips, and 2
unchanged places in `inline_completion_button.rs`, where


https://github.com/zed-industries/zed/blob/0f7bb2e9fd6dc1fe3f0127de19df372f75ad0c4f/crates/inline_completion_button/src/inline_completion_button.rs#L311-L319

`with_animation` does not allow us to simply use the same approach.

Release Notes:

- Fixed hover tooltips appearing after related element is pressed

---------

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

Kirill Bulatov and Danilo Leal created

1a133ab Settings/keymap backup path next to files + update notification messages (#24517)

Click to expand commit body
Before:


![image](https://github.com/user-attachments/assets/5b7d8677-b0db-4a66-ac30-e4751ba4182d)

After:


![image](https://github.com/user-attachments/assets/94743bc2-2902-43a3-8d6e-e0e0e6e469ec)

Release Notes:

- N/A

Michael Sloan created

cf74d65 Fix outline panel issues in a multi-worktree set-up (#24538)

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

Properly calculates depth and maintains worktree order, when displaying
multiple worktrees in the outline panel.

Release Notes:

- Fixed outline panel issues in a multi-worktree set-up

Kirill Bulatov created

8f1ff18 component: Add `component` and `component_preview` crates to power UI components (#24456)

Click to expand commit body
This PR formalizes design components with the Component and
ComponentPreview traits.

You can open the preview UI with `workspace: open component preview`.

Component previews no longer need to return `Self` allowing for more
complex previews, and previews of components like `ui::Tooltip` that
supplement other components rather than are rendered by default.

`cargo-machete` incorrectly identifies `linkme` as an unused dep on
crates that have components deriving `IntoComponent`, so you may need to
add this to that crate's `Cargo.toml`:

```toml
# cargo-machete doesn't understand that linkme is used in the component macro
[package.metadata.cargo-machete]
ignored = ["linkme"]
```

Release Notes:

- N/A

---------

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

Nate Butler and Marshall Bowers created

56cfc60 ui: Add `buffer_font` method to labels (#24479)

Click to expand commit body
Now you don't need to wrap the `Label` in a `div` anymore 

Release Notes:

- N/A

Co-authored-by: Danilo <danilo@zed.dev>

Agus Zubiaga and Danilo created

6ee447e Move focus into editor for `outline_panel::Open` action on outlines and search results (#24535)

Click to expand commit body
Follow-up of
https://github.com/zed-industries/zed/discussions/19782#discussioncomment-12055976

Release Notes:

- Fixed outline panel not focusing editor when outlines and search
results were opened with `outline_panel::Open`

Kirill Bulatov created

f42177a ci: Pin Prettier to a specific version for docs formatting (#24531)

Click to expand commit body
This PR pins Prettier to a specific version when we run the docs
formatting check.

This should prevent drift when new Prettier versions are released that
may impact the formatting.

Release Notes:

- N/A

Marshall Bowers created

072d2b0 ui: Remove `ToolStrip` component (#24529)

Click to expand commit body
This PR removes the `ToolStrip` component.

Pulling this change out of
https://github.com/zed-industries/zed/pull/24456.

Release Notes:

- N/A

Marshall Bowers created

065fdcb language_tools: Add background color to syntax tree view (#24524)

Click to expand commit body
Closes #22830 

@jansol, please take a look. I don't know if this is correct as I
couldn't really tell the difference. I just added the active theme's
background color to the main container of the tree view.

<img width="1309" alt="Screenshot 2025-02-09 at 10 29 15 AM"
src="https://github.com/user-attachments/assets/dadf9333-0074-4bfa-bb06-ed4c4f275200"
/>
 
Release Notes:

- Added an explicit background color to the syntax tree view.

cc: @iamnbutler

---------

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

Caleb! and Marshall Bowers created

e84d77e Fix typo in elm.md (#24519)

Click to expand commit body
Removes duplicate mention of `elm`.

Henrikh Kantuni created

f1693e6 project_panel: Fix worktree root rename (#24487)

Click to expand commit body
Closes #7923

This PR fixes root worktree renaming by:  

1. Handling the case where `new_path` is the new root name instead of a
relative path from the root.
2. [#20313](https://github.com/zed-industries/zed/pull/20313) added
functionality to watch for root worktree renames made externally, e.g.,
via Finder. This PR avoids relying on that watcher because, when
renaming explicitly from Zed, we can eagerly perform the necessary work
(of course after fs rename) instead of waiting for the watcher to detect
the rename. This prevents UI glitches during renaming root.

Todo:

- [x] Fix wrong abs paths when root is renamed
- [x] Fix explicit scan entry func to handle renamed root dir
- [x] Tests
- [x] Test on Linux
- [x] Tested with single and multipe worktrees
- [x] Tested when single file is root file

Release Notes:

- Fixed an issue where worktree root name couldn't be renamed in project
panel.

smit created

4207b19 docs: Fix typo in the Icon Themes page (#24516)

Click to expand commit body
Release Notes:

- N/A

Affan Shahid created

fe6d180 Sort Prettier files in `file_types.json` (#24505)

Click to expand commit body
This PR sorts the Prettier files added in #24496.

Release Notes:

- N/A

Marshall Bowers created

0294b19 Track caller on `<usize as ToOffset>::to_offset` (#24503)

Click to expand commit body
To get useful logs when reporting bugs involving offsets out of range

Release Notes:

- N/A

João Marcos created

b105587 Improve outline panel initial update (#24500)

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

* removed unnecessary debounces when updating the panel data
* removed all "loading"-related messages to snow nothing when initial
data is loaded, thus reducing flickering

Release Notes:

- Improved outline panel initial update

Kirill Bulatov created

3582fc4 File icons add icon association for Prettier config (#24496)

Click to expand commit body
This PR adds icon association for more Prettier's config files.

Here is the list:

```
.prettierrc.cjs
.prettierrc.js
.prettierrc.json5
.prettierrc.mjs
.prettierrc.toml
.prettierrc.yaml
.prettierrc.yml
prettier.config.cjs
prettier.config.js
prettier.config.mjs
```

Release Notes:

- Added icon support for additional Prettier config file types.

Sanjeev Shrestha created

ca4e804 Add branch to git panel (#24485)

Click to expand commit body
This PR adds the branch selector to the git panel and fixes a few bugs
in the repository selector.

Release Notes:

- N/A

---------

Co-authored-by: ConradIrwin <conrad.irwin@gmail.com>
Co-authored-by: Conrad <conrad@zed.dev>

Mikayla Maki , ConradIrwin , and Conrad created

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