8c34905
edit prediction: Fix `zeta: Rate completions` action not working when using keybinding (#24569)
Click to expand commit body
Release Notes:
- N/A
Bennet Bo Fenner
created
a1d4bd9
Make `alt-l` the default linux/windows binding for AcceptEditPrediction (#24630)
Click to expand commit body
Release Notes:
- N/A
Michael Sloan
created
9e178f1
Revert "Make `ctrl-l` the default vim binding for AcceptEditPrediction (#24599) (#24614)
Click to expand commit body
Didn't realize that the base keymap binds this to `editor::SelectLine`.
This reverts commit c5fe5f11396e0eeac765880eb6a17afbfbd53f78.
Release Notes:
- N/A
Small fix: Following up on
https://github.com/zed-industries/zed/pull/24518 where i missed `vi{`.
Matching neovim(tree-sitter), `vi{` should not have the newline selected
(Now `vi{d`/`vi{c` can match `di{`/`ci{`).
Also moved the cursor to the start.
|prev|new|neovim|
|---|---|---|
||||
Release Notes:
- N/A
Closes #21147
Release Notes:
- vim: First version of `:set` with support for `[no]wrap`,
`[no]number`, `[no]relativenumber`
---------
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
c5fe5f1
Make `ctrl-l` the default vim binding for AcceptEditPrediction (#24599)
Click to expand commit body
Release Notes:
- N/A
Michael Sloan
created
8f75fe2
Add staged status information to diff hunks (#24475)
Click to expand commit body
Release Notes:
- Render unstaged hunks in the project diff editor with a slashed
background
---------
Co-authored-by: maxbrunsfeld <max@zed.dev>
Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
Cole Miller
,
maxbrunsfeld
, and
Max Brunsfeld
created
a9de9e3
Remove alt-tab / alt-enter binds in vim keymap, as they are in base (#24598)
Click to expand commit body
Was unnecessary to include these in #24596 as they will be available
from the base keymap.
Release Notes:
- N/A
Co-authored-by: Conrad <conrad@zed.dev>
Michael Sloan
and
Conrad
created
4c881b6
Use `editor::AcceptEditPrediction` in vim keymap (#24596)
Click to expand commit body
* Overrides the action handler to switch to insert mode after jumps.
* Returns `vim::Tab` to its behavior from before #24418
Release Notes:
- N/A
Co-authored-by: Conrad <conrad@zed.dev>
Michael Sloan
and
Conrad
created
c89ad65
edit predictions: Show user if current project is open source (#24587)
Click to expand commit body
Release Notes:
- N/A
---------
Co-authored-by: João Marcos <marcospb19@hotmail.com>
Danilo Leal
and
João Marcos
created
3d9f709
Use last keybind (highest precedence) for `AcceptEditPrediction` display (#24595)
Click to expand commit body
Fix of PR #24582
Release Notes:
- N/A
Michael Sloan
created
7fe331f
Remove old keymap comments about AcceptEditPrediction modifier changes (#24592)
Click to expand commit body
This was fixed in #24442
Release Notes:
- N/A
Michael Sloan
created
c1f162a
collab: Fix project sharing between Windows and Unix (#23680)
Click to expand commit body
Closes #14258
Windows user(host) sharing a project to a guest(using macOS), and host
follows guest:
https://github.com/user-attachments/assets/ba306b6b-23f7-48b1-8ba8-fdc5992d8f00
macOS user(host) sharing a project to a guest(using Windows), and host
follows guest:
https://github.com/user-attachments/assets/c5ee5e78-870d-49e5-907d-8565977a01ae
macOS user edits files in a windows project through collab:
https://github.com/user-attachments/assets/581057cf-e7df-4e56-a0ce-ced74339906a
Release Notes:
- N/A
张小白
created
929c5e7
Fix some visual bugs w/ edit predictions (#24591)
Click to expand commit body
* correct the size of key binding icons
* avoid spurious modifier in 'jump to edit' popover when already
previewing
* fix height of the edit preview popover
Release Notes:
- N/A
Co-authored-by: agu-z <hi@aguz.me>
Max Brunsfeld
and
agu-z
created
dab9c41
Fix formatters not running in order (#24584)
Click to expand commit body
Previously, if multiple formatters were specified for the same language,
they would be run in parallel on the state of the file, and then all
edits would be applied. This lead to incorrect output with many unwanted
artifacts.
This PR refactors the formatting code to clean it up, and ensure results
from previous formatters are passed in to subsequent formatters.
Closes #15544
Release Notes:
- Fixed an issue where when running multiple formatters they would be
ran in parallel rather than sequentially, leading to unwanted artifacts
and incorrect output.
---------
Co-authored-by: Conrad <conrad@zed.dev>
Ben Kunkle
and
Conrad
created
1f288f7
edit predictions: Fix predictions bar disappearing while loading (#24582)
Click to expand commit body
Release Notes:
- N/A
---------
Co-authored-by: Max <max@zed.dev>
Include lessons learned from PHP Extension extraction.
Peter Tripp
created
62bb339
Migate PHP Extension to zed-extensions/php (#24583)
Click to expand commit body
PHP Extension has been extracted to it's own repository available here:
- https://github.com/zed-extensions/php
Peter Tripp
created
0af048a
edit predictions: Cache settings across renders (#24581)
Click to expand commit body
We were reading edit prediction settings too often, causing frames to be
dropped. We'll now cache them and update them from
`update_visible_inline_completion`.
Release Notes:
- N/A
Agus Zubiaga
created
973cb91
Fix fill-co-authors, and collaborator cursors (#24575)
63c0150
Fix handling of holding modifier to show edit prediction (#24580)
Click to expand commit body
Meant to include this in #24442
Release Notes:
- N/A
Michael Sloan
created
78a5cf0
Fix display of bindings for `editor::AcceptInlineCompletion` + add validation + use modifiers from keymap (#24442)
Click to expand commit body
Release Notes:
- N/A
Michael Sloan
created
43afa68
Make migration notification not display if some bug causes no changes (#24578)
Click to expand commit body
When working on #24442, I did a project wide replacement of
`AcceptInlineCompletion` with `AcceptEditPrediction`, as I was updating
the branch to mmain and that rename had happened. This also replaced it
in the migrator, causing the migration notification to always pop up on
keymap changes.
Checking if the migration actually changes the text makes it behave
better if this variety of bug happens in the future.
Release Notes:
- N/A
Michael Sloan
created
0fd2203
context_menu: Use `when` instead of if-block (#24566)
Click to expand commit body
See
https://github.com/zed-industries/zed/pull/24562#issuecomment-2648343416
. Should have just added that to my original comment btw - sorry!
CC @danilo-leal
Release Notes:
- N/A
I didn't update it to 0.25 because its Wasm support seems to be
partially broken due to
https://github.com/tree-sitter/tree-sitter/pull/3938: it didn't
introduce a check that the Wasm module's ABI is new enough to include
supertype info while parsing it, and so in the case where it isn't it
ends up interpreting random bytes as the number of supertypes, causing
out-of-bounds memory accesses.
Closes #24489
Release Notes:
- Fixed a rare crash during syntax highlighting
Liam Murphy
created
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.
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|||
| `vi{` |

|

|
| `ci{` |

|

|
| `di{` |

|

|
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)
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
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. :)


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