8ebe812
Format CONTRIBUTING.md (#38073)
Click to expand commit body
This PR formats `CONTRIBUTING.md` using Prettier. Release Notes: - N/A
Marshall Bowers created
8ebe812
Format CONTRIBUTING.md (#38073)
This PR formats `CONTRIBUTING.md` using Prettier. Release Notes: - N/A
Marshall Bowers created
7f1c7c1
Update CONTRIBUTING to reflect reality (#38016)
Release Notes: - N/A
Conrad Irwin created
503284d
Update oo7 to 0.5.0 (#38043)
Resolves Incorrect Secret error in Secret Service integration Closes #34024 Release Notes: - Fixed Secret Service integration sometimes producing `Incorrect secret` error
bemyak created
2aa564e
Remove ACP feature flags (#38055)
This removes the `gemini-and-native` and `claude-code` feature flags. Also, I removed a bunch of unused agent1 code that we do not need anymore. Initially I wanted to remove much more of the `agent` code, but noticed some things that we need to figure out first: - The inline assistant + context strip use `Thread`/`ContextStore` directly - We need some replacement for `ToolWorkingSet`, so we can access available tools (as well as context server tools) in other places, e.g. the agent configuration and the configure profile modal Release Notes: - N/A
Bennet Bo Fenner created
cba9ff5
Helix Select Mode (#37748)
Please credit @eliaperantoni, for the original PR (#34136). Merge after (#34060) to avoid conflicts. Closes https://github.com/zed-industries/zed/issues/33838 Closes https://github.com/zed-industries/zed/issues/33906 Release Notes: - Helix will no longer sometimes fall out into "normal" mode, will remain in "helix normal" (example: vv) - Added dedicated "helix select" mode that can be targeted by keybindings Known issues: - [ ] Helix motion, especially surround-add will not properly work in visual mode, as it won't call `helix_move_cursor`. It is possible however to respect self.mode in change_selection now. - [ ] Some operations, such as `Ctrl+A` (increment) or `>` (indent) will collapse selection also. I haven't found a way to avoid it. --------- Co-authored-by: fantacell <ghub@giggo.de> Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Romans Malinovskis , fantacell , and Conrad Irwin created
a577128
Update acp to 0.2.1 (#38068)
Release Notes: - N/A
Agus Zubiaga created
687c2c8
Fix experimental audio volume being significantly too low (#38062)
The rodio channelcount convertor halves the volume. This addresses that in most cases by using the default channelcount for the system microphone which is usually 2. A proper fix will follow later as part of the de-noising PR Release Notes: - N/A
David Kleingeld created
2a03b6b
terminal: Fix `test_basic_terminal` test (#38059)
`echo` isn't a program on windows, so we need to spawn a shell that executes it for the test Release Notes: - N/A
Lukas Wirth created
e68aa18
project: Fix task arguments being quoted incorrectly for nushell and powershell (#38056)
Release Notes: - Fixed task arguments being quoted incorrectly for nushell and powershell Co-authored-by: Piotr Osiewicz <piotr@zed.dev>
Lukas Wirth and Piotr Osiewicz created
592b013
language: Split LSP installation handling into a separate trait (#38046)
Part of reworking our installation handling to allow for multiple different versions to be handled Release Notes: - Fixed pre-release lsp fetching setting not having an affect until restarting Zed
Lukas Wirth created
1142408
language_models: Add provider options for OpenRouter models (#37979)
Supersedes: #34500 Also this will allow to fix this: #35386 without the UX changes but providers can now be control through settings as well within zed. Just rebased the latest main and docs added. Added @AurelienTollard as co-author as it was started by him everything else remains the same from original PR. Release Notes: - Added ability to control Provider Routing for OpenRouter models from settings. Co-authored-by: Aurelien Tollard <tollard.aurelien1999@gmail.com>
Umesh Yadav and Aurelien Tollard created
8201f3d
Use \x00 representation instead of literal null characters (#38033)
When working on the git stash picker PR (#35927) I notice that my test
was detected as a binary file on the git diff view and on GitHub. This
was due to the fact that I was using the literal char \0 (instead of a
proper representation like `\x00` or `\u{0000}`) character in my test
strings. This causes problems with git diff and GitHub's diff viewer,
and a reviewer might even assume that the file is corrupted, not
viewable or even malicious.
Looking at the rest of the codebase, only at `crates/git/src/commit.rs`
this character was used, so I replaced it with `\x00` which is a more
common representation of the null character in Rust strings.
It can also be seen that the PR that introduced this code, can't be
viewed properly on Github:
https://github.com/zed-industries/zed/pull/27636/files#diff-31114f0b22306b467482573446f71c638277510b442a10e60dd9a8667ccd93c3
Closes #ISSUE
Release Notes:
- Use `\x00` representation instead of literal null character in strings
to improve compatibility with git diff and GitHub's diff viewer.
Since the file is not viewable from the "Files changed" tab on Github,
this is the changed code:
https://github.com/zed-industries/zed/blob/dcd743aca494ec0217a2d7751150ca9e456012f4/crates/git/src/commit.rs#L66-L74
Alvaro Parker created
fcfc54c
Allow SplitAndMove on panes (#38034)
Updates #19350
Release Notes:
- Add `pane::SplitAndMove{Up,Down,Left,Right}` to allow creating a split
without cloning the current buffer.
Conrad Irwin created
ffb85d7
Update crash handling docs (#38026)
Also removed the symbolicate script, which we could replace with a `minidump-stackwalk` wrapper that downloaded sources/unstripped binaries from github releases if that's helpful for folks. Release Notes: - N/A
Julia Ryan created
405d7d7
Don't send contents of large `@mention`-ed files (#38032)
<img width="598" height="311" alt="Screenshot 2025-09-11 at 9 39 12 PM" src="https://github.com/user-attachments/assets/b526e648-37cf-4412-83a0-42037b9fc94d" /> This is for both ACP and the regular agent. Previously we would always include the whole file, which can easily blow the context window on huge files. Release Notes: - When `@mention`ing large files, the Agent Panel now send an outline of the file instead of the whole thing.
Richard Feldman created
bdf44e5
Prevent Discord URL preview in good first issue notifications (#38030)
Release Notes: - N/A
Joseph T. Lyons created
45ee132
Add handling of git's core.excludesFile (#33592)
Taking over from #28314. Part of https://github.com/zed-industries/zed/issues/4824 Co-authored-by: Paul Nameless <reacsdas@gmail.com> Release Notes: - Zed now respects git's `core.excludesFile` (~/.config/git/ignore) in addition to .gitignore. --------- Co-authored-by: Paul Nameless <reacsdas@gmail.com>
Cole Miller and Paul Nameless created
b60e705
Fix auto update not defaulting to true (#38022)
#37337 Made `AutoUpdateSetting` `FileContent = AutoUpdateSettingsContent` which caused a deserialization bug to occur because the field it was wrapping wasn't optional. Thus serde would deserialize the wrapped type `bool` to its default value `false` stopping the settings load function from reading the correct default value from `default.json` I also added a log message that states when the auto updater struct is checking for updates to make this easier to test. Release Notes: - fix auto update defaulting to false
Anthony Eid created
2bb50ac
Add action to send good first issues to discord (#38021)
Release Notes: - N/A
Joseph T. Lyons created
87f5e72
python: Add built-in support for Ty (#37580)
- **Rename PythonLSPAdapter to PyrightLspAdapter** - **ah damn** - **Ah damn x2** Release Notes: - Python: Added built-in support for [ty](https://docs.astral.sh/ty/) language server (disabled by default). --------- Co-authored-by: Lukas Wirth <lukas@zed.dev> Co-authored-by: Zsolt Dollenstein <zsol.zsol@gmail.com> Co-authored-by: Cole Miller <cole@zed.dev>
Piotr Osiewicz , Lukas Wirth , Zsolt Dollenstein , and Cole Miller created
11b7913
Refactor/optimize tree-sitter utilities for finding nodes enclosing ranges (#37943)
#35053 split out these utility functions. I found the names / doc comments a bit confusing so this improves that. Before that PR there was also a mild inefficiency - it would walk the cursor all the way down to a leaf and then back up to an ancestor. Release Notes: - N/A
Michael Sloan created
ff2eebf
settings ui: Add basic support for drop down menus (#38019)
Enums with six or less fields can still use toggle groups by adding a definition. I also renamed the `OpenSettingsEditor` action to `OpenSettingsUi` Release Notes: - N/A
Anthony Eid created
c4d75ea
Windows: Fix issues with paths in extensions (#37811)
### Background Zed extensions use WASI to access the file-system. They only have read-write access to one specific folder called their work dir. But extensions do need to be able to *refer* to other arbitrary files on the user's machine. For instance, extensions need to be able to look up existing binaries on the user's `PATH`, and request that Zed invoke them as language servers. Similarly, extensions can create paths to files in the user's project, and use them as arguments in commands that Zed should run. For these reasons, we pass *real* paths back and forth between the host and extensions; we don't try to abstract over the file-system with some virtualization scheme. On Windows, this results in a bit of mismatch, because `wasi-libc` uses *unix-like* path conventions (and thus, so does the Rust standard library when compiling to WASI). ### Change 1 - Fixing `current_dir` In order to keep the extension API minimal, extensions use the standard library function`env::current_dir()` to query the location of their "work" directory. Previously, when initializing extensions, we used the `env::set_current_dir` function to set their work directory, but on Windows, where absolute paths typically begin with a drive letter, like `C:`, the [`wasi-libc` implementation of `chdir`](https://github.com/WebAssembly/wasi-libc/blob/d1793637d8afcdc730408e7b6a19a050c3336ce7/libc-bottom-half/sources/chdir.c#L21) was prepending an extra forward slash to the path, which caused `current_dir()` to return an invalid path. See https://github.com/bytecodealliance/wasmtime/issues/10415 In this PR, I've switched our extension initialization function to *bypass* wasi-libc's `chdir` function, and instead write directly to wasi-libc's private, internal state. This is a bit of a hack, but it causes the `current_dir()` function to do what we want on Windows without any changes to extensions' source code. ### Change 2 - Working around WASI's relative path handling Once `current_dir` was fixed (giving us correct absolute paths on Windows), @kubkon and I discovered that without the spurious leading `/` character, windows absolute paths were no longer accepted by Rust's `std::fs` APIs, because they were now recognized as relative paths, and were being appended to the working directory. We first tried to override the `__wasilibc_find_abspath` function in `wasi-libc` to make it recognize windows absolute paths as being absolute, but that functionality is difficult to override. Eventually @kubkon realized that we could prevent WASI-libc's CWD handling from being linked into the WASM file by overriding the `chdir` function. wasi-libc is designed so that if you don't use their `chdir` function, then all paths will be interpreted as relative to `/`. This makes absolute paths behave correctly. Then, in order to make *relative* paths work again, we simply add a preopen for `.`. Relative paths will match that. ### Next Steps This is a change to `zed-extension-api`, so we do need to update every Zed extension to use the new version, in order for them to work on windows. Release Notes: - N/A --------- Co-authored-by: Jakub Konka <kubkon@jakubkonka.com>
Max Brunsfeld and Jakub Konka created
d5d30b5
python: Add built-in support for Ruff (#37804)
Release Notes: - python: The Ruff native language server is now available without installing an extension. --------- Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
Cole Miller and Piotr Osiewicz created
7655e22
Fix panics from unicode slicing in license detection (#38015)
Closes #37954 Release Notes: - N/A
Michael Sloan created
7a83a7f
Fix congratsbot (#38013)
We need a PAT to have permission to check team information. Also, the COAUTHOR_TEMPLATES didn't feel quite right. Skipping this for now. Release Notes: - N/A
Joseph T. Lyons created
3cb3f01
languages: Pass fs into the init function (#38007)
Release Notes: - N/A --------- Co-authored-by: Cole Miller <cole@zed.dev>
Piotr Osiewicz and Cole Miller created
46aa05e
Fix regex syntax in matching os-release (#38010)
From https://github.com/zed-industries/zed/pull/37712#issuecomment-3281970712, thank you @zywo Release Notes: - N/A
Martin Pool created
a33af4e
Remove legacy panic handling (#37947)
@maxdeviant We can eventually turn down the panic telemetry endpoint, but should probably leave it up while there's still a bunch of stable users hitting it. @maxbrunsfeld We're optimistic that this change also fixed the macos crashed-thread misreporting. We think it was because the `CrashContext::exception` was getting set to `None` only on macos, while on linux it was getting a real exception value from the sigtrap. Now we've unified and it uses `SIGABRT` on both platforms (I need to double check that this works as expected for windows). We unconditionally set `RUST_BACKTRACE=1` for the current process so that we see backtraces when running in a terminal by default. This should be fine but I just wanted to note it since it's a bit abnormal. Release Notes: - N/A --------- Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Julia Ryan and Conrad Irwin created
116c654
project_panel: Make rest of the project panel drag and drop target (#38008)
Closes #25854 You can now drag-and-drop on the remaining space in the project panel to drop entries/external paths in the last worktree. https://github.com/user-attachments/assets/a7e14518-6065-4b0f-ba2c-823c70f154f4 Release Notes: - Added support for drag-and-drop files and external paths into the empty space of the project panel, placing them in the last folder you have added to the project.
Smit Barmase created
da8c7a1
Polish congratsbot (#38005)
Release Notes: - N/A
Joseph T. Lyons created
2b04186
Only run congratsbot for non-staff (#38000)
Release Notes: - N/A
Joseph T. Lyons created
4622936
editor: Re-use multibuffers when opening the same locations again (#37994)
A very primitive attempt, we just key the editor with the locations and re-use the editor if we open a new buffer with the same initial locations and title. Release Notes: - Added reusing of reference search buffers when applicable
Lukas Wirth created
e5c0373
Make rodio audio input compile under windows (#37999)
Follow up on https://github.com/zed-industries/zed/pull/37786 adds conditional cmp removing use of libwebrtc on windows/freebsd They cant compile livekit yet. This removes microphone and echo cancellation on those platforms however they can not join calls due to the same cause so it does not matter. Documentation and error handing improvements Release Notes: - N/A --------- Co-authored-by: Richard <richard@zed.dev>
David Kleingeld and Richard created
a066794
Document two task rerun modes better (#37996)
Part of https://github.com/zed-industries/zed/issues/37720 Release Notes: - N/A
Kirill Bulatov created
f6b6d4a
Add congratsbot (#37998)
Release Notes: - N/A
Joseph T. Lyons created
238dab4
Adjust release notes Discord webhook name (#37997)
Release Notes: - N/A
Joseph T. Lyons created
d1c6c9d
Remove old LSP definitions (#37995)
Last time MultiLspQuery was used in Zed was 0.201.x and Nightly is of 0.205.x version, hence it's time to clean up the old code. Release Notes: - N/A
Kirill Bulatov created
d7f3d08
editor: Ensure placeholder text wraps properly after font size change (#37992)
Follow-up of https://github.com/zed-industries/zed/pull/37919 This fixes an issue where the placeholder text in editors would not wrap properly in cases where the font size was changed. Before: https://github.com/user-attachments/assets/479c919f-5815-4164-b46d-75f31b5dc56f After: https://github.com/user-attachments/assets/9f63ab9f-eac2-4f3e-864c-2b96b58f2d71 Release Notes: - N/A
Finn Evers created
4db19a3
search: Fix buffer search history navigation (#37924)
Closes #36109 Adds an additional option to `search` and `update_matches` to specify whether the update should affect the search history. Release Notes: - Fix navigating buffer search history
tidely created
c4e8fe1
theme: Ensure opaque for overlay fallback (#37987)
Closes #37965 Release Notes: - N/A
Smit Barmase created
4002602
project: Fix terminal activation scripts failing on Windows for new shells (#37986)
Tasks are still disabled as there seem to be more issues with it Release Notes: - N/A
Lukas Wirth created
6ae83b4
Support indent regex with inline comments in Python (#37903)
Closes #36491 This issue is caused by the Python language configuration treating compound statements (such as for loops and if statements) that end with an inline comment as not requiring an increased indent. Release Notes: - python: Correctly indent lines starting the blocks (for, finally, if, else, try) that have trailing comments.
ImFeH2 created
eec6bfe
extension_host: Fix operation status whilst installing dev extension (#37985)
This fixes a minor issue where we would show "Removing extension ..." in the status bar when we would actually be installing it. Release Notes: - Fixed an issue where installing a dev extension would show the installation status as "removing" in the activity indicator.
Finn Evers created
9875969
editor: Allow no context for the `excerpt_context_lines` setting (#37982)
Closes #37980 There seems to be no reason to hard limit this to 1, and we even have existing UX for this case already: <img width="1530" height="748" alt="Bildschirmfoto 2025-09-11 um 11 22 57" src="https://github.com/user-attachments/assets/d6498318-c905-4d3c-90ab-60e4f2bb6c48" /> (Notice the different arrows in the gutter area for single lines) Hence, allowing the value to honor the request from the issue Release Notes: - Allowed `0` as a value for the `excerpt_context_lines` setting
Finn Evers created
5950228
Document Tailwind CSS language server configuration (#37970)
Added configuration instructions for Tailwind CSS language server. Release Notes: - N/A
David Matter created
f764077
Change keymap precedence to favor user (#37557)
Closes #35623 Previously if a base keymap had a `null` set to an action, leading to a `NoAction` being assigned to the keymap, if a user wanted to take advantage of that keymap (in this particular case, `cmd-2`), the keymap binding check would favor the `NoAction` over the user, since technically the context depth matched better. Instead, we should always prefer the user's settings over whatever base or default. Release Notes: - Fixed keymap precedence by favoring user settings over base keymap / configs.
Mitch (a.k.a Voz) created
9708c8d
feature_flags: Move feature flag definitions to their own module (#37956)
This PR moves the feature flag definitions to their own module so that they aren't intermingled with the feature flag infrastructure itself. Release Notes: - N/A
Marshall Bowers created
f205732
feature_flags: Remove unused `llm-closed-beta` feature flag (#37955)
This PR removes the `llm-closed-beta` feature flag, as it is no longer used. Release Notes: - N/A
Marshall Bowers created
aee21ca
Allow for commit amends with no file changes (#37256)
This will users to change the wording of the most recent commit, something they might want to do if they realize they made a small typo of some kind or if the formatting of their commit message is wrong, but don't have any other changes they need to make. Release Notes: - Commit messages can now be amended in the UI without any other changes needing to be made. --------- Co-authored-by: Cole Miller <cole@zed.dev>
Ryan Hawkins and Cole Miller created