861ca05
Support loading environment from plan9 `rc` shell (#33599)
Click to expand commit body
Closes: https://github.com/zed-industries/zed/issues/33511
Add support for loading environment from Plan9 shell
Document esoteric shell behavior.
Remove two useless tests.
Follow-up to:
- https://github.com/zed-industries/zed/pull/32702
- https://github.com/zed-industries/zed/pull/32637
Release Notes:
- Add support for loading environment variables from Plan9 `rc` shell.
Peter Tripp
created
f785853
ssh: Fix incorrect handling of ssh paths that exist locally (#33743)
Click to expand commit body
- Closes: https://github.com/zed-industries/zed/issues/33733
I also tested that remote canonicalization of symlink directories still
works. (e.g. `zed ssh://hostname/~/foo` where `foo -> foobar` will open
`~/foobar` on the remote).
I believe this has been broken since 2024-10-11 from
https://github.com/zed-industries/zed/pull/19057. CC: @SomeoneToIgnore.
I guess I'm the only person silly enough to run `zed
ssh://hostname/tmp`.
Release Notes:
- ssh: Fixed an issue where Zed incorrectly canonicalized paths locally
prior to connecting to the ssh remote.
955580d
Adjust Go outline query for method definition to avoid pesky whitespace (#33971)
Click to expand commit body
Closes #33951
There's an adjustment that kicks in to extend `name_ranges` when we
capture more than one `@name` for an outline `@item`. That was happening
here because we captured both the parameter name for the method receiver
and the name of the method as `@name`. It seems like only the second one
should have that annotation.
Release Notes:
- Fixed extraneous leading space in `$ZED_SYMBOL` when used with Go
methods.
Closes #33791
Surrogate pairs are now handled correctly, so input from tools like
`WinCompose` is properly received.
Release Notes:
- N/A
张小白
created
018dbfb
agent: Show line numbers of symbols when using `@symbol` (#34004)
Click to expand commit body
Closes #ISSUE
Release Notes:
- N/A
Bennet Bo Fenner
created
30a441b
agent_ui: Fix disabled context servers not showing in agent setting (#33856)
Click to expand commit body
Previously if I set enabled: false for one the context servers in
settings.json it will not show up in the settings in agent panel when I
start zed. But if I enabled it from settings it properly showed up. We
were filtering the configuration to only get the enabled context servers
from settings.json. This PR adds fetching all of them.
Release Notes:
- agent: Show context servers which are disabled in settings in agent
panel settings.
Umesh Yadav
created
83562fc
copilot: Indicate whether a request is initiated by an agent to Copilot API (#33895)
Click to expand commit body
Per [GitHub's documentation for VSCode's agent
mode](https://docs.github.com/en/copilot/how-tos/chat/asking-github-copilot-questions-in-your-ide#agent-mode),
a premium request is charged per user-submitted prompt. rather than per
individual request the agent makes to an LLM. This PR matches Zed's
functionality to VSCode's, accurately indicating to GitHub's API whether
a given request is initiated by the user or by an agent, allowing a user
to be metered only for prompts they send.
See also: #31068
Release Notes:
- Improve Copilot premium request tracking
Liam
created
6b456ed
languages: Fix string override to match just `string_fragment` part of `template_string` (#33997)
Click to expand commit body
Closes #33703
`template_string` consists of `template_substitution` and
`string_fragment` chunks. `template_substitution` should not be
considered a string.
```ts
const variable = `this is a string_fragment but ${this.is.template_substitution}`;
```
Release Notes:
- Fixed auto-complete not showing on typing `.` character in template
literal string in JavaScript and TypeScript files.
Closes #7243
- Adds `top_slot_items` to `uniform_list` component to offset list
items.
- Adds `ToPosition` scroll strategy to `uniform_list` to scroll list to
specified index.
- Adds `sticky_items` component which can be used along with
`uniform_list` to add sticky functionality to any view that implements
uniform list.
https://github.com/user-attachments/assets/eb508fa4-167e-4595-911b-52651537284c
Release Notes:
- Added sticky scroll to the project panel, which keeps parent
directories visible while scrolling. This feature is enabled by default.
To disable it, toggle `sticky_scroll` in settings.
Smit Barmase
created
2246b01
Allow remote loading for DAP-only extensions (#33981)
01295aa
debugger: Fix the JavaScript debug terminal scenario (#33924)
Click to expand commit body
There were a couple of things preventing this from working:
- our hack to stop the node REPL from appearing broke in recent versions
of the JS DAP that started passing `--experimental-network-inspection`
by default
- we had lost the ability to create a debug terminal without specifying
a program
This PR fixes those issues. We also fixed environment variables from the
**runInTerminal** request not getting passed to the spawned program.
Release Notes:
- Debugger: Fix RunInTerminal not working for JavaScript debugger.
---------
Co-authored-by: Cole Miller <cole@zed.dev>
Partially fixes:
https://github.com/zed-industries/zed/discussions/33777#discussioncomment-13646294
### Improves debug console autocompletion behavior
This PR fixes a regression in completion trigger support for the debug
console, as we only looked if a completion trigger, was in the beginning
of the search text, but we also had to check if the current text is a
word so we also show completions for variables/input that doesn't start
with any of the completion triggers.
We now also leverage DAP provided information to sort completion items
more effectively. This results in improved prioritization, showing
variable completions above classes and global scope types.
I also added for completion the documentation field, that directly comes
from the DAP server. NOTE: I haven't found an adapter that returns this,
but it needs to have.
**Before**
<img width="1200" alt="Screenshot 2025-07-03 at 21 00 19"
src="https://github.com/user-attachments/assets/611e8d38-e302-4995-a425-ce2c0a1843d4"
/>
**After**
<img width="1200" alt="Screenshot 2025-07-03 at 20 59 38"
src="https://github.com/user-attachments/assets/ab1312db-bbad-49b7-872d-712d6ec708d7"
/>
Release Notes:
- Debugger: Improve autocompletion sorting for debug console
- Debugger: Fix autocompletion menu now shown when you type
- Debugger: Fix completion item showing up twice for some adapters
Remco Smits
created
76fe332
project_panel: Fix indent guide collapse on secondary click for multiple worktrees (#33939)
Click to expand commit body
Release Notes:
- Fixed issue where `cmd`/`ctrl` click on indent guide would not
collapse directory in case of multiple projects.
Smit Barmase
created
44d1f51
Use /usr/bin/env to run bash restart script (#33936)
Click to expand commit body
Closes #33935
Release Notes:
- Use `/usr/bin/env` to launch the bash restart script
Alvaro Parker
created
69fd23e
Fix path parsing for goto syntax provided by Haskell language server (#33697)
Click to expand commit body
path parsing for multiline errors provided by haskell language server
where not working correctly
<img width="875" alt="image"
src="https://github.com/user-attachments/assets/967d2e03-e167-4055-9c8e-31531cca1471"
/>
while its being parsed correctly in vscode
<img width="934" alt="image"
src="https://github.com/user-attachments/assets/a881cf0e-f06e-4b44-8363-6295bcc825fd"
/>
Release Notes:
- Fixed path parsing paths in the format of the Haskell language server
abhimanyu maurya
created
4ad47fc
emmet: Enable in `HTML/ERB` files (#33865)
Click to expand commit body
Closes [#133](https://github.com/zed-extensions/ruby/issues/133)
This PR enables the Emmet LS in `HTML/ERB` files that we added in the
https://github.com/zed-extensions/ruby/pull/113. Let me know if I picked
the right approach here.
Thanks!
Release Notes:
- N/A
Vitaly Slobodin
created
0555bbd
ruby: Document how to use `erb-formatter` for ERB files (#33872)
Click to expand commit body
Hi! This is a small pull request that adds a new section about
configuring the `erb-formatter` for formatting ERB files. Thanks.
Release Notes:
- N/A
Vitaly Slobodin
created
d3da0a8
Update documentation for tailwindcss language server now that HTML/ERB is it's own file. (#33684)
Click to expand commit body
Hello,
Recently my tailwind auto completion broke in ERB files. I noticed that
HTML/ERB is it's own file type now. It used to be ERB. This broke the
previous tailwindcss ERB configuration. I made the attached change to my
configuration and it works now.
Jacob Duba
created
31ec7ef
Debugger: check for `supports_single_thread_execution_requests` in continue (#33937)
Click to expand commit body
i found this to break my ability to continue with an lldb fork i use
Release Notes:
- N/A
xdBronch
created
75928f4
Sync extension debuggers to remote host (#33876)
Click to expand commit body
Closes #33835
Release Notes:
- Fixed debugger extensions not working in remote projects.
Ryan Hawkins
created
543a7b1
debugger: Fix errors in JavaScript DAP schema (#33884)
Click to expand commit body
`program` isn't required, and in fact our built-in `JavaScript debug
terminal` configuration doesn't have it.
Also add `node-terminal` to the list of allowed types.
Co-authored-by: Michael <michael@zed.dev>
Release Notes:
- N/A
Cole Miller
created
8fecacf
settings: Remove version keys from default settings (#33921)
Click to expand commit body
Follow up to #33372
Release Notes:
- N/A
Bennet Bo Fenner
created
59cdea0
agent: Fix context server restart when settings unchanged (#33920)
Click to expand commit body
Closes #33891
Release Notes:
- agent: Fix an issue where configuring an MCP server would not restart
the underlying server correctly
Bennet Bo Fenner
created
3d7e012
gemini: Fix issue with builtin tool schemas (#33917)
Click to expand commit body
Closes #33894
After #33635 Gemini Integration was broken because we now produce
`const` fields for enums, which are not supported.
Changing this to `openapi3` fixes the issue.
Release Notes:
- Fixed an issue where Gemini Models would not work because of
incompatible tool schemas
Bennet Bo Fenner
created
8ebea17
debugger: Add history to console's query bar (#33914)
Click to expand commit body
Closes #[33457](https://github.com/zed-industries/zed/discussions/33457)
Release Notes:
- debugger: Added query history to the console
Piotr Osiewicz
created
5253702
Move the `LoadingLabel` component to the UI crate (#33893)
Click to expand commit body
So we can use it in other places and don't require them to depend on the
`agent_ui`. This PR also renames it from `AnimatedLabel` to
`LoadingLabel`.
Release Notes:
- N/A
Danilo Leal
created
ed7552d
Default `#[schemars(deny_unknown_fields)] for json-language-server schemas (#33883)
Click to expand commit body
Followup to #33678, doing the same thing for all JSON Schema files
provided to json-language-server
Release Notes:
* Added warnings for unknown fields when editing `tasks.json` /
`snippets.json`.
Michael Sloan
created
38544e5
debugger: Use debugpy's suggested names for child sessions (#33885)
Click to expand commit body
Just like vscode-js-debug, debugpy uses the `name` key in
StartDebuggingRequestArguments for this:
https://github.com/microsoft/debugpy/blob/0d65353cc6e519292296bf567bdc6dfa5bcd4ffc/src/debugpy/adapter/clients.py#L753
Release Notes:
- debugger: Made the names of Python subprocesses in the session list
more helpful.
Closes #33761
The problem was that in the indentation regex we were treating lines
that had `:` in them as requiring an indent on the next line, even if
that `:` was inside a comment.
Release Notes:
- Fixed YAML indentation for lines containing comments with `:` in them
Richard Feldman
created
91bfe6f
debugger: Improve performance with large # of output (#33874)
Click to expand commit body
Closes #33820
Release Notes:
- Improved performance of debug console when there are lots of output
events.
---------
Co-authored-by: Cole Miller <cole@zed.dev>
Piotr Osiewicz
and
Cole Miller
created
0ebf7f5
Fix Shift+Enter to send newline instead of carriage return in terminal (#33859)
Click to expand commit body
Closes #33858
Changes Shift+Enter in the built-in terminal to send line feed (`\x0a`)
instead of carriage return (`\x0d`), enabling multi-line input in Claude
Code and other terminal applications.
Release Notes:
- Fixed the issue where Claude Code and other multi-line terminal
applications couldn't use Shift+Enter for newlines.
Taras Martyniuk
created
7a2593e
Fix JSON Schema definitions path used for debug task (#33873)
Click to expand commit body
Regression in #33678
Release Notes:
- (Preview Only) Fixed invalid json schema for `debug.json`.
Closes #ISSUE
Uses Rust for syntax highlighting of context in the keymap editor.
Future pass will improve color choice to make colors less abrasive
Release Notes:
- N/A *or* Added/Fixed/Improved ...
Ben Kunkle
created
4e6b7ee
keymap_ui: Hover tooltip for action documentation (#33862)
Click to expand commit body
Closes #ISSUE
Show the documentation for an action when hovered. As a bonus, also show
the humanized command palette name!
Release Notes:
- N/A *or* Added/Fixed/Improved ...
Ben Kunkle
created
34322ef
agent: Fix bug that prevented MCP servers to appear in the settings view (#33857)
Click to expand commit body
Closes https://github.com/zed-industries/zed/issues/33827
After #33644 was merged, we would not start MCP servers coming from
extensions correctly anymore. The optimization uncovered a bug in the
implementation of `ContextServerDescriptorRegistry`, because we never
called `cx.notify()` when adding/removing context servers.
`ContextServerStore` listens for these events, and before #33644 this
was just working because of aace condition.
Release Notes:
- agent: Fixed bug that prevented MCP servers to appear in the settings
view.
Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
Danilo Leal
and
Bennet Bo Fenner
created
cc0d8a4
Add Danger check for changes to eval fixtures (#33852)
Click to expand commit body
Also, revert unintentional changes to fixtures.
Changes to test fixtures are intentional and necessary.
Release Notes:
- N/A
Oleksiy Syvokon
created
12ab53b
Fix documentation of view release notes actions (#33851)
b46e961
agent_ui: Clear error message callout when message is edited or added in same thread (#33768)
Click to expand commit body
Currently if error occurs in the agent thread and user updates the same
messages or sends a new message the error callout is still present and
is not cleared. In this PR we are clearing the last error in case user
sends a new messages or resend the previous message after editing.
Before:
https://github.com/user-attachments/assets/44994004-4cf0-45bc-8b69-88546f037372
After:
https://github.com/user-attachments/assets/993a2a63-8295-47d3-bbda-a2669dee2d5f
Release Notes:
- Fix bug in agent panel error callout not getting removed when a
message is edited or new a message is send.
Umesh Yadav
created
42aca41
agent: Improve provider section spacing in settings view (#33850)
Click to expand commit body
Some design polish here as a follow-up to making the provider accordion
header entirely clickable.
Release Notes:
- agent: Improved design in the provider section by refining spacing.
Danilo Leal
created
f34a7ab
gpui: Add `shadow_xs`, `shadow_2xs` and fix shadow values to match Tailwind CSS (#33361)
Follow-up of https://github.com/zed-industries/zed/pull/32937
Fixes remote server bundling:
https://github.com/zed-industries/zed/actions/runs/16043840539/job/45271137215#step:6:2079
Excludes `screen-capture` feature from Zed's default, use it only in the
components that need it.
Release Notes:
- N/A
Kirill Bulatov
created
cdb7564
windows: More precise handling of `WM_SETTINGCHANGE` and appearance updates (#33829)
Click to expand commit body
This PR adds more fine-grained handling of the `WM_SETTINGCHANGE`
message.
Plus, we now only trigger the `appearance_changed` callback when the
actual window appearance has changed, rather than calling it every time.
Release Notes:
- N/A
张小白
created
968587a
worspace: Add partial window bound fix when switching between CSD and SSD on Wayland (#31335)
Click to expand commit body
Partial fix for #31330
It fix the problem that the inset stay on after switching to SSD, but it
still have the problem that after that first redraw, it have the wrong
size. Just resizing it even once work. I guess the relevant code to fix
that would be ``handle_toplevel_decoration_event`` of
``crates/gpui/src/platform/linux/wayland/window.rs``, but trying to call
resize here does not seems to work correctly (might be just wrong
argument), and I would like to take a break on that for now.
Release Notes:
- N/A
(better wait for that to be completely fixed before adding it in the
changelog)
---------
Co-authored-by: Michael Sloan <michael@zed.dev>
marius851000
and
Michael Sloan
created
48c8555
Show more info in the UI and logs (#33841)
Click to expand commit body
Addresses the `The binding is not displayed, though:` part from
https://github.com/zed-industries/zed/discussions/29498#discussioncomment-13649543
Release Notes:
- N/A
Kirill Bulatov
created
06ddc74
editor: Reapply fix for wrap guide positioning (#33776)
Click to expand commit body
Reapplies the fix from #33514 which was removed in #33554. Wrap guides
are currently drifting again due to this on main.
Slightly changed the approach here so that we now actually only save the
wrap guides in the `EditorLayout` that will actually be painted. Also
ensures that we paint indent guides that were previously hidden behind
the vertical scrollbar once it auto-hides.
I wanted to add tests for this, however, I am rather sure this depends
on the work/fixes in #33590 and thus I'd prefer to add these later so we
can have this fix in the next release.
Release Notes:
- N/A
Finn Evers
created
5c88e9c
terminal: Expose `selection` in context and add `keep_selection_on_copy` setting (#33491)
Click to expand commit body
Closes #21262
Introduces a new setting `keep_selection_on_copy`, which controls
whether the current text selection is preserved after copying in the
terminal. The default behavior remains the same (`true`), but setting it
to `false` will clear the selection after the copy operation, matching
VSCode's behavior.
Additionally, the terminal context now exposes a `selection` flag
whenever text is selected.
This allows users to match VSCode and other terminal's smart copy
behavior.
Release Notes:
- Expose `selection` to terminal context when there is text selected in
the terminal
- Add `keep_selection_on_copy` terminal setting. Can be set to false to
clear the text selection when copying text.
**VSCode Behavior Example:**
**settings.json:**
```json
"terminal": {
"keep_selection_on_copy": false
},
```
**keymap.json:**
```json
{
"context": "Terminal && selection",
"bindings": {
"ctrl-c": "terminal::Copy"
}
}
```
chico ferreira
created
2a8121f
Clean up project repositories / repository statuses too (#33803)
Click to expand commit body
Co-authored-by: Cole Miller <cole@zed.dev>
Closes #ISSUE
Release Notes:
- N/A
---------
Co-authored-by: Cole Miller <cole@zed.dev>