65934ae
migrator: In-memory migration and improved UX (#24621)
Click to expand commit body
This PR adds:
- Support for deprecated keymap and settings (In-memory migration)
- Migration prompt only shown in `settings.json` / `keymap.json`.
Release Notes:
- The migration banner will only appear in `settings.json` and
`keymap.json` if you have deprecated settings or keybindings, allowing
you to migrate them to work with the new version on Zed.
smit
created
498bb51
Require `alt-tab` for `AcceptEditPrediction` when `tab` inserting whitespace is desired (#24705)
Click to expand commit body
Moves tab whitespace insertion logic out of `AcceptEditPrediction`
handler.
`edit_prediction_requires_modifier` context will now be true when on a
line with leading whitespace, so that `alt-tab` is used to accept
predictions in this case. This way leading indentation can be typed when
edit predictions are visible
Release Notes:
- N/A
Co-authored-by: Ben <ben@zed.dev>
Co-authored-by: Joao <joao@zed.dev>
cc931a8
theme: Add support for setting light/dark icon themes (#24702)
Click to expand commit body
This PR adds support for configuring both a light and dark icon theme in
`settings.json`.
In addition to accepting just an icon theme name, the `icon_theme` field
now also accepts an object in the following form:
```jsonc
{
"icon_theme": {
"mode": "system",
"light": "Zed (Default)",
"dark": "Zed (Default)"
}
}
```
Both `light` and `dark` are required, and indicate which icon theme
should be used when the system is in light mode and dark mode,
respectively.
The `mode` field is optional and indicates which icon theme should be
used:
- `"system"` - Use the icon theme that corresponds to the system's
appearance.
- `"light"` - Use the icon theme indicated by the `light` field.
- `"dark"` - Use the icon theme indicated by the `dark` field.
Closes https://github.com/zed-industries/zed/issues/24695.
Release Notes:
- Added support for configuring both a light and dark icon theme and
switching between them based on system preference.
Don't animate the cursor when previewing jumps.
Instead, display the jump popover with a line that resembles a cursor,
indicating the jump destination. If the jump destination is outside of
the view port, there is an extra step in which `tab` scrolls the
viewport to reveal the jump destination.
Release Notes:
- N/A
---------
Co-authored-by: danilo-leal <daniloleal09@gmail.com>
Co-authored-by: agu-z <hi@aguz.me>
5293f57
Add a script that sets up a trusted MITM proxy (#24698)
Click to expand commit body
In an effort to squash bugs like:
https://github.com/zed-industries/zed/issues/19620, and improve
confidence on PRs like:
https://github.com/zed-industries/zed/pull/24656, I created this little
test script using `mitmproxy` to simulate the situation.
Unfortunately, I don't see any issues with our current usage of the
local certificate store using this script. But I'd like to have it as a
base to build off of.
Release Notes:
- N/A
Re-lands https://github.com/zed-industries/zed/pull/24446 with a more
appropriate fix
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.
This time, instead of fiddling with the diagnostics group comparison,
the code splits the diagnostics by search place, looks up the active
group (if any) in both split parts, and selects the entries after the
group elements.
Release Notes:
- Fixed `editor::GoToDiagnostics` action stuck when multiple diagnostics
groups belong to the same place
Kirill Bulatov
created
7da913c
collab: Update user email and name when signing in (#24694)
Click to expand commit body
This PR updates the `GET /user` endpoint to update the user's email and
name from the provided GitHub profile information on sign-in.
Currently, these fields were only set when the user was first created.
Release Notes:
- N/A
Marshall Bowers
created
a2592a3
Clean up edit predictions settings (#24692)
Click to expand commit body
This PR does some clean up for the edit predictions settings:
- Removed `editor.show_edit_predictions_in_menu`
- Renamed `edit_predictions.inline_preview` to `edit_predictions.mode`
Release Notes:
- N/A
---------
Co-authored-by: Agus Zubiaga <agus@zed.dev>
Marshall Bowers
and
Agus Zubiaga
created
636253d
Prefer names over github logins when filling co-authors (#24693)
Click to expand commit body
Follow-up of https://github.com/zed-industries/zed/pull/24575
Release Notes:
- N/A
aab3e04
inline_completion_button: Add menu option to toggle "Eager Preview"s for edit predictions (#24685)
Click to expand commit body
This PR adds a menu option to the edit prediction menu to toggle the
"Eager Preview" behavior:
<img width="252" alt="Screenshot 2025-02-11 at 2 44 52 PM"
src="https://github.com/user-attachments/assets/232e879b-3c11-4edd-a549-f284e2bca391"
/>
Release Notes:
- N/A
Marshall Bowers
created
12163c9
Add `Editor &&` to accept edit contexts in vim keymap (#24684)
Click to expand commit body
Without this, these default vim bindings were taking precedence over
user keybindings
Release Notes:
- N/A
This should fix a panic in `Window::current_view()`
Release Notes:
- N/A
Mikayla Maki
created
0a14679
vim: Prevent around word operations from selecting indentation (#24635)
Click to expand commit body
Closes https://github.com/zed-industries/zed/issues/15323
Changes:
Added check for first word on line
Tested `v/c/d/y aw`. Matches standard neovim.
|initial|old|new|
|---|---|---|
|||
Release Notes:
- vim: Prevent around word operations from selecting indentation
5brian
created
7378ab9
Correctly handle `[[` autoclosing in Markdown (#24662)
Release Notes:
- N/A
Co-authored-by: Max <max@zed.dev>
Cole Miller
and
Max
created
7c00eec
edit predictions: Fix popover hint not scrolling horizontally (#24602)
Click to expand commit body
Release Notes:
- N/A
João Marcos
created
eaab7da
zeta: Add ability to change predict edits URL via environment variable (#24668)
Click to expand commit body
This PR adds the ability to change the predict edits URL using the
`ZED_PREDICT_EDITS_URL` environment variable.
This allows for easily pointing Zed to a development version of the
Cloudflare Worker.
Release Notes:
- N/A
Marshall Bowers
created
14d9788
edit predictions: Don't animate cursor when jumping in eager mode without LSP completions (#24664)
Click to expand commit body
We should only do this in "holding modifier" mode OR when there's a
language server completions menu.
Release Notes:
- N/A
This PR adds file associations for stylelint files.
This is how it looks like in Zed (the icon doesn't exist):

In a dev version of an icon theme it looks like this (icon sourced from:
https://github.com/vscode-icons/vscode-icons/blob/master/icons/file_type_stylelint.svg
):

Release Notes:
- Icon themes: Added Stylelint file icon associations.
---------
Co-authored-by: Marshall Bowers <git@maxdeviant.com>
The `.mjsx`, `.cjsx`, `.mtsx`, and `.ctsx` file extensions are also
designed to contain JSX code.
Release Notes:
- Added file icon associations for more React files (`.mjsx`, `.cjsx`,
`.mtsx`, `.ctsx`).
Twilight
created
7fe6943
Add command to copy current file name (#22174)
Click to expand commit body
Closes #21967
Add actions `CopyFileName` and `CopyFileNameWithoutExtension` to be used in the command palette.
Release Notes:
- Added commands `editor: copy file name` and `editor: copy file name without extensions`.
ANKDDEV
created
8fa85c4
edit prediction: Try to fix panic in `Buffer::preview_edits` (#24654)
Click to expand commit body
We've seen a few crashes in `SyntaxSnapshot::reparse_with_ranges` during
`Buffer::preview_edits`, where an offset conversion fails because it is
out of range.
We are not sure how exactly this is happening.
Our theory is that the syntax snapshot is using an outdated state when
edits happen in the meantime (while interpolating). This is an attempt
to see if it helps with the panics, hopefully we can revisit this when
we have a better understanding of the issue.
Co-Authored-by: Antonio <antonio@zed.dev>
Release Notes:
- N/A
Co-authored-by: Antonio <antonio@zed.dev>
7b45901
gpui: Update asset paths for more examples (#24646)
Click to expand commit body
This PR updates the asset paths used in more GPUI examples such that
they work when run from the repository root or from within
`crates/gpui`.
Release Notes:
- N/A
Marshall Bowers
created
22e2b8e
edit predictions: Preview jumps by animating cursor to target (#24604)
This PR fixes the file icon used for Svelte files in the default icon
theme, as I used the wrong icon name in #24644.
Release Notes:
- N/A
Marshall Bowers
created
c61f2df
file_icons: Use a separate icon key for Markdown files (#24648)
Click to expand commit body
This PR updates the file icon mappings such that Markdown (`.md`,
`.markdown`) files map to the `markdown` key.
Release Notes:
- Icon themes: Added the ability to change the file icon for Markdown
(`.md`, `.markdown`) files.
Marshall Bowers
created
04d65cb
gpui: Make `image` example work regardless of how it is run (#24645)
Click to expand commit body
This PR updates the GPUI `image` example such that it works when run in
the following ways:
- `cargo run -p gpui --example image` from the repository root
- `cargo run --example image` from within `crates/gpui`
Release Notes:
- N/A
Marshall Bowers
created
6a40a40
file_icons: Use a separate icon key for Svelte files (#24644)
Click to expand commit body
This PR updates the file icon mappings such that Svelte (`.svelte`)
files map to the `svelte` key.
Release Notes:
- Icon themes: Added the ability to change the file icon for Svelte
(`.svelte`) files.
Marshall Bowers
created
c8c4ec2
docs: Fix vim `Subword` and `Push` example snippet (#24641)
Click to expand commit body
All other vim examples are objects in Keymap file, where these two
examples are stated as Keymap file itself.
PR fixes this confusion.
Release Notes:
- N/A
smit
created
64ae509
chore: Remove `settings` dependency on `migrator` (#24642)
There is no file indicator_x.svg in the assets directory.
09:49:05 [ERROR] could not find asset at path "icons/indicator_x.svg"

Release Notes:
- N/A
zfx
created
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>