e4c90be
Add more detailed error for remove_file (#41147)
Click to expand commit body
This should help us debug #40958. Release Notes: - N/A
Julia Ryan created
e4c90be
Add more detailed error for remove_file (#41147)
This should help us debug #40958. Release Notes: - N/A
Julia Ryan created
7433d85
Notify on opening WSL paths outside of wsl (#40195)
Closes #27340 Release Notes: - N/A --------- Co-authored-by: John Tur <john-tur@outlook.com>
Julia Ryan and John Tur created
1dffdea
Fix duplicate hints in multi buffer excerpts during editing and scrolling (#41143)
Follow-up of https://github.com/zed-industries/zed/pull/40183 Closes https://github.com/zed-industries/zed/issues/24798 Release Notes: - N/A
Kirill Bulatov created
1f40a3c
Document global debug.json usage and fix REPL error copy (#40836)
ο»Ώ## Overview - document how to keep a per-user debug.json so global launch tasks show up everywhere (Fixes #39849) - sanitize REPL terminal text before copying so error blocks can be copied and opened in buffers (Fixes #40207) ## Design Decisions - reused the existing user debug file (paths::debug_scenarios_file) and pointed docs at the zed::OpenDebugTasks command to stay aligned with the settings UX - extract a sanitize helper inside TerminalOutput::full_text to strip \r/null padding while keeping indentation intact, then join the cleaned lines so clipboard and buffers get readable text ## Testing - Not run (cargo is unavailable in this environment) Fixes #39849. Fixes #40207.
Mohin Hasin Rabbi created
92c3127
Add support for GitHub Copilot /responses endpoint (#40762)
Add support for GithubCopilot /responses endpoint. This gives the copilot chat provider the ability to use the new GPT-5 codex model and any other model that lacks support for /chat/copmletions endpoint. Closes #38858 Release Notes: - Add support for GithubCopilot /responses endpoint. # Added 1. copilot_response.rs that has the /response endpoint types 2. uses response endpoint if model does not support /chat/completions. 3. new into_copilot_response() to map LanguageCompletionEvents to Request. 4. new map_stream() to map response stream event to LanguageCompletionEvents and tests. 5. Fixed a bug where trying to parse response for non streaming for /chat/completion was failing # Notes There is a pr open - https://github.com/zed-industries/zed/pull/39989 for adding /response support for OpenAi and OpenAi compatible API. Altough they share some similarities (copilot api seems to mirror openAi directly) ive simplified some stuff and tried to keep it the same with the vscode-chat implementation where possible. There might be a case for code reuse but i think keeping them separate for now should be ok. # Tool Calls <img width="716" height="670" alt="Screenshot from 2025-10-15 17-12-30" src="https://github.com/user-attachments/assets/14e88a52-ba8b-4209-8f78-73d15034b1e0" /> # Image <img width="923" height="494" alt="Screenshot from 2025-10-21 02-02-26" src="https://github.com/user-attachments/assets/b96ce97c-331e-45cb-b5b1-7aa10ed387b4" />
Somtoo Chukwurah created
a7c5b8d
Add `ResetAllZoom` and `ResetAgentZoom ` actions (#41124)
Very often, when I'm testing or playing around with the zoom feature, including the agent panel, I find myself missing one quick action that would bring everything back to normal. That's what `ResetAllZoom` does. If you have customized your zoom level in all areas of Zed, that action returns everything to its default state. Similarly, if you're playing around with zoom just in the agent panel, `ResetAgentZoom` does the same in that context. Release Notes: - Added the `ResetAllZoom` and `ResetAgentZoom ` actions, allowing to return the zoom level across the whole app and/or just in the agent panel to its default/original value.
Danilo Leal created
d1b28e6
REVIEWERS.conl (#40533)
Release Notes: - N/A --------- Co-authored-by: Marshall Bowers <git@maxdeviant.com> Co-authored-by: David Kleingeld <davidsk@zed.dev> Co-authored-by: Jakub Konka <kubkon@jakubkonka.com> Co-authored-by: Ben Kunkle <ben@zed.dev> Co-authored-by: Mikayla Maki <mikayla@zed.dev> Co-authored-by: Julia Ryan <juliaryan3.14@gmail.com> Co-authored-by: Danilo Leal <67129314+danilo-leal@users.noreply.github.com> Co-authored-by: Lukas Wirth <lukas@zed.dev> Co-authored-by: dino <dinojoaocosta@gmail.com> Co-authored-by: John Tur <john-tur@outlook.com> Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com> Co-authored-by: Smit Barmase <heysmitbarmase@gmail.com> Co-authored-by: Anthony <anthony@zed.dev> Co-authored-by: Kirill Bulatov <kirill@zed.dev> Co-authored-by: Kate <work@localcc.cc> Co-authored-by: Cole Miller <cole@zed.dev> Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>
Conrad Irwin , Marshall Bowers , David Kleingeld , Jakub Konka , Ben Kunkle , Mikayla Maki , Julia Ryan , Danilo Leal , Lukas Wirth , dino , John Tur , Piotr Osiewicz , Smit Barmase , Anthony , Kirill Bulatov , Kate , Cole Miller , and Ben Brandt created
ecf179d
agent: Scale the agent UI and buffer font proportionally (#41121)
Closes https://github.com/zed-industries/zed/issues/41094 This PR adds the `agent_buffer_font_size` settings to be scaled in the same proportion as the agent panel's UI font size, which was the only setting that was being accounted for. This is something that I forgot to do when we broke down the agent panel's font size controls into these two values. Release Notes: - agent: Fixed an issue where the agent panel's buffer and UI font size wouldn't scale proportionally.
Danilo Leal created
e54c9da
Fix include ignored migration rerunning (#41114)
Closes #ISSUE Release Notes: - Fixed an issue where having a correct `file_finder.include_ignored` setting would result in failed to migrate errors
Ben Kunkle created
bcbc6a3
Use ShellKind::try_quote whenever we need to quote shell args (#41104)
Re-reverts https://github.com/zed-industries/zed/commit/8f4646d6c357409cfc286104088b4d21f2bea851 with fixes Release Notes: - N/A
Jakub Konka created
f213f4b
Fix duplicate process entries in WSL debug attach list (#40591)
Closes #40589 Replaced `System::new_all()` with `System::new_with_specifics` to fetch only essential process information and exclude non-main threads from the process list after fix: <img width="641" height="474" alt="image" src="https://github.com/user-attachments/assets/32335552-2f7a-4317-8c01-f37b2eadfdc1" /> Release Notes: - Fix duplicate process entries in WSL debug attach list
feeiyu created
0ee6ca1
project: Fix inability to open file after save as (#41012)
Update `project::buffer_store::BufferStore.save_buffer_as` in order to correctly update the `path_to_buffer_id` hash map, ensuring that the currently open file's path is dissociated from the buffer's id, to prevent the new buffer from being open when trying to open the original file. Closes #29783 Release Notes: - Fixed issue where using `workspace: save as` would prevent users from opening the original file from which the new file was created --------- Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
Dino and Piotr Osiewicz created
762082b
ui_input: Donβt focus previous on decrement in `NumberField` (#41095)
This PR removes the behavior that the number_field changes focus to the previous element when using the decrement button. I mainly noticed this while decreasing the tab-size of a language, since it there closes the page... Please note that I am unsure what if any purpose this code has. I was unable to find a use case and since it is not present in the `increment_handler` I guess it should never have been here --- Release Notes: * Fixed wrongly focus previous element on number_field decrement
ToBinio created
fcd690d
Enable `source.organizeImports.ruff` by default for Python (#41103)
Release Notes:
- Enabled automatic import organization, via
[ruff](https://github.com/astral-sh/ruff), when saving Python files. To
disable this, use:
```json
"Python": {
"code_actions_on_format": { "source.organizeImports.ruff": false }
}
```
Joseph T. Lyons created
8de4b36
ACP Extensions (#40663)
Adds the ability to install ACP agents via extensions Release Notes: - N/A *or* Added/Fixed/Improved ...
Richard Feldman created
7644e79
agent: Fix edit_agent evals (#40921)
Release Notes: - N/A
Bennet Fenner created
4fb9113
ui: Use `focus_visible` method for some components (#41077)
Using the cool, [recently added](https://github.com/zed-industries/zed/pull/40940) `focus-visible` support in some components. This will be particularly nice in the settings UI, as it will not display the focus styles if you're navigating it with a pointer device as opposed to the keyboard. Release Notes: - N/A
Danilo Leal created
f45a9b3
git: Branch diff (#40188)
Release Notes: - git: Adds the ability to view the diff of the current branch since main --------- Co-authored-by: Cole Miller <cole@zed.dev>
Conrad Irwin and Cole Miller created
f11a3dc
settings_ui: Add small UI adjustments (#41065)
Super tiny changes that impact mostly Windows/Linux. Release Notes: - N/A
Danilo Leal created
5aa8288
rules library: Improve empty state & fix quirks on Windows (#41064)
Just got a new Windows machine and realized that the rules library empty state was completly busted. Ended up also adding some little UI tweaks to make it better for both Windows and Linux. Release Notes: - N/A
Danilo Leal created
fe730e9
Fix typo in Font Features description, s/b "OpenType" (#41058)
Fix typo (regression?), "Opentype" should be "OpenType" Closes #ISSUE Release Notes: - N/A
warrenjokinen created
59a98ba
Add attribution for code sourced from Windows Terminal (#41061)
Release Notes: - N/A
John Tur created
1cf765e
Revert: Spawn terminal process on background executor (#41060)
Reverts https://github.com/zed-industries/zed/pull/40774 and https://github.com/zed-industries/zed/pull/40824 since they introduce a bug where Nushell processes are leaked and Ctrl+C doesn't kill the current process. Release Notes: - Fix a bug where nushell processes wouldn't get killed after closing a terminal tab
Agus Zubiaga created
79eff1f
Make cursor move to duplicated line when duplicating line up (#41004)
 Closes #40919 Follow-up of #39610 Release Notes: - When duplicating line up, fixed cursor to move to the duplicated line
Tom Planche created
af0d2ad
docs: Fix small grammatical typo in JSX section (#41055)
Happened to notice this typo while going through the docs. Release Notes: - N/A --- π
Kunall Banerjee created
f0ac54e
settings_ui: Fix memory leak (#41036)
Closes #40351 The leak mainly showed up in the appearance page because it had a lot of dropdown menus. The problem occurred because the drop-down menus were creating a new entity on each frame instead of using the `window.use_state...` API. Release Notes: - settings ui: Fixed memory leak in UI --------- Co-authored-by: Mikayla Maki <mikayla.c.maki@gmail.com>
Anthony Eid and Mikayla Maki created
68707ff
crashes: Avoid crash handler on detached threads (#40883)
Set a TLS bit to skip invoking the crash handler when a detached thread panics. cc @P1n3appl3 - is this at odds with what we need the crash handler to do? May close #39289, cannot repro without a nightly build Release Notes: - Fixed extension panics crashing Zed on Linux Co-authored-by: dino <dinojoaocosta@gmail.com>
Nia and dino created
1ce9a85
git: Only save dirty files during staging (#41047)
Closes #40581 Release Notes: - git: No longer save clean files when staging (to avoid triggering unnecessary rebuilds in external file watchers like vite)
Conrad Irwin created
1966d4c
Add an issue template for Git bugs (#41048)
Release Notes: - N/A
Joseph T. Lyons created
b6a1867
settings_ui: Fix settings window doesn't inherit Zed icon (#41031)
Closes #40946 Release Notes: - N/A
Smit Barmase created
c0ff8ef
remote: Do not compress remote by default when building from source (#40994)
Release Notes: - N/A
Jakub Konka created
66ec0fc
Revert zero-width non-joiner insertion in text shaping (#41043)
Reverts parts of https://github.com/zed-industries/zed/pull/39928 Closes https://github.com/zed-industries/zed/issues/40987 Release Notes: - Fixed some fonts rendering with absurd spacing on MacOS
Lukas Wirth created
435eab6
Fix ESLint linebreak-style errors by preserving line endings in LSP communication (#38773)
Closes https://github.com/zed-industries/zed/issues/38453 Current `Buffer` API only allows getting buffer text with `\n` line breaks β even if the `\r\n` was used in the original file's text. This it not correct in certain cases like LSP formatting, where language servers need to have original document context for e.g. formatting purposes. Added new `Buffer` API, replaced all buffer LSP registration places with the new one and added more tests. Release Notes: - Fixed ESLint linebreak-style errors by preserving line endings in LSP communication --------- Co-authored-by: Claude <noreply@anthropic.com> Co-authored-by: Kirill Bulatov <kirill@zed.dev>
Devdatta Talele , Claude , and Kirill Bulatov created
55bc679
docs: Ensure macOS and Linux keybindings are escaped in HTML (#39802)
Closes #39654 Release Notes: - Fixed the formatting of macOS and Linux keybindings in the Zed docs to escape the backslash character when templating.
Sean Hagstrom created
6aaf19f
multi_buffer: Split multi_buffer into more modules (#41033)
There are a of separate APIs in this, partially interleaved making it difficult to grasp. Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created
d83ed4e
docs: Update docs for `theme_overrides` setting (#41038)
This PR updates the docs to reference the `theme_overrides` setting instead of the old `experimental.theme_overrides` setting. Release Notes: - N/A
Marshall Bowers created
11eba64
Rename `assistant_context` crate to `assistant_text_thread` (#41024)
Previously we had `Context` and `ContextStore` in both `agent_ui` (used to store context for the inline assistant) and `assistant_context` (used for text threads) which is confusing. This PR makes it so that the `assistant_context` concepts are now called `TextThread*`, the crate was renamed to `assistant_text_thread` Release Notes: - N/A
Bennet Fenner created
63fe1ea
Fix overly noisy direnv error notification (#41029)
Updates #40531, restoring the previous behavior which didn't surface an error when no direnv binary was found. Release Notes: - N/A
Cole Miller created
8b6f3ec
Fix the project diff sometimes missing updates (#40662)
This PR does two related things: - First, it gets rid of the undifferentiated `RepositoryEvent::Updated` in favor of three new events that have clearer definitions: `BranchChanged`, `StashEntriesChanged`, and `StatusesChanged`. An implication of this is that we no longer emit a `RepositoryEvent` unless some git state changed; previously we would emit `RepositoryUpdated` after doing a git status scan even if no statuses changed. - Second, it changes the subscription strategy of the project diff to make it update more robustly. Previously, the project diff only subscribed to the `GitStore`, so it relied on getting a `GitStoreEvent` when some buffer's diff hunks changed, even if the git status of the buffer's file didn't change (e.g. a second hunk in a file that was already modified). After this PR, it also subscribes to the individual `BufferDiff` entities for buffers that have a git status, so the `GitStore` is freed from that responsibility. This also fixes some real cases where the previous strategy was not effective in keeping the project diff up to date (captured in a test). Release Notes: - Fixed some cases where the project diff would fail to update in response to git events.
Cole Miller created
a66098b
gpui: Revert `reuse_prepaint` change of #40767 (#41025)
https://github.com/zed-industries/zed/pull/40767/files/c95ae84d919462393455d858836f479dd24bd620#r2455674159 Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created
b519ab2
rope: Improve chunk slicing panic messages (#41023)
We still see a bunch of panics here but the default slicing panic doesn't tell which side of the range is bad Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created
023ac1b
Revert "Use ShellKind::try_quote whenever we need to quote shell args" (#41022)
Reverts zed-industries/zed#40912 Closes https://github.com/zed-industries/zed/issues/41010
Jakub Konka created
738e248
gpui: Small perf optimizations (#40767)
Some random findings based on profiling Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created
4f0a448
Fix anchor-related panic when gathering applicable inlay chunks (#41002)
Before, inlay chunks were retrieved from the cache based on actualized anchor ranges, but using an old buffer snapshot. Now, update all chunks and snapshot to the actual before returning the applicable ones. Follow-up of https://github.com/zed-industries/zed/pull/40183 Release Notes: - N/A
Kirill Bulatov created
9a6397f
Add keybindings for menu navigation in vim.json (#40877)
- Added "ctrl-p" for selecting the previous menu item - Added "ctrl-n" for selecting the next menu item Closes #40619 Release Notes: - Ctrl+P now moves to the previous result; Ctrl+N moves to the next.
Viraj Bhartiya created
93ef194
vim: Fix cursor movement after entering Helix normal mode (#40528)
Closes #40009 Release Notes: - `vim::NormalBefore` now enters `helix_normal` correctly.
paneutral created
8c1b4cb
Re-order Helix keymaps and add alt-o/i/p/n (#40527)
Release Notes:
- helix: Re-ordered `helix_normal || helix_select` keybindings to follow the
same order as the keymap on the helix-editor
[documentation](https://docs.helix-editor.com/keymap.html).
- helix: Added `alt-o` & `alt-i` to Select larger and smaller syntax node
respectively
- helix: Added `alt-p` & `alt-n` to Select Next Syntax Node and Previous Syntax
Node respectively
---
The new main helix normal & select context looks like follows
```jsonc
{
"context": "(vim_mode == helix_normal || vim_mode == helix_select) && !menu",
"bindings": {
// Movement
"h": "vim::WrappingLeft",
"left": "vim::WrappingLeft",
"l": "vim::WrappingRight",
"right": "vim::WrappingRight",
"t": ["vim::PushFindForward", { "before": true, "multiline": true }],
"f": ["vim::PushFindForward", { "before": false, "multiline": true }],
"shift-t": ["vim::PushFindBackward", { "after": true, "multiline": true }],
"shift-f": ["vim::PushFindBackward", { "after": false, "multiline": true }],
"alt-.": "vim::RepeatFind",
// Changes
"shift-r": "editor::Paste",
"`": "vim::ConvertToLowerCase",
"alt-`": "vim::ConvertToUpperCase",
"insert": "vim::InsertBefore",
"shift-u": "editor::Redo",
"ctrl-r": "vim::Redo",
"y": "vim::HelixYank",
"p": "vim::HelixPaste",
"shift-p": ["vim::HelixPaste", { "before": true }],
">": "vim::Indent",
"<": "vim::Outdent",
"=": "vim::AutoIndent",
"d": "vim::HelixDelete",
"c": "vim::HelixSubstitute",
"alt-c": "vim::HelixSubstituteNoYank",
// Selection manipulation
"s": "vim::HelixSelectRegex",
"alt-s": ["editor::SplitSelectionIntoLines", { "keep_selections": true }],
";": "vim::HelixCollapseSelection",
"alt-;": "vim::OtherEnd",
",": "vim::HelixKeepNewestSelection",
"shift-c": "vim::HelixDuplicateBelow",
"alt-shift-c": "vim::HelixDuplicateAbove",
"%": "editor::SelectAll",
"x": "vim::HelixSelectLine",
"shift-x": "editor::SelectLine",
"ctrl-c": "editor::ToggleComments",
"alt-o": "editor::SelectLargerSyntaxNode",
"alt-i": "editor::SelectSmallerSyntaxNode",
"alt-p": "editor::SelectPreviousSyntaxNode",
"alt-n": "editor::SelectNextSyntaxNode",
// Goto mode
"g e": "vim::EndOfDocument",
"g h": "vim::StartOfLine",
"g l": "vim::EndOfLine",
"g s": "vim::FirstNonWhitespace", // "g s" default behavior is "space s"
"g t": "vim::WindowTop",
"g c": "vim::WindowMiddle",
"g b": "vim::WindowBottom",
"g r": "editor::FindAllReferences", // zed specific
"g n": "pane::ActivateNextItem",
"shift-l": "pane::ActivateNextItem",
"g p": "pane::ActivatePreviousItem",
"shift-h": "pane::ActivatePreviousItem",
"g .": "vim::HelixGotoLastModification", // go to last modification
// Window mode
"space w h": "workspace::ActivatePaneLeft",
"space w l": "workspace::ActivatePaneRight",
"space w k": "workspace::ActivatePaneUp",
"space w j": "workspace::ActivatePaneDown",
"space w q": "pane::CloseActiveItem",
"space w s": "pane::SplitRight",
"space w r": "pane::SplitRight",
"space w v": "pane::SplitDown",
"space w d": "pane::SplitDown",
// Space mode
"space f": "file_finder::Toggle",
"space k": "editor::Hover",
"space s": "outline::Toggle",
"space shift-s": "project_symbols::Toggle",
"space d": "editor::GoToDiagnostic",
"space r": "editor::Rename",
"space a": "editor::ToggleCodeActions",
"space h": "editor::SelectAllMatches",
"space c": "editor::ToggleComments",
"space p": "editor::Paste",
"space y": "editor::Copy",
// Other
":": "command_palette::Toggle",
"m": "vim::PushHelixMatch",
"]": ["vim::PushHelixNext", { "around": true }],
"[": ["vim::PushHelixPrevious", { "around": true }],
"g q": "vim::PushRewrap",
"g w": "vim::PushRewrap",
// "tab": "pane::ActivateNextItem",
// "shift-tab": "pane::ActivatePrevItem",
}
}
```
Abderrahmane TAHRI JOUTI created
3bb4c94
Revert "Round the scroll offset in editor to fix jumping text (#40401)" (#40982)
This reverts commit 3da4cddce205d71dcad760c6af66a8985b16ffbe. The scrolling is ~30% less for the same gesture, and I'm not using anything lodpi: https://github.com/user-attachments/assets/b19521fc-9e29-4bfd-9660-dc1e4c8ae846 Release Notes: - N/A
Kirill Bulatov created
16f7bd0
editor: Translate utf16 to utf8 offsets in `copy_highlight_json` (#40981)
Fixes ZED-2FM Release Notes: - Fixed panic in copy highlight json action
Lukas Wirth created
c529a06
gpui: Arc `GlobalElementId` (#40979)
This shrinks it from roughly a ~kilobyte to 8 byte, removing a bunch of memmoves emitted by the compiler. Also `Arc`'s it instead of boxing as we do clone it a couple times here and there, making that also a fair bit cheaper Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created