a89156c
      expr returns 1 when it calculates 0, who knew...
    
    
    
     Conrad Irwin created
a89156c
      expr returns 1 when it calculates 0, who knew...
    Conrad Irwin created
892e8cd
      Why are you failing?
    Conrad Irwin created
4ed3954
      re-run
    Conrad Irwin created
91c509e
      Clippppppy
    Conrad Irwin created
54ca5e7
      Oops
    Conrad Irwin created
38db091
      New approach to installing nextest?
    Conrad Irwin created
8a4d85e
      Try gh_workflow generation
    Conrad Irwin created
6a983f6
      Cache more aggressively
    Conrad Irwin created
6439ea7
      build again
    Conrad Irwin created
59d8458
      New cache?
    Conrad Irwin created
be7c182
      Try new namespace builder
    Conrad Irwin 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
278032c
      extension_host: Run extensions on the tokio threadpool (#40936)
    Fixes ZED-12D `wasmtime_wasi` might call into tokio futures (to sleep for example) which requires access to the tokio runtime. So we are required to run these extensions in the tokio thread pool Release Notes: - Fixed extensions causing zed to occasionally panic
Lukas Wirth created
5a05986
      debugger: Fix debug scenario picker not showing language subtitles (#40977)
    ### Before <img width="544" height="403" alt="Screenshot 2025-10-23 at 2 58 44 AM" src="https://github.com/user-attachments/assets/f5a69d27-e54a-4c1e-80f7-5cfff5b0bd47" /> ### After <img width="550" height="372" alt="Screenshot 2025-10-23 at 3 08 59 AM" src="https://github.com/user-attachments/assets/33dd9c5e-054e-4ed1-ba1e-16746a5a697a" /> I also changed the debug picker to use a material list to cover the edge case where there isn't a subtitle for an entry Release Notes: - debugger: Fix debug scenario picker not showing language subtitles
Anthony Eid created
05c2cc0
      settings_ui: Enable editing project settings for worktrees without setting file (#40971)
    I made three significant changes in this PR. 1. `SettingsWindow::fetch_files` now creates `SettingsUiFile::Project(..)` for any worktree that contains no project settings. 2. `update_settings_file` now creates an empty settings file if a worktree doesn't contain one. 3. `open_current_settings_file` also creates a settings file if the current one doesn't exist. Release Notes: - settings ui: Enable editing project settings for worktrees that don't have a project setting file.
Anthony Eid created
1edb1b3
      settings ui: Update file headers when adding or removing projects (#40968)
    This PR gets the `SettingsWindow` struct to subscribe to all `Entity<Project>` events and any future project entities that are created. When a project emits an event that signals a worktree has been added or removed, the settings window refetches all settings files it can find. This fixes a bug where the settings ui would notice some project settings that were created or opened after the `SettingsWindow` has been initialized. I also renamed `LOCAL` file mask to `PROJECT` to be inline with the `SettingsFile` naming convention. Release Notes: - settings ui: Fix bug where project setting files wouldn't be detected if they were created or opened after while an active settings window is open
Anthony Eid created
8f4646d
      Use ShellKind::try_quote whenever we need to quote shell args (#40912)
    Using `shlex` unconditionally is dangerous as it assumes the underlying shell is POSIX which is not the case for PowerShell, CMD, or Nushell. Therefore, whenever we want to quote the args we should utilise our helper `util::shell::ShellKind::try_quote` which takes into account which shell is being used to actually exec/spawn the invocation. Release Notes: - N/A --------- Co-authored-by: Lukas Wirth <me@lukaswirth.dev>
Jakub Konka and Lukas Wirth created
18daa9a
      Simplify environment loading code (#40531)
    This is a refactoring PR to simplify our environment loading code by: - Getting rid of `EnvironmentErrorMessage` in favor of using `anyhow::Result` everywhere, with a separate `mpsc` channel to communicate statuses that will be shown in the activity indicator - Inlining some functions that were only called once to reduce indirection - Removing the separate `direnv` module Release Notes: - N/A
Cole Miller created
bf63ff2
      Fix path for vscode-html-language-server when found on PATH (#40832)
    Don't prepend the worktree root when using an absolute path from `Worktree::which`, since that does the wrong thing when running in wasmtime given two Windows absolute paths. Also don't pass this path to `node`, since when npm installed it's a sh/cmd wrapper not a JS file. Part of #39153, also needs a fix on the vscode-langservers-extracted side (missing shebang for the vscode-html-language-server script). Release Notes: - Fixed Zed failing to run the HTML language server in some cases.
Cole Miller created