0c71aa9
Bump tree-sitter-python to 0.25.0 (#39103)
Click to expand commit body
- The fork with the patch is now included in 0.25.0
(https://github.com/tree-sitter/tree-sitter-python/commit/7ff26dacd720393d3cfeda14351f168a79146a33).
- We no longer need `except*` as a keyword, which was added in
https://github.com/zed-industries/zed/pull/21389. It now highlights
correctly without explicitly mentioning it after
https://github.com/tree-sitter/tree-sitter-python/commit/1b1ca93298f0a67987abbda88a861d65da28cdb4.
Release Notes:
- N/A
Smit Barmase
created
92a09ec
x_ai: Add support for tools and images with custom models (#38792)
Click to expand commit body
After the change, we can add "supports_images", "supports_tools" and
"parallel_tool_calls" properties to set up new models. Our
`settings.json` will be as follows:
```json
"language_models": {
"x_ai": {
"api_url": "https://api.x.ai/v1",
"available_models": [
{
"name": "grok-4-fast-reasoning",
"display_name": "Grok 4 Fast Reasoning",
"max_tokens": 2000000,
"max_output_tokens": 64000,
"supports_tools": true,
"parallel_tool_calls": true,
},
{
"name": "grok-4-fast-non-reasoning",
"display_name": "Grok 4 Fast Non-Reasoning",
"max_tokens": 2000000,
"max_output_tokens": 64000,
"supports_images": true,
}
]
}
}
```
Closes https://github.com/zed-industries/zed/issues/38752
Release Notes:
- xAI: Added support for for configuring tool and image support for
custom model configurations
Jowell Young
created
bad9677
acp: Add NO_PROXY if not set otherwise to not proxy localhost urls (#39100)
Click to expand commit body
Since we might run MCP servers locally for an agent, we don't want to
use the proxy for those.
We set this if the user has set a proxy, but not a custom NO_PROXY env
var.
Closes #38839
Release Notes:
- acp: Don't run local mcp servers through proxy, if set
Ben Brandt
created
aa14980
Mention pure style changes in the contributing docs (#39096)
Click to expand commit body
Release Notes:
- N/A
Kirill Bulatov
created
12aba61
docs: Fix minor typos in configuring-zed.md (#39048)
Click to expand commit body
Fixed numbering under heading Bottom Dock Layout
Closes #ISSUE
Release Notes:
- N/A
warrenjokinen
created
720971e
git_ui: Fix last commit UI glitching on panel resize (#39059)
Click to expand commit body
# Why
Spotted that on Git Panel resize last commit UI part could glitch due to
commit message being wrapped into second line in certain situations.
# How
Force only one line for the last commit message in Git Panel via
`line_clamp`.
I have also remove manual `max-width` setting since it is controlled by
flex layout and gap setting no matter if there is an additional element
on the right or not.
Release Notes:
- Fixed last commit UI glitching on panel resize
# Preview
### Before
https://github.com/user-attachments/assets/9ce74f6f-d33c-4787-b7e4-010de8f0ffff
<img width="852" height="502" alt="Screenshot 2025-09-28 at 18 16 35"
src="https://github.com/user-attachments/assets/1131c73f-fe06-4d8e-adbb-5ce84ecf31e0"
/>
### After
https://github.com/user-attachments/assets/279b8c37-7ec9-4038-8761-197cba26aa83
Closes https://github.com/zed-industries/zed/issues/38462
Release Notes:
- Fixed AI terminal tool incorrectly redirecting stdin to `/dev/null`
Lukas Wirth
created
77854f4
windows: Refactor shell environment capture to use new_smol_command (#39055)
Click to expand commit body
Using `crate::command::new_smol_command` on the Windows platform will
not display the PowerShell window.
Closes #39052
Release Notes:
- N/A
Signed-off-by: Xiaobo Liu <cppcoffee@gmail.com>
Xiaobo Liu
created
5ce7eda
ui: Fix panic in `highlight_ranges` when given an oob index (#39051)
Click to expand commit body
Fixes ZED-1QW
Release Notes:
- Fixed a panic when highlighting labels
Lukas Wirth
created
6d7a4c4
search: Fix panic in project search due to workspace double lease (#39049)
Click to expand commit body
Fixes ZED-1K1
Release Notes:
- Fixed panic when spawning a new project search with include file only
filtering
Lukas Wirth
created
cc85a48
editor: Fix panic when syncing empty selections (#39047)
Click to expand commit body
Fixes ZED-1KF
Release Notes:
- Fixed commit modal panicking in specific scenario
Pickup the changes from #36550
Release Notes:
- N/A
---------
Signed-off-by: Yang Gang <yanggang.uefi@gmail.com>
Co-authored-by: 张小白 <364772080@qq.com>
682cf02
windows: Implement shell environment loading for git operations (#39019)
Click to expand commit body
Fixes the "failed to get working directory environment for repository"
error on Windows by implementing proper shell environment variable
capture.
Release Notes:
- Fixed failed to get working directory environment for repository
---------
Signed-off-by: Xiaobo Liu <cppcoffee@gmail.com>
Xiaobo Liu
created
72948e1
Use `into_owned` over `to_string` for `Cow<str>` (#39024)
Click to expand commit body
This removes unnecessary allocations when the `Cow` is already owned
Release Notes:
- N/A *or* Added/Fixed/Improved ...
Lukas Wirth
created
a063a70
call: Play a different sound when a guest joins (#38987)
Click to expand commit body
Release Notes:
- collab: A distinct sound effect is now used for when a guest joins a
call.
- collab: Fixed the "joined" sound being excessively loud when joining a
call that already has many participants.
---------
Co-authored-by: David Kleingeld <davidsk@zed.dev>
Cole Miller
and
David Kleingeld
created
687e22b
extension_host: Use the more permissive RelPath constructor for paths from extensions (#38965)
⚠️ Don't merge until Zed 0.205.x is on stable ⚠️
See https://github.com/zed-industries/zed/pull/37811
This PR updates the HTML extension, bumping the zed extension API to the
latest version, which removes the need to work around a bug where
`current_dir()` returned an invalid path on windows.
Release Notes:
- N/A
Max Brunsfeld
created
bd3ccce
edit_prediction_button: Fix Copilot menu not updating after sign out (#38854)
Click to expand commit body
The edit prediction button menu was displaying stale authentication
status due to capturing the Copilot status in a closure. After signing
out, the menu would still show "Sign Out" instead of "Sign In to
Copilot".
This change fixes the issue by reading the current Copilot status each
time the menu is displayed, ensuring the menu options are always
accurate.
Release Notes:
- Fixed Copilot AI menu not updating after sign out
Signed-off-by: Xiaobo Liu <cppcoffee@gmail.com>
Xiaobo Liu
created
d437bba
Don't let `ctrl-g` clobber git panel keybindings in Emacs keymap (#37732)
Click to expand commit body
i'm testing out zed, coming from emacs, and so i'm trying out the base
keymap for it. i noticed though that zed's default git keybindings don't
work when the gitpanel is open though, because of the top-level binding
of `ctrl-g` to cancel. my expectation is that the emacs-like keybindings
would work insofar as they don't clobber zed's defaults (which would
take precedence), but obviously i'll defer to others on this!
another option could be to use the `C-x v` keymap prefix that the emacs
built-in `vc` package uses, but it doesn't contain the same set of
bindings for git commands that zed has.
justin talbott
created
114791e
Revert "Fix arrow function detection in TypeScript/JavaScript outline (#38411)" (#38982)
Click to expand commit body
This reverts commit 1bbf98aea6f335e791f19d8f76ba8a5f0510937f.
We found that #38411 caused problems where anonymous functions are
included too many times in the outline. We'd like to figure out a better
fix before shipping this to stable.
Fixes #38956
Release Notes:
- (preview only) revert changes to outline view
Conrad Irwin
created
d6fcd40
Show config messages from install-wild, install-mold (#38979)
Click to expand commit body
Follows on from
https://github.com/zed-industries/zed/pull/37717#discussion_r2376739687
@dvdsk suggested this but I didn't get to it in the previous PR.
# Tested
```
; sudo rm /usr/local/bin/wild
; ./script/install-wild
Downloading from https://github.com/davidlattimore/wild/releases/download/0.6.0/wild-linker-0.6.0-x86_64-unknown-linux-gnu.tar.gz
Wild is installed to /usr/local/bin/wild
To make it your default, add or merge these lines into your ~/.cargo/config.toml:
[target.x86_64-unknown-linux-gnu]
linker = "clang"
rustflags = ["-C", "link-arg=--ld-path=wild"]
[target.aarch64-unknown-linux-gnu]
linker = "clang"
rustflags = ["-C", "link-arg=--ld-path=wild"]
```
```
; sudo rm /usr/local/bin/mold
; ./script/install-mold 2.34.0
Downloading from https://github.com/rui314/mold/releases/download/v2.34.0/mold-2.34.0-x86_64-linux.tar.gz
Mold is installed to /usr/local/bin/mold
To make it your default, add or merge these lines into your ~/.cargo/config.toml:
[target.'cfg(target_os = "linux")']
linker = "clang"
rustflags = ["-C", "link-arg=-fuse-ld=mold"]
```
Release Notes:
- N/A
# Why
I have recently corrected this tooltip content for macOS, but recently
have learnt that keystroke to text helpers already exist in the
codebase.
# How
Replace hardcoded keystroke for Excerpt Fold Toggle in Uncommitted
Changes tab.
> [!important]
> Should be merged after #38969 and #38971, otherwise it would be a
regression on macOS.
Release Notes:
- N/A
# Preview (stacked on mentioned above PRs)
<img width="618" height="248" alt="Screenshot 2025-09-26 at 17 43 53"
src="https://github.com/user-attachments/assets/cdc7fb74-e1d8-4a59-b847-8a8d2edd4641"
/>
Bartosz Kaszubowski
created
a55dff7
ui: Fix Vim mode detection in keybinding to text helpers (#38971)
Click to expand commit body
# Why
Refs:
* #38969
When working on the PR above I have spotted that keybinding to text
helpers incorrectly detects if Vim mode is enabled.
# How
Replace inline check with an existing `KeyBinding::is_vim_mode` method
in keybinding text helpers.
Release Notes:
- Fixed incorrect Vim mode detection in UI keybinding to text helpers.
# Test plan
Made sure that when Vim mode is not specified in settings file it
resolves to `false`, and correct keybindings are displayed, than I have
added the `"vim_mode": true,` line to my settings file and made sure
that keybindings text have changed accordingly.
### Before
<img width="712" height="264" alt="Screenshot 2025-09-26 at 16 57 08"
src="https://github.com/user-attachments/assets/62bc24bd-c335-420f-9c2e-3690031518c1"
/>
### After
<img width="712" height="264" alt="Screenshot 2025-09-26 at 17 13 50"
src="https://github.com/user-attachments/assets/e0088897-eb6b-4d7b-855a-931adcc15fe8"
/>
Bartosz Kaszubowski
created
6db621a
ui: Display `option` in lowercase in Vim mode keybindings (#38969)
Click to expand commit body
# Why
Spotted that some tooltips include `alt` keystroke combination on macOS.
# How
Add missing `vim_mode` version definition of `Option` key to the
`keystroke_text` helper.
Release Notes:
- Fixed keystroke to text helper output for macOS `Option` key in Vim
mode
# Preview
### Before
<img width="712" height="264" alt="Screenshot 2025-09-26 at 16 57 08"
src="https://github.com/user-attachments/assets/d5daa37f-0da7-4430-91ea-4a750c025472"
/>
### After
<img width="712" height="264" alt="Screenshot 2025-09-26 at 16 56 21"
src="https://github.com/user-attachments/assets/5804ed39-9b1b-4028-a9c9-32c066042f4a"
/>
Bartosz Kaszubowski
created
948b437
Stop using linear color space on Linux Blade renderer (#38967)
Click to expand commit body
Part of https://github.com/zed-industries/zed/issues/7992
Closes https://github.com/zed-industries/zed/issues/22711
Left is main, right is patched.
* default font
<img width="3862" height="2152" alt="image"
src="https://github.com/user-attachments/assets/c4e3d18a-a0dd-48b8-a1f0-182407655efb"
/>
<img width="3862" height="2152" alt="image"
src="https://github.com/user-attachments/assets/6eea07e7-1676-422c-961f-05bc72677fad"
/>
<img width="3862" height="2152" alt="image"
src="https://github.com/user-attachments/assets/4d9e30dc-6905-48ad-849d-48eac6ebed03"
/>
<img width="3862" height="2152" alt="image"
src="https://github.com/user-attachments/assets/ef20986e-c29c-4fe0-9f20-56da4fb0ac29"
/>
* font size 7
<img width="3862" height="2152" alt="image"
src="https://github.com/user-attachments/assets/8b277e92-9ae4-4415-8903-68566b580f5a"
/>
<img width="3862" height="2152" alt="image"
src="https://github.com/user-attachments/assets/b9140e73-81af-430b-b07f-af118c7e3dae"
/>
<img width="3862" height="2152" alt="image"
src="https://github.com/user-attachments/assets/185f526a-241e-4573-af1d-f27aedeac48e"
/>
<img width="3862" height="2152" alt="image"
src="https://github.com/user-attachments/assets/7a239121-ae13-4db9-99d9-785ec26cd98e"
/>
Release Notes:
- Improved color rendering on Linux
Co-authored-by: Kate <kate@zed.dev>
Co-authored-by: John <john-tur@outlook.com>
Co-authored-by: apricotbucket28 <71973804+apricotbucket28@users.noreply.github.com>
Kirill Bulatov
,
Kate
,
John
, and
apricotbucket28
created
8db24dd
docs: Update wording around configuring MCP servers (#38973)
Click to expand commit body
Felt like this could be clarified a bit.
Release Notes:
- N/A
Closes #ISSUE
Improves the efficiency of our interactions with the Zed language
server. Previously, on startup and after every workspace configuration
changed notification, we would send >1MB of JSON Schemas to the JSON
LSP. The only reason this had to happen was due to the case where an
extension was installed that would result in a change to the JSON schema
for settings (i.e. added language, theme, etc).
This PR changes the behavior to use the URI LSP extensions of
`vscode-json-language-server` in order to send the server URI's that it
can then use to fetch the schemas as needed (i.e. the settings schema is
only generated and sent when `settings.json` is opened. This brings the
JSON we send to on startup and after every workspace configuration
changed notification down to a couple of KB.
Additionally, using another LSP extension request we can notify the
server when a schema has changed using the URI as a key, so we no longer
have to send a workspace configuration changed notification, and the
schema contents will only be re-requested and regenerated if the schema
is in use.
Release Notes:
- Improved the efficiency of communication with the builtin JSON LSP.
JSON Schemas are no longer sent to the JSON language server in their
full form. If you wish to view a builtin JSON schema in the language
server info tab of the language server logs (`dev: open language server
logs`), you must now use the `editor: open url` action with your cursor
over the URL that is sent to the server.
- Made it so that Zed urls (`zed://...`) are resolved locally when
opened within the editor instead of being resolved through the OS. Users
who could not previously open `zed://*` URLs in the editor can now do so
by pasting the link into a buffer and using the `editor: open url`
action (please open an issue if this is the case for you!).
---------
Co-authored-by: Michael <michael@zed.dev>
c69912c
Forbid `std::process::Command` spawning, replace with `smol` where appropriate (#38894)
Click to expand commit body
std commands can block for an arbitrary duration and so runs risk of
blocking tasks for too long. This replaces all such uses where sensible
with async processes.
Release Notes:
- N/A *or* Added/Fixed/Improved ...
Lukas Wirth
created
7f14ab2
copilot: Ensure minimum Node version (#38945)
Click to expand commit body
Closes #38918
Release Notes:
- N/A
Smit Barmase
created
5ee73d3
Move `settings_macros` to Cargo workspace (#38962)
Click to expand commit body
Release Notes:
- N/A
Marshall Bowers
created
d5aa81a
Fix up Wild package name and decompression (#38961)
Click to expand commit body
Wild changed in 0.6.0 to using gzip rather than xz, and changed the
format of the package name.
Follows on from and fixes
https://github.com/zed-industries/zed/pull/37717
cc @dvdsk @mati865
Release Notes:
- N/A
Martin Pool
created
21855c1
Disable subpixel shifting for y axis on Linux (#38959)
Click to expand commit body
Part of https://github.com/zed-industries/zed/issues/7992
Port of #38440
<img width="3836" height="2142" alt="zed_nightly_vs_zed_dev_2"
src="https://github.com/user-attachments/assets/66bcbb9a-2159-4790-8a9a-d4814058d966"
/>
Does not change the rendering on Linux, but prepares us for the times
without cosmic-text where this will be needed.
Release Notes:
- N/A
Co-authored-by: Kate <kate@zed.dev>
Co-authored-by: John <john@zed.dev>
Kirill Bulatov
,
Kate
, and
John
created
1f9279a
linux: Add missing linear to sRGB transform in mono sprite rendering (#38944)
Click to expand commit body
Part of https://github.com/zed-industries/zed/issues/7992
Takes
https://github.com/zed-industries/zed/issues/7992#issuecomment-3083871615
and applies its adjusted version on the current state of things
Screenshots (left is main, right is the patch):
* default font size
<img width="3840" height="2160" alt="image"
src="https://github.com/user-attachments/assets/26fdc42c-12e6-447f-ad3d-74808e4b2562"
/>
<img width="3840" height="2160" alt="image"
src="https://github.com/user-attachments/assets/29829c61-c998-4e77-97c3-0e66e14b236d"
/>
* buffer and ui font size 7
<img width="3840" height="2160" alt="image"
src="https://github.com/user-attachments/assets/5d0f1d94-b7ed-488d-ab22-c25eb01e6b4a"
/>
<img width="3840" height="2160" alt="image"
src="https://github.com/user-attachments/assets/7020d62e-de65-4b86-a64b-d3eea798c217"
/>
Release Notes:
- Added missing linear to sRGB transform in mono sprite rendering on
Linux
Co-authored-by: Thomas Dagenais <exrok@i64.dev>
Co-authored-by: Kate <work@localcc.cc>
Kirill Bulatov
,
Thomas Dagenais
, and
Kate
created
da71465
edit_prediction_context: Minor optimization of text similarity + some renames (#38941)
b152860
settings ui: Add some light design tweaks (#38934)
Click to expand commit body
Release Notes:
- N/A
Danilo Leal
created
ee357e8
language_models: Send a header indicating that the client supports xAI models (#38931)
Click to expand commit body
This PR adds an `x-zed-client-supports-x-ai` header to the `GET /models`
request sent to Cloud to indicate that the client supports xAI models.
Release Notes:
- N/A