b1563c5
acp: Fix slash command hint showing up after sending message (#40109)
Click to expand commit body
Release Notes:
- N/A
Bennet Fenner
created
d676dac
acp: Add tooltips for auth methods with descriptions when available (#40098)
Click to expand commit body
Release Notes:
- acp: Provide auth method descriptions in the UI when available
Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
Ben Brandt
and
Bennet Bo Fenner
created
8abee73
Load env vars from login shell in remote server (#40148)
Click to expand commit body
Fixes a bug mentioned in
https://github.com/zed-industries/zed/issues/38891
Release Notes:
- Fixed a bug where environment variables like `NODE_EXTRA_CA_CERTS`
were not loaded from the user's shell initialization scripts in WSL or
SSH remote projects.
Co-authored-by: Cole Miller <cole@zed.dev>
Max Brunsfeld
and
Cole Miller
created
19c2aa6
settings_ui: Move LSP & tool settings from Editor to Language page (#40140)
a12940e
settings: Make "auto" and "language_server" valid format steps (#40113)
Click to expand commit body
Follow up for: #39983 and
https://github.com/zed-industries/zed/pull/40040#issuecomment-3393902691
Previously it was possible to have formatting done using prettier or
language server using `"formatter": "auto"` and specify code actions to
apply on format using the `"code_actions_on_format"` setting. However,
post #39983 this is no longer possible due to the removal of the
`"code_actions_on_format"` setting. To rectify this regression, this PR
makes it so that the `"auto"` and `"language_server"` strings that were
previously only allowed as top level values on the `"formatter"` key,
are now allowed as format steps like so:
```json
{
"formatter": ["auto", "language_server"]
}
```
Therefore to replicate the previous behavior using `"auto"` and
`"code_actions_on_format"` you can use the following configuration:
```json
{
"formatter": [{"code_action": ...}, "auto"]
}
```
Release Notes:
- N/A *or* Added/Fixed/Improved ...
Ben Kunkle
created
92f01b7
editor: Fix `delete line` moving the cursor too far
7015a0c
lsp: Handle dynamic registration of workspace diagnostic capabilities (#40095)
Click to expand commit body
Workspace diagnostics in Zed have a dedicated background task that
handles querying the language server based on workspace diagnostics
refresh requests issued by both Zed and language server itself.
We only spawned that task when language server declared support for
workspace diagnostics on boot-up. This made workspace diagnostics
unavailable
when a language server (say, Ty) declared support via a capability
registration.
Originally reported in
https://github.com/zed-industries/zed/issues/39144#issuecomment-3370320004
Release Notes:
- python: Fixed workspace diagnostics not working with Ty.
Piotr Osiewicz
created
435dee3
lsp colors: Reduce flickering while typing (#40055)
Click to expand commit body
Closes #40019
Follow-up https://github.com/zed-industries/zed/pull/40025
This PR reduces/removes the flickering of inlay colors. This is done by
adding a debounce, and not detaching the task that fetches the new
colors.
**Result**
https://github.com/user-attachments/assets/5dae278b-b821-4e64-8adb-c4d8376ba1df
Release Notes:
- Lsp colors: Reduce flickering while typing.
---------
Co-authored-by: Kirill Bulatov <kirill@zed.dev>
Closes #39974
Since the thumb hitboxes themselves do not propagate events, we need to
paint the normal parent hitbox on top of the other ones. This also
caused hover detection to fail, which caused the issue linked.
Release Notes:
- Fixed an issue where hovering scrollbars in hovers would dismiss
these.
Finn Evers
created
2b301b0
Deprecate code actions on format setting (#39983)
Click to expand commit body
Closes #ISSUE
Release Notes:
- settings: Deprecated `code_actions_on_format` in favor of specifying
code actions to run on format inline in the `formatter` array.
Previously, you would configure code actions to run on format like this:
```json
{
"code_actions_on_format": {
"source.organizeImports": true,
"source.fixAll.eslint": true
}
}
```
This has been migrated to the new format:
```json
{
"formatter": [
{
"code_action": "source.organizeImports"
},
{
"code_action": "source.fixAll.eslint"
}
]
}
```
This change will be automatically migrated for you. If you had an
existing `formatter` setting, the code actions are prepended to your
formatter array (matching the existing behavior). This migration applies
to both global settings and language-specific settings
Ben Kunkle
created
97c8a57
settings_ui: Expand nav entries by default when searching (#39980)
Fixes: https://github.com/longbridge/gpui-component/issues/994
1. When SVG is rotated, incorrect graphics are drawn.
For example: the original aspect ratio of the SVG is 1:1, if the bounds
used to render the SVG are 400x200 (aspect ratio 2:1),
[here](https://github.com/zed-industries/zed/blob/21f985a018f7cca9c0fb7f5b7a87555486ab9db5/crates/gpui/src/svg_renderer.rs#L91)
the width is used as the scaling factor, causing the rendered SVG to
only have half the height. This PR ensures the complete SVG image is
always rendered.
2. The clipping region has no transformation applied, I added a function
called `distance_from_clip_rect_transformed` in the shader.
3. Fixed `monochrome_sprite_fragment` in `shader.metal` not applying
clipping region.
### Before:
https://github.com/user-attachments/assets/8f93ac36-281e-4837-96cd-c308bfbf92d1
### After:
https://github.com/user-attachments/assets/f52b67a6-4cb9-4d6c-b759-bbb91b59c1cf
Release Notes:
- N/A
---------
Co-authored-by: Jason Lee <huacnlee@gmail.com>
Sunli
and
Jason Lee
created
bd294bc
Fix settings window on Linux/Windows being immovable (#39939)
localcc
created
a70aa4b
gpui: Add support for floating windows (#39702)
Click to expand commit body
Closes #ISSUE
This allows new windows like the Rules library or the Settings UI window
to appear floating on window managers like hyprland:
https://github.com/user-attachments/assets/628db7f9-4459-4601-85f1-789923831182
Left is with `WindowKind::Floating` and right is with
`WindowKind::Normal`
Release Notes:
- Added support for floating windows on x11 and wayland
Closes #39263
Release Notes:
- N/A
from
https://github.com/zed-industries/zed/issues/39263#issuecomment-3358220988
>
> > If you replace that code with
> >
> > let adapter: IDXGIAdapter1 = unsafe {
> > dxgi_factory.EnumAdapters(adapter_index)
> > }?.cast()?;
> >
> > does it not select the right GPU?
>
> @reflectronic That does seem to select the active gpu for me, meaning
whichever GPU is currently connected. This is a much simpler solution
than the one I have here
(https://github.com/zed-industries/zed/pull/39264 - updated) and while
I'm sure I could imagine someone wanting to choose their GPU to render
Zed on, that may not be something that the application really needs to
support.
>
> I have a branch with just this as the only change that I can push to
that PR if the simpler solution is preferred.
>
> ```rust
> let adapter: IDXGIAdapter1 = unsafe {
> dxgi_factory.EnumAdapters(adapter_index)?.cast()?
> };
> ```
Cave Bats Of Ware
created
7555a0a
Change windows asset name to match other platforms (#39936)
localcc
created
ed4cfb0
windows: Don't throw an error when the settings file is empty (#39908)
Click to expand commit body
Closes #39585
Release Notes:
- N/A
Cole Miller
created
2aeb025
settings_ui: Improve search by fuzzy matching on words (#39961)
3a076c4
settings_ui: Fix page scroll bar lagging behind when jumping to a section (#39897)
Click to expand commit body
The issue was caused by the scroll handle taking a couple of frames to
update its offset correctly after calling
`ScrollHandle::scroll_to_top_of_item`. The fast fix is forcing 3 frames
to render back-to-back.
In the future, we should look into `ScrollHandle` and see if there's any
way to update its state outside of paint.
Release Notes:
- N/A
Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
Co-authored-by: Mikayla Maki <mikayla.c.maki@gmail.com>
Co-authored-by: Katie Geer <katie@zed.dev>
Co-authored-by: Ben Kunkle <ben@zed.dev>
Anthony Eid
,
Danilo Leal
,
Mikayla Maki
,
Katie Geer
, and
Ben Kunkle
created
d6a06b6
settings_ui: Restore settings UI keybinding hint (#39896)
Click to expand commit body
Now that the toggle nav focus works well, we can advertise it!
Release Notes:
- N/A
3746518
Provide codex as an option on remote sessions (#39774)
Click to expand commit body
Release Notes:
- N/A
---------
Co-authored-by: Cole Miller <cole@zed.dev>
Ben Brandt
and
Cole Miller
created
45f6f80
acp: Simplify auth check and allow for custom /logout commands (#39867)
Click to expand commit body
- Prefer agent-specific logout handling to allow state reset
- Treat any auth method as supported; remove provider-specific filter
- Avoid prompting auth when issuing /logout and agent supports it
Release Notes:
- N/A
7c38298
Fix configuring shell in project settings (#39795)
Click to expand commit body
I mistakenly broke this when refactoring settings
Closes #39479
Release Notes:
- Fixed a bug where you could no longer configure `terminal.shell` in
project settings
Align with
https://github.com/zed-industries/zed/blob/cd656485c863fcf3c1cc9cb1f00cd4b29b976fb1/crates/settings/src/settings_content/workspace.rs#L490
By the way, LOVE the settings UI! <3 Great job so far :)
Release Notes:
- N/A
Matthijs Kok
created
4122b23
settings_ui: Improve keyboard nav (#39819)
Click to expand commit body
Closes #ISSUE
From notes:
```markdown
- [x] Clicking on the disclsoure icon button in the root-level tree view item should steal focus and move it to the root item (not the icon button)
- [x] [@ben] Allow left/right arrow keys to expand/collapse root tree view items in the nav
- [x] With this, make enter/space work the same as clicking (activate page, don't expand root items, focus moves to the content and leaves nav — becomes consistent with mouse interaction)
- [x] Smart cmd-shift-e: toggling focus should take you to the selected item
- [x] [@ben] pageup + pagedown in nav -> jump between root items
- [x] [@ben] home + end buttons should work
- in nav:
- home always goes to first section header
- end always goes to last _visible_ item (does not expand)
```
Release Notes:
- N/A *or* Added/Fixed/Improved ...
<img width="1648" height="976" alt="Screenshot 2025-10-07 at 6 57 20 PM"
src="https://github.com/user-attachments/assets/ae7289c0-8820-4fdf-ae28-84fb6bd64942"
/>
Fixes #39347
Release Notes:
- Improved onboarding UI by collapsing it to a single page
---------
Co-authored-by: dino <dinojoaocosta@gmail.com>
Co-authored-by: Lukas Wirth <me@lukaswirth.dev>
Co-authored-by: Mikayla Maki <mikayla.c.maki@gmail.com>
Co-authored-by: Anthony Eid <hello@anthonyeid.me>
Co-authored-by: Mikayla Maki <mikayla@zed.dev>
Andrew Farkas
,
dino
,
Lukas Wirth
,
Mikayla Maki
,
Anthony Eid
, and
Mikayla Maki
created
b2e9c6c
Do not deselect in terminal on copy by default (#39814)
Click to expand commit body
Release Notes:
- Flips `terminal.keep_selection_on_copy` default to `true`
Kirill Bulatov
created
3ae971f
terminal: Clear shell after activating (#39798)
Click to expand commit body
Two tweaks were required to ensure we correctly clear the shell after
running an activate script(s):
1. PowerShell upon receiving `\r\n` input, will enter the continuation
mode (>>). To avoid this, we send an "enter" key press instead `\x0d`.
2. In order to clear the terminal _after_ issuing all activation
commands, we need to take into account the asynchronous nature of the
activation process:
- We write the command to run the script to PTY
- We send "enter" (It is now being processed by the shell) At this point
we need to wait for the shell to finish executing before we clear the
terminal. Otherwise we will create a race where we might clear the
terminal _before_ the shell finished executing the activation script(s).
- Write `clear`/`cls` command to PTY
- Send "enter" This way we guarantee that we clear the terminal _after_
all scripts were executed.
Closes #38474
Release Notes:
- N/A
Jakub Konka
created
04ff8de
terminal: Fix escaping arguments when using CMD as the shell (#39701)
Click to expand commit body
A couple of caveats:
- We should not auto-escape arguments with Alacritty's `escape_args`
option if using CMD otherwise, the generated command will have way too
many escaped characters for CMD to parse correctly.
- When composing a full command for CMD, we need to put it in double
quotes manually: `cmd /C "activate.bat& pwsh.exe -C do_something"` so
that CMD executes the entire string as a sequence of commands.
- CMD requires `&` as a chaining operator for commands (`;` for other
shells).
Release Notes:
- N/A
dd3b65f
acp: Don't display failed terminal call on display only terminals (#39780)
Click to expand commit body
We don't get an ExitStatus from a remote terminal, so this check was
failing.
Ideally we move all of this to just needing an exit code, but we will
have to revisit that later.
Release Notes:
- N/A
Update Vim's `%` motion to first attempt finding the exact matching
bracket/tag under the cursor, then fall back to the previous
nearest-enclosing logic if none is found. This prevents accidentally
jumping to nested pairs in languages like TSX and Svelte where `<>`,
`</>`, and `/>` are also treated as brackets.
Closes #39368
Release Notes:
- Fixed an edge case with the `%` motion in vim, where the cursor could
end up in a closing HTML tag instead of the matching bracket