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
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>
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
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.
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` |
| ---------- | ---------- | ---------- |
|

|

|

|
Release Notes:
- vim: Preserve trailing whitespace in inner text object selections
---------
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
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
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)
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.
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.

Release Notes:
- N/A
---------
Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
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
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)
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.