3a2c92a
      Add cursor marker
    
    
    
     Agus Zubiaga created
3a2c92a
      Add cursor marker
    Agus Zubiaga created
94cdcf9
      Checkpoint: Adding navigation
    Agus Zubiaga created
fd10017
      docs: Add model prices for Claude Haiku 4.5 (#40820)
    This PR adds the model prices for Claude Haiku 4.5 to the docs. Release Notes: - N/A
Marshall Bowers created
4b42903
      settings_ui: Correct stepper increment and enforce max value for Centered Layout Padding (#40751)
    Closes #40748 This PR improves the Centered Layout Padding in settings ui by limiting the numeric stepper to be within valid values and adding a custom schema generated to improve the JSON LSP completions and warnings when editing the setting field manually. Release Notes: - settings ui: limit stepper increment for centered padding between 0 and 0.4 and increment by 0.05 now --------- Co-authored by: Anthony Eid <anthony@zed.dev>
Delvin created
a398f80
      Add an action to reveal log file in system file manager (#40815)
    We document the location of the log file in many places, we should just make it easy to open directly within your file browser. The one thing here is naming. We use dynamic naming for "reveal" actions in the project panel, to reflect the right file manager name per OS, but for a command palette action, I dont think we want to have dynamic code for the action name, just going with finder at the moment. Release Notes: - Added a `zed: reveal log in file manager` action to the command palette.
Joseph T. Lyons created
a71cc6a
      settings_ui: Add some design tweaks (#40818)
    - Improves the UI for subfields of dynamic items - Makes description writing more consistent (add period at the end of every sentence, fix capitalization of proper names, ensure description is always in sentence case) - Other small details, mostly around spacing/padding Release Notes: - N/A
Danilo Leal created
2764c51
      extensions_ui: Increase affordance of download button in cards (#40795)
    Hopefully, this will make the install/configure/uninstall buttons in the right stand out a bit more and make their presence a bit more obvious for newcomers. | Before | After | |--------|--------| | <img width="1938" height="1276" alt="Screenshot 2025-10-21 at 10โฏ 58@2x" src="https://github.com/user-attachments/assets/b76115e1-0be2-4d5b-a677-525663d86c7c" /> | <img width="1938" height="1276" alt="Screenshot 2025-10-21 at 10โฏ 53@2x" src="https://github.com/user-attachments/assets/9e563b71-b11a-4b69-b687-c0b469ca4eec" /> | Release Notes: - Increased affordance of the download button in each extension card in the extensions page.
Danilo Leal created
641ae90
      settings_ui: Fix IEEE 754 floating point error when serializing value to JSON (#40677)
    Closes #40556 Release Notes: - settings-ui: Fixed an issue where modifying floating point number fields could result in the values written to the settings file containing IEEE 754 floating point error > [!Note] > Seems like there's another pull request fixing the centered layout in #40661 by normalizing the whole `settings.json` file when updating it. Not sure which is the better way to handle this issue. ## Description This pull request solves the IEEE 754 floating point error when serializing values from settings-ui into `settings.json` by creating a two `serde_helper` to convert the problematic f32 into a formatted two decimal placed f32. Fields currently exists the IEEE 754 error: - Appearance โ Unnecessary Code Fade - Editor โ Drop Size Target - Window & Layout โ Centered Layout Left/Right Padding - Window & Layout โ Inactive Opacity ## How to verify ### Unnecessary Code Fade As Is | To Be --- | --- <video src="https://github.com/user-attachments/assets/1bf4bad2-63c5-4b03-ac29-8b6b59569e16" /> | <video src="https://github.com/user-attachments/assets/dadcd4a1-651b-43dd-913f-edae073ceb68" /> ### Drop Size Target As Is | To Be --- | --- <video src="https://github.com/user-attachments/assets/9d5b4173-fcac-44d0-b7fc-772a2e426ef1" /> | <video src="https://github.com/user-attachments/assets/4b5adeaf-e678-494d-bd1b-6c1d55824c43" /> ### Centered Layout Left/Right Padding As Is | To Be --- | --- <video src="https://github.com/user-attachments/assets/33b4e1ff-7ab2-44f7-9e9b-8abad1565d9a" /> | <video src="https://github.com/user-attachments/assets/63d8de9e-28d1-4bd7-a6c9-02452e105486" /> ### Inactive Opacity As Is | To Be --- | --- <video src="https://github.com/user-attachments/assets/a7fe2e72-deb6-41dc-82f3-e2649503b8a4" /> | <video src="https://github.com/user-attachments/assets/993c314f-b6f6-4dcd-8f74-fa357ab063e9" /> --------- Co-authored-by: Ben Kunkle <ben@zed.dev>
Dong and Ben Kunkle created
fa550de
      Fix Git UI truncation for long branch names (#40598)
    Closes #40524 Release Notes: - Fixed branch names not truncating properly in git branch picker. Please review if you have time. PS. Iโm not fully sure if this completely fixes the issue, but Iโve tested it on my local build and it seems to work fine. Before Fix: <img width="773" height="799" alt="502782621-91ac0578-9f55-4fb3-b0da-49a49e862a33" src="https://github.com/user-attachments/assets/a9597949-c46a-47d0-a9ef-eddd637a9dc7" /> After Fix: <img width="545" height="766" alt="FixedRound2" src="https://github.com/user-attachments/assets/0d9770dc-a9da-46cd-a69a-4c8de2ca1abd" />
Ruangyot Nanchiang created
ce5d597
      Centralize Zed.log documentation (#40808)
    Just wanted a single location to point people to for telling them where to find their log file. I left duplicate text in GitHub Issue templates, as it seems annoying to have to follow a link when making an issue. Release Notes: - N/A
Joseph T. Lyons created
cf8422f
      settings_ui: Fix focus bugs (#40806)
    Closes #40608 Release Notes: - settings_ui: Fixed an issue where tabbing to the nav bar from the search bar while the nav bar was scrolled would result in the first _visible_ nav entry being selected, instead of the literal first nav entry - settings_ui: Fixed an issue where scrolling the selected nav entry off screen would cause the keyboard shortcut hint for the focus nav / focus content binding to dissapear - settings_ui: Fixed an issue where text input controls could not be focused via the keyboard
Ben Kunkle created
d7ffc37
      editor: Improve text color in document color highlight (#39372)
    Release Notes: - Improved text color in LSP document color highlight. ---- Because highlight ranges are implemented using a paint background, there's no way to control the text color. I've been thinking about this problem for a long time, want to solve it. ~~Today, I come up with a new idea. Re-rendering the document color text at the top should solve this problem.~~ #### Update 10/6: > The previous version is not good, when we have soft wrap text, that version will not work correct. Now use exists `bg_segments_per_row` feature to fix text color. ## Before <img width="563" height="540" alt="image" src="https://github.com/user-attachments/assets/99722253-0cab-4d2a-a5d1-7f28393bcaed" /> ## After <img width="544" height="527" alt="image" src="https://github.com/user-attachments/assets/a1bf6cdb-0e9c-435d-b14a-6ee9159a63d9" />
Jason Lee created
b798376
      fs: Implement `FileHandle::current_path` for windows (#40804)
    Release Notes: - Fixed worktree renames not working on windows
Lukas Wirth created
69025f3
      Add `linux_repo_snapshot` got `.gitignore` (#40802)
    It keeps popping up in my project searches ... This prevents that. Not like we are planning on editing that file again. Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created
981fa28
      editor: Hide the git blame popover on escape (#40549)
    Release Notes: - Added way to hide git blame popover by pressing the escape key.
Tim Vermeulen created
854d1ec
      acp_thread: Fix panic when following acp agents across buffers (#40798)
    Fixes ZED-2D7 Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created
10b9ae5
      multi_buffer: Assert char boundary for panic due to point_to_buffer_offset (#40777)
    In an attempt to figure out what's wrong with `point_to_buffer_offset` for crash https://github.com/zed-industries/zed/issues/40453. We want to know which branch among these two is the bad one. Release Notes: - N/A Co-authored-by: Lukas Wirth <lukas@zed.dev>
Smit Barmase and Lukas Wirth created
cad0601
      language: Fix hang when editing certain tailwind class names (#40791)
    Closes #36223 Upsteam issue to track: https://github.com/tailwindlabs/tailwindcss-intellisense/issues/1479 Release Notes: - Fixed an issue where Zed hanged when editing certain Tailwind class names.
Smit Barmase created
0eccdfe
      project: Spawn terminal process on background executor (#40774)
    We were spawning the process on the foreground thread before which can block an arbitrary amount of time. Likewise we no longer block deserialization on the terminal loading. Release Notes: - Improved startup time on systems with slow process spawning capabilities
Lukas Wirth created
0be70e2
      persistence: More error contexts (#40787)
    Release Notes: - N/A *or* Added/Fixed/Improved ... Co-authored-by: David Kleingeld <davidsk@zed.dev>
Lukas Wirth and David Kleingeld created
3d4abde
      vim: Fix hang in visual block motion (#40723)
    The `vim::visual::Vim.visual_block_motion` method was recently updated (https://github.com/zed-industries/zed/pull/39355) in order to jump between buffer rows instead of display rows. However, with this now being the case, the `break` condition was never met when the motion was horizontal rather than vertical and soft wrapped lines were used. As such, this commit udpates the condition to ensure it's always reached, preventing the hanging from happening. Release Notes: - Fixed hang in Vim's visual block motions when updating selections --------- Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
Dino and Piotr Osiewicz created
2bfbe03
      python: Bump version & get rid of explicit deps specifications for PET (#40785)
    Release Notes: - N/A
Piotr Osiewicz created
12d9121
      ci: Update `typos` versions and fix new occurrences (#40784)
    I noticed we had some typos that were getting through CI, but it looks like the new version of `typos` catches them. So I updated it and fixed them. Release Notes: - N/A
Agus Zubiaga created
b487d2c
      zeta2 inspector: Feedback box (#40732)
    Adds a way to submit feedback about a zeta2 prediction from the inspector. The telemetry event includes: - project snapshot (git + unsaved buffer state) - the full request and response - user feedback kind and text Release Notes: - N/A
Agus Zubiaga created
977887b
      ci: Bump max target directory size on Mac to 300GB (#40778)
    I did not bump it for Linux as some machines have smaller disks (~300GB or so); with Mac, we have at least 1TB on all of our boxes Release Notes: - N/A
Piotr Osiewicz created
0721c78
      Make `kotlin-lsp` the default language server (#40776)
    Following a conversation with the maintainer/owner of kotlin-language-server, he recommended switching to the official language server, which is better in many aspects and also more actively maintained. Release Notes: - Made the official Kotlin Language Server the default language server for Kotlin.
Finn Evers created
0aa7b7c
      editor: Toggle diff hunk based on current mouse position (#40773)
    This fixes an issue where we would search for the hovered diff hunk based on the mouse hit test computed during (or prior) editor paint instead of the mouse hit test computed prior to the mouse event invocation. That in turn could lead to cases where moving the mouse from the editor to the project panel and then clicking a file shortly after would expand a diff hunk when actually nothing should happen in that case. Release Notes: - Fixed an issue where diff hunks would sometimes erroneously toggle upon mouse clicks.
Finn Evers created
1b544b9
      ci: Run slow tests first (#40769)
    Tests are hand-picked based on yours truly's preference Release Notes: - N/A
Piotr Osiewicz created
ea6e6db
      Add log message on first render (#40749)
    Having this in our logs with a timestamp should help when users submit issues with logs about slow startup time. Release Notes: - N/A
Julia Ryan created
a56122e
      ci: Do not use full debug info in CI builds (#40764)
    For good backtraces in tests 'limited' is all we need. Closes #ISSUE Release Notes: - N/A
Piotr Osiewicz created
04a45e3
      Add debian community repository (#40698)
    I maintain this repository that contains several developer tools like - ghostty - zig - yazi all of them are updated usually the same day as upstream. Release Notes: - N/A
Dario Griffo created
4b489f4
      cli: Add `--reuse` flag for replacing workspace in existing window (#38131)
    Closes #ISSUE 
it is was still in
[discussion](https://github.com/zed-industries/zed/discussions/37983)
Release Notes:
- Added: `--reuse` (`-r`) CLI flag to replace the workspace in an
existing window instead of opening a new one
This PR adds a new `--reuse` (`-r`) CLI flag that allows users to
replace the workspace in an existing Zed window instead of opening a new
one or adding files to the current workspace.
### What it does
The `--reuse` flag finds an available local workspace window and
replaces its workspace with the newly specified paths. This provides a
third workspace opening mode alongside the existing `--add` and `--new`
flags.
### Implementation Details
- **CLI Flag**: Added `--reuse` (`-r`) flag with proper mutual exclusion
with `--add` and `--new`
- **Window Replacement**: Uses the existing `replace_window` option in
`workspace::OpenOptions`
- **Window Selection**: Reuses the first available local workspace
window
- **Fallback Behavior**: When no existing windows are found, creates a
new window
- **Test Coverage**: Added comprehensive test for the reuse
functionality
### Behavior
- `zed -r file.txt` - Replaces the workspace in an available window with
`file.txt`
- If no windows are open, creates a new window (same as default
behavior)
- Mutually exclusive with `-a/--add` and `-n/--new` flags
- Works with multiple files and directories
### Files Changed
- `crates/cli/src/cli.rs` - Added `reuse` field to `CliRequest::Open`
- `crates/cli/src/main.rs` - Added CLI argument definition and parsing
- `crates/zed/src/zed/open_listener.rs` - Implemented reuse logic and
added tests
- `crates/zed/src/zed/windows_only_instance.rs` - Updated for Windows
compatibility
### Testing
- โ
 Unit tests pass
- โ
 Manual testing confirms expected behavior:
  - Works when no windows are open
  - Replaces workspace in existing window
  - Maintains compatibility with existing `-a` and `-n` flags
  - Proper help text display
## Manual testing
#### In this first video we do a couple of tests: 
* **1**: What happens if we use the -r flag when there are no windows
open?
        - works as expected. It opens the files in a new window.
        
* **2**: Does it work as expected if there is already a window open.
Does it overrides the workspace?
- yes it does. When opening a different file it overrides the current
window instead of creating a new one.
        
* **3**: Does the -n flag still works as expected?
        - yes, it creates the project in a new window
* **4**: What about the -a flag?
       - yes, on the last accessed page 
       
* **5**: we do the replace command. It overrides the first opened
window, do we want this behavior?
- It is good enough that it overrides one of the opened windows with the
new project. It still makes the user automatically go to the window with
the specified files
* **6**: we use the -r command again replacing the workspace with a new
one.
       - this indeed worked as expected
https://github.com/user-attachments/assets/f1cd7f4b-f4af-4da2-a755-c0be7ce96c0d
#### In here the we check how the --help flag now displays the new
command. (Description was later updated)
https://github.com/user-attachments/assets/a8a7a288-d926-431b-a9f9-a8c3d909a2ec
    Mateo Noel Rabines created
71ea133
      Theme-able Vim Mode wrapper (#39813)
    Closes [#14093](https://github.com/zed-industries/zed/issues/14093) Builds on [#32279](https://github.com/zed-industries/zed/pull/32279) by making it theme dependent. Discussion [#37816](https://github.com/zed-industries/zed/discussions/37816) Wraps the mode label indicator in a div and makes the wrapper and label theme-able. Label weight to medium Mode indicator will render like previously if not theme colors have been set. (i.e., they match zed default- and fallbacks) Really helps with visual confirmation of current mode. _Did not investigate further if there is a way to keep the leading and trailing -- if no theme var given._ Can be applied either by a theme itself or using `theme_overrides` in settings.json Theme colors applied via `theme_overrides` <img width="233" height="34" alt="Screenshot 2025-10-08 at 23 01 08" src="https://github.com/user-attachments/assets/a00d9ae4-b6db-46a0-84e2-98d2691a11ad" /> <img width="233" height="34" alt="Screenshot 2025-10-08 at 23 01 16" src="https://github.com/user-attachments/assets/f27fddab-524d-43c4-9307-46b6a656cd35" /> <img width="233" height="34" alt="Screenshot 2025-10-08 at 23 01 23" src="https://github.com/user-attachments/assets/7e477fff-7a40-4c01-95a7-fbd40fff6caa" /> No theme applied <img width="233" height="34" alt="Screenshot 2025-10-08 at 23 01 31" src="https://github.com/user-attachments/assets/8b7b2c75-007b-4074-a552-181c53f31213" /> <img width="233" height="34" alt="Screenshot 2025-10-08 at 23 01 36" src="https://github.com/user-attachments/assets/7a708d81-2033-4d72-a844-57607a0434ea" /> <img width="233" height="34" alt="Screenshot 2025-10-08 at 23 01 40" src="https://github.com/user-attachments/assets/526f9d10-4d0f-4bc5-af89-31fcca538ce4" /> https://github.com/user-attachments/assets/d0d71d4d-504f-4d18-bbd9-83d3a4b2adb7 Release Notes: - Vim make mode indicator themeable --------- Co-authored-by: willyHetland <willy.hetland@zeekit.no> Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Willy Hetland , willyHetland , and Conrad Irwin created
917f22f
      Don't auto-release preview (#40728)
    This feels a bit dangerous as long as we have the split releases problem Release Notes: - N/A
Cole Miller created
36c0068
      pane: Ignore max tabs on terminal pane (#40740)
    Closes #39901 I'm unsure as to which direction the team wants to go with this, but this is the behavior of VSCode which is what this feature is based off so i'm going with this. Changes: 1. Introduced a new argument to the `new` method on the Pane called `ignore_max_tabs` that forces the `max_tabs` to None if it's true. 2. Added a new test `test_bypass_max_tabs_limit`. Release Notes: - Fixed: `max_tabs` Setting affecting the terminal pane. --------- Co-authored-by: Joseph T. Lyons <JosephTLyons@gmail.com>
vipex and Joseph T. Lyons created
a2c4281
      markdown_preview: Apply few appearance tweaks for tables (#39190)
    # Why Refs: * https://github.com/zed-industries/zed/pull/39101#issuecomment-3350557981 # How Apply suggested appearance changes in the comment mentioned above. I have also retained the different background for header rows, since it feels to me that it is something that GitHub styling lacks. I have also attempted to shrink the table table element, to fit the content width (so it does not span for the full width of preview), but I have failed on those attempts. Tried to use many various GPUI attributes, but only thing that worked was setting the exact width on table container, also tried to reuse `max_lengths` values, but those are counting characters, not the rendered width. I would like to explore this a bit more, and try to follow up on those changes in a separate PR. Release Notes: - Improved table elements styling in Markdown Preview # Preview <img width="1616" height="582" alt="Screenshot 2025-09-30 at 12 04 30" src="https://github.com/user-attachments/assets/4f1517cb-9046-4e09-a1e1-5223421efb71" /> <img width="1616" height="582" alt="Screenshot 2025-09-30 at 12 04 23" src="https://github.com/user-attachments/assets/61303160-2b62-4213-80fc-ee8432cdf1fa" /> <img width="1616" height="582" alt="Screenshot 2025-09-30 at 12 04 15" src="https://github.com/user-attachments/assets/059a447e-574d-4545-870a-93f1c00b3bb8" /> <img width="1616" height="582" alt="Screenshot 2025-09-30 at 12 04 42" src="https://github.com/user-attachments/assets/8e7c6f9b-672f-4943-aded-1b644d2ff750" /> <img width="1616" height="582" alt="Screenshot 2025-09-30 at 12 04 34" src="https://github.com/user-attachments/assets/6d31f7f3-d0ea-4987-bf8c-78f6b307a2b3" /> --------- Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
Bartosz Kaszubowski and Danilo Leal created
267052f
      Editor end of input context (#40735)
    This is needed for #38914 and seems generally useful to have for contextual keybindings. Release Notes: - N/A --------- Co-authored-by: David Kleingeld <davidsk@zed.dev>
Julia Ryan and David Kleingeld created
62516e8
      themes: Improve Gruvbox scrollbar colors (#38145)
    Changes that I made: - add "scrollbar.thumb.active_background" to all themes - for dark themes: scrollbar.thumb.background is darker than hover (fg4 from palette for background and fg0 for hover) - for light themes: scrollbar.thumb.background is lighter than hover (fg4 for background and fg0 for hover like in dark theme case) Those changes is consistent with VSCode gruvbox theme and other applications. For active_background I chose orange color, but we can use cyan color to match vscode theme. UPDATE: decided to use blue for active scrollbar as this color is used as accent in other parts of gruvbox themes Release Notes: - Improved scrollbar colors for Gruvbox theme --------- Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
Dmitry Nefedov and Danilo Leal created
b479d1e
      title_bar: Add configurable window controls position (#38834)
    ## ๐ฏ Description
Adds configurable window control buttons (minimize, maximize, close)
positioning for Linux, allowing users to choose between macOS-style
(left side) or Windows-style (right side) placement.
## โจ Features
- New `title_bar.window_controls_position` setting with `"left"` and
`"right"` options
- Left positioning: macOS style (Close โ Minimize โ Maximize)
- Right positioning: Windows style (Minimize โ Maximize โ Close)
- Fixed transparent background issues for window controls
- Maintains consistent styling with Zed's theme
## ๐ง Technical Changes
### Settings System
- Added `WindowControlsPosition` enum in `settings_content.rs`
- Extended `TitleBarSettingsContent` with `window_controls_position`
field
- Updated `TitleBarSettings` to include the new configuration
### Title Bar Layout
- Modified `platform_title_bar.rs` to use setting for layout positioning
- Added conditional logic for `justify_start()` vs `justify_between()`
based on position
- Fixed transparent container background by adding `bg(titlebar_color)`
### Window Controls
- Updated `platform_linux.rs` to reorder buttons based on position
setting
- Changed button background from `ghost_element_background` to
`title_bar_background`
- Implemented proper button sequencing for both positions
## ๐งช How to Test
1. Add to your Zed settings:
   ```json
   {
     "title_bar": {
       "window_controls_position": "left"
     }
   }
   ```
   or
   ```json
   {
     "title_bar": {
       "window_controls_position": "right"
     }
   }
   ```
2. Restart Zed
3. Verify buttons are positioned correctly
4. Check that background is not transparent
5. Test button functionality (minimize, maximize, close)
## ๏ฟฝ๏ฟฝ Expected Behavior
- **Left position**: Buttons appear on the left side of the title bar in
Close โ Minimize โ Maximize order
- **Right position**: Buttons appear on the right side of the title bar
in Minimize โ Maximize โ Close order
- **Background**: Solid background matching Zed's theme (no
transparency)
## ๐ Files Changed
- `crates/settings/src/settings_content.rs` - Added enum and setting
- `crates/title_bar/src/title_bar_settings.rs` - Updated settings struct
- `crates/title_bar/src/platform_title_bar.rs` - Modified layout logic
- `crates/title_bar/src/platforms/platform_linux.rs` - Updated button
ordering and styling
## ๐จ Design Rationale
This feature provides Linux users with the flexibility to choose their
preferred window control button layout, improving the user experience by
allowing them to match their desktop environment's conventions or
personal preferences.
## โ
 Checklist
- [x] Code compiles without errors
- [x] Settings are properly serialized/deserialized
- [x] Background transparency issues resolved
- [x] Button ordering works correctly for both positions
- [x] Layout adapts properly based on configuration
- [x] No breaking changes to existing functionality
## ๐ Related
This addresses the need for customizable window control positioning on
Linux, providing consistency with user expectations from different
desktop environments.

    Akira Sousa created
684f4dc
      settings_ui: Fix typo (#40743)
    Fixes #40742 Release Notes: - N/A *or* Added/Fixed/Improved ... Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
ofetch and Danilo Leal created
de6750d
      Add `line_endings_button` in VSCode settings to fix semantic merge conflict (#40745)
    I have partially solved a problem caused by a structure in commit: f7a0971d2b9c366338dabad13fb494fe0a2c83b1 Release Notes: - N/A Before: <img width="723" height="480" alt="image" src="https://github.com/user-attachments/assets/6600e0af-36cf-4aec-ace1-7ee4921e001e" /> After: <img width="764" height="217" alt="image" src="https://github.com/user-attachments/assets/52111c27-c67a-4224-82bd-782cc6e07f97" />
Jose Garcia created
4f5f299
      settings ui: Autoscroll content during keyboard navigation (#40734)
    Closes #40608 This fixes tabbing in both the settings ui nav bar and page content going off screen instead of scrolling the focused element into a visible view. The bug occurred because `gpui::list` and `gpui::uniform_list` only render visible elements, preventing non visible elements in a view from having their focus handle added to the element tree. Thus making the tab stop map skip over those elements because they weren't present. The fix for this is scrolling to reveal non visible elements and then focus the selected element on the next frame. Release Notes: - settings ui: Auto scroll to reveal items in navigation bar and window when tabbing --------- Co-authored-by: Ben Kunkle <ben@zed.dev>
Anthony Eid and Ben Kunkle created
32a442d
      Fix inlay hint cleanup on excerpts removal (#40738)
    A cherry-pick of https://github.com/zed-industries/zed/pull/40183/commits/f5188d55fbcbb3856038967bce8e824ddb42bdba This fixes a hard-to-reproduce crash caused excerpts removal not updating previous snapshot data after corresponding inlay data was removed. Same branch has a test: https://github.com/zed-industries/zed/pull/40183/commits/8783a9eb4fbc60e3fbe0654c2d330bddfaa7ef0a that does not fail on `main` due to different way inlays are queried, it will be merged later. Release Notes: - N/A
Kirill Bulatov created
f7a0971
      Add line endings indicator in status bar (#39609)
    Closes #5294 This PR adds a line ending indicator to the status bar, hidden by default as discussed in https://github.com/zed-industries/zed/issues/5294. ### Changes - 8b063a22d8700bed9c93989b9e0f6a064b2e86cf add the indicator and `status_bar.line_endings_button` setting. - ~~9926237b709dd4e25ce58d558fd385d63b405f3b changes `status_bar.line_endings_button` from a boolean to an enum:~~ <details> <summary> show details </summary> - `always` Always show line endings indicator. - `non_native` Indicate when line endings do not match the current platform. - `lf_only` Indicate when using unix-style (LF) line endings only. - `crlf_only` Indicate when using windows-style (CRLF) line endings only. - `never` Do not show line endings indicator. I know this many options might be overdoing it, but I was torn between the pleasant default of `non_native` and the simplicity of `lf_only` / `crlf_only`. My thinking was if one is developing on a project which exclusively uses one line-ending style or the other, it would be nice to be able to configure no-indicator-in-the-happy-case behavior regardless of the platform zed is running on. But I'm not really familiar with any projects that use exclusively CRLF line endings in practice. Is this a scenario worth supporting or just something I dreamed up? </details> - 01174191e4cf337069e7a31b0f0432ae94c52515 rename the action context for `line ending: Toggle` -> `line ending selector: Toggle`. When running the action in the command palette with the old name I felt surprised to be greeted with an additional menu, with the new name it feels more predictable (plus now it matches `language_selector::Toggle`!) ### Future work Hidden status bar items still get padding, creating inconsistent spacing (and it kind of stands out where I placed the line-endings button): <img alt="the gap after the indicator is larger than for other buttons" src="https://github.com/user-attachments/assets/24a346d4-3ff6-4f7f-bd87-64d453c2441a" /> I started a new follow-up PR to address that: https://github.com/zed-industries/zed/pull/39992 Release Notes: - Added line ending indicator to the status bar (disabled by default; enabled by setting `status_bar.line_endings_button` to `true`)
kitt created
ed82233
      gpui: Box `Window` instances (#40733)
    We very frequently move this in and out of the windows slot map on `update_window_id` calls (and we call this a lot!). This alone showed up as `memmove`s at roughly 1% perf in Instruments when scrolling a buffer which makes sense, `Window` itself is 4kb in size. The fix is simple, just box the `Window` instances, moving a pointer is cheap in comparison. Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created
ec0efc9
      git_ui: Close branch selector as soon as branch is selected (#39725)
    I noticed that branch picker doesn't close until the checkout operation is completed. While normally it's not an issue, it becomes obvious if there are longer running post checkout hooks. In that case selecting a branch makes it feel like nothing has happened (there's a small indicator in the footer) so it's possible to click it multiple times. Closing the modal before the operation completes leads to the error modal saying `Failed to change branch. entity released. Please try again.` even though the checkout was successful. The new behavior is to close the branch picker as soon as the branch is selected. This also aligns with the existing behavior in `create_branch` where `cx.emit(DismissEvent);` is called without waiting for `repo.update`. And as I mentioned before there an indicator in the footer saying `git switch <branch_name>` with a spinner thingy. I also added a check in the picker's `open` function where it first checks if there's currently an active job and does not show the picker in that case. If this generally makes sense I can add the tests as well if needed. P.S I checked how it works in VSCode and yes it also closes the branch picker as soon as the branch is selected. The only difference is that they show the loading indicator right next to the branch name (with a new branch) but in our case the current branch and activity indicator are located in different places. <details><summary>Before</summary> https://github.com/user-attachments/assets/adf08967-d908-45fa-b3f6-96f73d321262 </details> <details><summary>After</summary> https://github.com/user-attachments/assets/88c7ca41-7b39-42d6-a98b-3ad19da9317c </details> Release Notes: - The branch picker now closes immediately after a branch is selected, instead of waiting for the branch switch to complete.
Alex Miller created
1c639da
      file_finder: Include worktree root name in multi-worktrees workspace (#40415)
    Closes #39865 Release Notes: - Fixed file finder display when searching for files in history if you had several worktrees opened in a workspace. It now displays the worktree root name to avoid confusion if you have several files with same name in different worktrees. --------- Signed-off-by: Benjamin <5719034+bnjjj@users.noreply.github.com>
Coenen Benjamin created
ebaefa8
      settings_ui: Add maybe settings (#40724)
    Closes #ISSUE Adds a `Maybe<T>` type to `settings_content`, that makes the distinction between `null` and omitted settings values explicit. This unlocks a few more settings in the settings UI Release Notes: - N/A *or* Added/Fixed/Improved ...
Ben Kunkle created
33bc586
      theme: Change the icon used for JSONC files (#40726)
    Closes #40683 Release Notes: - Changed jsonc files' icon
Jose Garcia created
853d7c3
      gpui: Fix uniform list scrolling with vertical padding present (#40719)
    Closes #40267 Release Notes: - Fixed a rare issue where the extension page would stutter while scrolling.
Finn Evers created