4ed206b
vim: Implement /n and /c in :s (#34102)
Click to expand commit body
Closes #23345 Release Notes: - vim: Support /n and /c in :s//
Conrad Irwin created
4ed206b
vim: Implement /n and /c in :s (#34102)
Closes #23345 Release Notes: - vim: Support /n and /c in :s//
Conrad Irwin created
6daf888
More Tips'n'tricks (#34103)
Document one way to avoid pathological cargo cache problems. Release Notes: - N/A
Conrad Irwin created
acff48f
vim: Add `:sp[lit] <filename>` and `:vs[plit] <filename>` support (#33686)
Closes #32627 Release Notes: - Adds `:sp[lit] <filename>` and `:vs[plit] <filename>` support
AidanV created
ecf4d55
helix: Stay in helix normal mode after helix delete (#34093)
Currently, the HelixDelete action switches to (vim) Normal mode instead of HelixNormal mode. This adds a line to the helix delete action to stay in helix normal mode. There was already a commented-out test for this. I've uncommented it and it now passes. Release Notes: - helix: Fixed switching to vim NORMAL mode instead of HELIX_NORMAL mode after deletion
Joel Courtney created
8e8a772
vim: Add U to undo last line (#33571)
Closes #14760 Still TODO: * Vim actually undoes *many* changes if they're all on the same line. Release Notes: - vim: Add `U` to return to the last changed line and undo
Conrad Irwin created
df57754
windows: Publish nightly (#24800)
The installer, uninstaller, and the Zed binary files are all signed using Microsoft’s newly launched Trusted Signing service. For demonstration purposes, I have used my own account for the signing process. For more information about Trusted Signing, you can refer to the following links: - [Microsoft Security Blog: Trusted Signing is in Public Preview](https://techcommunity.microsoft.com/blog/microsoft-security-blog/trusted-signing-is-in-public-preview/4103457) - [Overview of Azure Trusted Signing](https://learn.microsoft.com/en-us/azure/trusted-signing/overview) **TODO:** - [x] `InnoSetup` script to setup an installer - [x] Signing process - [x] `Open with Zed` in right click context menu (by using sparse package) - [x] Integrate with `cli` - [x] Implement `cli` (#25412) - [x] Pack `cli.exe` into installer - [x] Implement auto updating (#25734) - [x] Pack autoupdater helper into installer - [x] Implement dock menus - [x] Add `Recent Documents` entries (#26369) - [x] Make `zed.exe` aware of sigle instance (#25412) - [x] Properly handle dock menu events (#26010) - [x] Handle `zed://***` uri **Materials needed:** - [ ] Icons - [ ] App icon for all channels (#9571) - [ ] Associated file icons, at minimum a default icon ([example](https://github.com/microsoft/vscode/tree/main/resources/win32)) - [ ] Logos for installer wizard - [ ] Icons for appx - [x] Code signing - [x] Secrets: AZURE_TENANT_ID, AZURE_CLIENT_ID, AZURE_CLIENT_SECRET, ACCOUNT_NAME, CERT_PROFILE_NAME - [x] Other constants: ENDPOINT, Identity Signature (i.e. `CN=Junkui Zhang, O=Junkui Zhang, L=Wuhan, S=Hubei, C=CN`)  https://github.com/user-attachments/assets/4f1092b4-90fc-4a47-a868-8f2f1a5d8ad8 Release Notes: - N/A --------- Co-authored-by: Kate <kate@zed.dev> Co-authored-by: localcc <work@localcc.cc> Co-authored-by: Peter Tripp <peter@zed.dev> Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
张小白 , Kate , localcc , Peter Tripp , and Max Brunsfeld created
3a247ee
project panel: Add indent guides for sticky items (#34092)
- Adds new trait `StickyItemsDecoration` in `sticky_items` which is implemented by `IndentGuides` from `indent_guides`. <img width="347" alt="image" src="https://github.com/user-attachments/assets/577748bc-13f6-41b8-9266-6a0b72349a18" /> Release Notes: - N/A
Smit Barmase created
ad8b823
Improve the LSP popover menu design (#34081)
- Add a slightly different bolt icon SVG so it sits better when with an indicator - Attempt to clarify what happens when clicking any of the menu items - Add descriptions to the tooltips to clarify what each indicator color means - Add section titles to clarify in which category each menu item is sitting on Release Notes: - N/A
Danilo Leal created
139af02
vim: Fix and improve horizontal scrolling (#33590)
This Pull Request introduces various changes to the editor's horizontal scrolling, mostly focused on vim mode's horizontal scroll motions (`z l`, `z h`, `z shift-l`, `z shift-h`). In order to make it easier to review, the logical changes have been split into different sections. ## Cursor Position Update Changes introduced on https://github.com/zed-industries/zed/pull/32558 added both `z l` and `z h` to vim mode but it only scrolled the editor's content, without changing the cursor position. This doesn't reflect the actual behavior of those motions in vim, so these two commits tackled that, ensuring that the cursor position is updated, only when the cursor is on the left or right edges of the editor: - https://github.com/zed-industries/zed/commit/ea3b866a763ba0bcfc12999ee1741c6528c895b7 - https://github.com/zed-industries/zed/commit/805f41a913c6e86ef8be550d363a3cc2caeccbe9 ## Horizontal Autoscroll Fix After introducing the cursor position update to both `z l` and `z h` it was noted that there was a bug with using `z l`, followed by `0` and then `z l` again, as on the second use `z l` the cursor would not be updated. This would only happen on the first line in the editor, and it was concluded that it was because the `editor::scroll::autoscroll::Editor.autoscroll_horizontally` method was directly updating the scroll manager's anchor offset, instead of using the `editor::scroll::Editor.set_scroll_position_internal` method, like is being done by the vertical autoscroll (`editor::scroll::autoscroll::Editor.autoscroll_vertically`). This wouldn't update the scroll manager's anchor, which would still think it was at `(0, 1)` so the cursor position would not be updated. The changes in [this commit](https://github.com/zed-industries/zed/commit/3957f02e189018ef559cd28516f0b872026b0ce1) updated the horizontal autoscrolling method to also leverage `set_scroll_position_internal`. ## Visible Column Count & Page Width Scroll Amount The changes in https://github.com/zed-industries/zed/commit/d83652c3ae1d0356fd7dca7b8922a0116de39ff0 add a `visible_column_count` field to `editor::scroll::ScrollManager` struct, which allowed the introduction of the `ScrollAmount::PageWidth` enum. With these changes, two new actions are introduced, `vim::normal::scroll::HalfPageRight` and `vim::normal::scroll::HalfPageLeft` (in https://github.com/zed-industries/zed/commit/7f344304d56337654a34b1b461a1dc69defd2e4e), which move the editor half page to the right and half page to the left, as well as the cursor position, which have also been mapped to `z shift-l` and `z shift-h`, respectively. Closes #17219 Release Notes: - Improved `z l` and `z h` to actually move the cursor position, similar to vim's behavior - Added `z shift-l` and `z shift-h` to scroll half of the page width's to the right or to the left, respectively --------- Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Dino and Conrad Irwin created
6b7c30d
keymap_ui: Editor for action input in modal (#34080)
Closes #ISSUE Adds a very simple editor for editing action input to the edit keybind modal. No auto-complete yet. Release Notes: - N/A *or* Added/Fixed/Improved ...
Ben Kunkle created
1220049
Add feature flag to use `cloud.zed.dev` instead of `llm.zed.dev` (#34076)
This PR adds a new `zed-cloud` feature flag that can be used to send traffic to `cloud.zed.dev` instead of `llm.zed.dev`. This is just so Zed staff can test the new infrastructure. When we're ready for prime-time we'll reroute traffic on the server. Release Notes: - N/A
Marshall Bowers created
01bdef1
nix: Fix generate-licenses failure (#34072)
We should maybe add `generate-licenses` to the sensitivity list for running nix in CI given that nix uses a workaround for it. Release Notes: - N/A
Julia Ryan created
9a3720e
Disable word completions by default for plaintext/markdown (#34065)
This disables word based completions in Plain Text and Markdown buffers
by default.
Word-based completion when typing natural language can be quite
disruptive, in particular at the end of a line (e.g. markdown style
lists) where `enter` will accept word completions rather than insert a
newline (see screenshot). I think the default, empty buffer experience
in Zed should be closer to a zed-mode experience -- just an editor
getting out of your way to let you type and not having to mash
escape/cmd-z repeatedly to undo a over-aggressive completion.
<img width="265" alt="Screenshot 2025-07-08 at 11 57 26"
src="https://github.com/user-attachments/assets/131f73a8-4687-45bf-ad53-f611c0af9387"
/>
- Context:
https://github.com/zed-industries/zed/issues/4957#issuecomment-3049513501
- Follow-up to: https://github.com/zed-industries/zed/pull/26410
Re-enable the existing behavior with:
```json
"languages": {
"Plain Text": { "completions": { "words": "fallback" } },
"Markdown": { "completions": { "words": "fallback" } },
},
```
Or disable Word based completions everywhere with:
```json
"completions": {
"words": "fallback"
},
```
Release Notes:
- Disable word-completions by default in Plain Text and Markdown Buffers
Peter Tripp created
11ddecb
helix: Change keymap (#33925)
Might close #33838 for now Keymaps that work both in vim and helix, but only in normal mode, not the more general `VimControl` context are written separately. This makes the file shorter by combining them and also adds one more keymap. Release Notes: - N/A
fantacell created
684e14e
Move Perplexity extension to dedicated repository (#34070)
Move Perplexity extension to: https://github.com/zed-extensions/perplexity Release Notes: - N/A
Peter Tripp created
263080c
Allow local build of remote_server dev to be deployed to different linux than local (#33395)
setup local build of `remote_server` to not depend of the local linux libraries by : - enable `vendored-libgit2` feature of git2 - setup target triple to `unknown-linux-musl` (mirror bundle-linux script) - add flag ` -C target-feature=+crt-static` in `RUSTFLAGS` env var (mirror bundle-linux script) Bonus: Add an option to setup mold as linker of local build. Closes #33341 Release Notes: - N/A
Gwen Lg created
925464c
Improve terminal rendering performance (#33345)
Closes #18263 Improvements: • **Batch text rendering** - Combine adjacent cells with identical styling into single text runs to reduce draw calls • **Throttle hyperlink searches** - Limit hyperlink detection to every 100ms or when mouse moves >5px to reduce CPU usage • **Pre-allocate collections** - Use `Vec::with_capacity()` for cells, runs, and regions to minimize reallocations • **Optimize background regions** - Merge adjacent background rectangles to reduce number of draw operations • **Cache selection text** - Only compute terminal selection string when selection exists Release Notes: - Improved terminal rendering performance. --------- Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Alisina Bahadori and Conrad Irwin created
bcac748
Add support for Nushell in shell builder (#33806)
We also swap out env variables before sending them to shells now in the task system. This fixed issues Fish and Nushell had where an empty argument could be sent into a command when no argument should be sent. This only happened from task's generated by Zed. Closes #31297 #31240 Release Notes: - Fix bug where spawning a Zed generated task or debug session with Fish or Nushell failed
Anthony Eid created
0ca0914
windows: Add support for SSH (#29145)
Closes #19892 This PR builds on top of #20587 and improves upon it. Release Notes: - N/A --------- Co-authored-by: Kirill Bulatov <kirill@zed.dev>
张小白 and Kirill Bulatov created
8bd739d
git panel: Add some design refinements (#34064)
Things like borders, border colors, which icons are being used, button sizes, and spacing. There is more to do here: polish that we're using a bunch of divs for spacing, arbitrary pixel values for tokens we have in the system, etc. This is just a quick pass! Release Notes: - git panel: Polished the panel spacing, border colors, and icons.
Danilo Leal created
60e9ab8
Delete access tokens on user delete (#34036)
Trying to delete a user record from our admin panel throws the following error: `update or delete on table "users" violates foreign key constraint "access_tokens_user_id_fkey" on table "access_tokens" Detail: Key (id)=(....) is still referenced from table "access_tokens".` We need to add a cascade delete to the `access_tokens` table. Release Notes: - N/A
Joseph T. Lyons created
3327f90
agent: Add setting to control terminal card expanded state (#34061)
Similar to https://github.com/zed-industries/zed/pull/34040, this PR allows to control via settings whether the terminal card in the agent panel should be expanded. It is set to true by default. Release Notes: - agent: Added a setting to control whether terminal cards are expanded in the agent panel, thus showing or hiding the full command output.
Danilo Leal created
5e15c05
editor: Fix diagnostic popovers not being scrollable (#33581)
Closes #32673 Release Notes: - Fixed diagnostic popovers not being scrollable
curiouslad created
1f3575a
project_panel: Only show sticky item shadow when list is scrolled (#34050)
Follow up: https://github.com/zed-industries/zed/pull/34042 - Removes `top_slot_items` from `uniform_list` in favor of using existing `decorations` - Add condition to only show shadow for sticky item when list is scrolled and scrollable Release Notes: - N/A
Smit Barmase created
f1db3b4
agent: Add setting to control edit card expanded state (#34040)
This PR adds the `expand_edit_card` setting, which controls whether edit cards in the agent panel are expanded, thus showing or not the full diff of a given file's AI-driven change. I personally prefer to have these cards collapsed by default as I am mostly reviewing diffs using either the review multibuffer or the diffs within the file's buffer itself. Didn't want to change the default behavior as that was intentionally chosen, so here we are! :) Open to feedback about the setting name; I've iterated between a few options and don't necessarily feel like the current one is the best. Release Notes: - agent: Added a setting to control whether edit cards are expanded in the agent panel, thus showing or hiding the full diff of a file's changes.
Danilo Leal created
02d0e72
agent: Allow clicking on the whole edit file row to trigger review (#34041)
Just a small quality-of-life type of PR that makes clicking anywhere until the "Review" button trigger the action that that button triggers (i.e., opens the review multibuffer). <img src="https://github.com/user-attachments/assets/8936ed75-50fd-49f9-89ef-b6c4301a8eba" width="600" /> Release Notes: - agent: Added the ability to click the whole file row in the edits bar to trigger the review multibuffer.
Danilo Leal created
211d620
project panel: Add a shadow in the last sticky item (#34042)
Follow-up to https://github.com/zed-industries/zed/pull/33994. This PR adds a subtle shadow—built from an absolute-positioned div, due to layering of items—to the last sticky item in the project panel when that setting is turned on. This helps understand the block of items that is currently sticky. <img src="https://github.com/user-attachments/assets/0e030e93-9bc6-42ff-8d0d-3e46f1986152" width="300"/> Would love to add indent guides to the items that are sticky as a next step. Release Notes: - project panel: When `sticky_scroll` is true, the last item will now have a subtle shadow to help visualizing the block of items that are currently sticky.
Danilo Leal created
4693f16
debugger: Remove PHP debug adapter (#34020)
This commit removes the PHP debug adapter in favor of a new version (0.3.0) of PHP extension. The name of a debug adapter has been changed from "PHP" to "Xdebug", which makes this a breaking change in user-configured scenarios Release Notes: - debugger: PHP debug adapter is no longer shipped in core Zed editor; it is now available in PHP extension (starting with version 0.3.0). The adapter has been renamed from `PHP` to `Xdebug`, which might break your user-defined debug scenarios.
Piotr Osiewicz created
c0dc758
debugger: Rely on LocalDapCommand in more places (#34035)
- **debugger: Move cacheable property onto LocalDapCommand** - **debugger/session: Relax method bounds to use LocalDapCommand** Release Notes: - N/A
Piotr Osiewicz created
9b7632d
Automatically adjust ANSI color contrast (#34033)
Closes #33253 in a way that doesn't regress #32175 - namely, automatically adjusts the contrast between the foreground and background text in the terminal such that it's above a certain threshold. The threshold is configurable in settings, and can be set to 0 to turn off this feature and use exactly the colors the theme specifies even if they are illegible. ## One Light Theme Before <img width="220" alt="Screenshot 2025-07-07 at 6 00 47 PM" src="https://github.com/user-attachments/assets/096754a6-f79f-4fea-a86e-cb7b8ff45d60" /> (Last row is highlighted because otherwise the text is unreadable; the foreground and background are the same color.) ## One Light Theme After (This is with the new default contrast adjustment setting.) <img width="215" alt="Screenshot 2025-07-07 at 6 22 02 PM" src="https://github.com/user-attachments/assets/b082fefe-76f5-4231-b704-ff387983a3cb" /> This approach was inspired by @mitchellh's use of automatic contrast adjustment in [Ghostty](https://ghostty.org/) - thanks, Mitchell! The main difference is that we're using APCA's formula instead of WCAG for [these reasons](https://khan-tw.medium.com/wcag2-are-you-still-using-it-ui-contrast-visibility-standard-readability-contrast-f34eb73e89ee). Release Notes: - Added automatic dynamic contrast adjustment for terminal foreground and background colors
Richard Feldman created
877ef5e
keymap_ui: Add auto-complete for context in keybind editor (#34031)
Closes #ISSUE Implements a very basic completion provider that is attached to the context editor in the keybind editing modal. The context identifiers used for completions are scraped from the default, vim, and base keymaps on demand. Release Notes: - N/A *or* Added/Fixed/Improved ...
Ben Kunkle created
66a1c35
agent: Fix max token count mismatch when not using burn mode (#34025)
Closes #31854 Release Notes: - agent: Fixed an issue where the maximum token count would be displayed incorrectly when burn mode was not being used.
Bennet Bo Fenner created
a9107df
Edit debug tasks (#32908)
Release Notes: - Added the ability to edit LSP provided debug tasks --------- Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Julia Ryan and Conrad Irwin created
d549993
tools: Send stale file notifications only once (#34026)
Previously, we sent notifications repeatedly until the agent read a file, which was often inefficient. With this change, we now send a notification only once (unless the files are modified again, in which case we'll send another notification). Release Notes: - N/A
Oleksiy Syvokon created
e0c860c
debugger: Fix issues with restarting sessions (#33932)
Restarting sessions was broken in #33273 when we moved away from calling `kill` in the shutdown sequence. This PR re-adds that `kill` call so that old debug adapter processes will be cleaned up when sessions are restarted within Zed. This doesn't re-introduce the issue that motivated the original changes to the shutdown sequence, because we still send Disconnect/Terminate to debug adapters when quitting Zed without killing the process directly. We also now remove manually-restarted sessions eagerly from the session list. Closes #33916 Release Notes: - debugger: Fixed not being able to restart sessions for Debugpy and other adapters that communicate over TCP. - debugger: Fixed debug adapter processes not being cleaned up. --------- Co-authored-by: Remco Smits <djsmits12@gmail.com>
Cole Miller and Remco Smits created
2a6ef00
Make `script/generate-license` fail on WARN too (#34008)
Current main shows this on `script/generate-licenses`: ``` [WARN] failed to validate all files specified in clarification for crate ring 0.17.14: checksum mismatch, expected '76b39f9b371688eac9d8323f96ee80b3aef5ecbc2217f25377bd4e4a615296a9' ``` Ring fixed it's licenses ambiguity upstream. This warning was identifying that their license text (multiple licenses concatenated) had changed (sha mismatch) and thus our license clarification was invalid. Tested the script to confirm this [now fails](https://github.com/zed-industries/zed/actions/runs/16118890720/job/45479355992?pr=34008) under CI and then removed the ring clarification because it is no longer required and now passes. Release Notes: - N/A
Peter Tripp created
38febed
languages: Fix detents case line after typing `:` in Python (#34017)
Closes #34002 `decrease_indent_patterns` should only contain mapping which are at same indent level with each other, which is not true for `match` and `case` mapping. Caused in https://github.com/zed-industries/zed/pull/33370 Release Notes: - N/A
Smit Barmase created
8cc3b09
editor: Add action to sort lines by length (#33622)
This change introduces a new `Action` implementation to sort lines by their `char` length. It reuses the same calculation as used for getting the caret column position, i.e. `TextSummary`. The motivation is to e.g. handle source code where this sort of order matters ([example](https://github.com/alexpovel/srgn/blob/fdf537c3d3e4c18ebf3426bb34759400552a82c3/tests/readme.rs#L529-L535)). Tested manually via `cargo build && ./target/debug/zed .`: the new action shows up in the command palette, and testing it on `.mailmap` entries turns those from ```text Agus Zubiaga <agus@zed.dev> Agus Zubiaga <agus@zed.dev> <hi@aguz.me> Alex Viscreanu <alexviscreanu@gmail.com> Alex Viscreanu <alexviscreanu@gmail.com> <alexandru.viscreanu@kiwi.com> Alexander Mankuta <alex@pointless.one> Alexander Mankuta <alex@pointless.one> <alex+github@pointless.one> amtoaer <amtoaer@gmail.com> amtoaer <amtoaer@gmail.com> <amtoaer@outlook.com> Andrei Zvonimir Crnković <andrei@0x7f.dev> Andrei Zvonimir Crnković <andrei@0x7f.dev> <andreicek@0x7f.dev> Angelk90 <angelo.k90@hotmail.it> Angelk90 <angelo.k90@hotmail.it> <20476002+Angelk90@users.noreply.github.com> Antonio Scandurra <me@as-cii.com> Antonio Scandurra <me@as-cii.com> <antonio@zed.dev> Ben Kunkle <ben@zed.dev> Ben Kunkle <ben@zed.dev> <ben.kunkle@gmail.com> Bennet Bo Fenner <bennet@zed.dev> Bennet Bo Fenner <bennet@zed.dev> <53836821+bennetbo@users.noreply.github.com> Bennet Bo Fenner <bennet@zed.dev> <bennetbo@gmx.de> Boris Cherny <boris@anthropic.com> Boris Cherny <boris@anthropic.com> <boris@performancejs.com> Brian Tan <brian.tan88@gmail.com> Chris Hayes <chris+git@hayes.software> Christian Bergschneider <christian.bergschneider@gmx.de> Christian Bergschneider <christian.bergschneider@gmx.de> <magiclake@gmx.de> Conrad Irwin <conrad@zed.dev> Conrad Irwin <conrad@zed.dev> <conrad.irwin@gmail.com> Dairon Medina <dairon.medina@gmail.com> Danilo Leal <danilo@zed.dev> Danilo Leal <danilo@zed.dev> <67129314+danilo-leal@users.noreply.github.com> Edwin Aronsson <75266237+4teapo@users.noreply.github.com> Elvis Pranskevichus <elvis@geldata.com> Elvis Pranskevichus <elvis@geldata.com> <elvis@magic.io> Evren Sen <nervenes@icloud.com> Evren Sen <nervenes@icloud.com> <146845123+evrensen467@users.noreply.github.com> Evren Sen <nervenes@icloud.com> <146845123+evrsen@users.noreply.github.com> Fernando Tagawa <tagawafernando@gmail.com> Fernando Tagawa <tagawafernando@gmail.com> <fernando.tagawa.gamail.com@gmail.com> Finn Evers <dev@bahn.sh> Finn Evers <dev@bahn.sh> <75036051+MrSubidubi@users.noreply.github.com> Finn Evers <dev@bahn.sh> <finn.evers@outlook.de> Gowtham K <73059450+dovakin0007@users.noreply.github.com> Greg Morenz <greg-morenz@droid.cafe> Greg Morenz <greg-morenz@droid.cafe> <morenzg@gmail.com> Ihnat Aŭtuška <autushka.ihnat@gmail.com> Ivan Žužak <izuzak@gmail.com> Ivan Žužak <izuzak@gmail.com> <ivan.zuzak@github.com> Joseph T. Lyons <JosephTLyons@gmail.com> Joseph T. Lyons <JosephTLyons@gmail.com> <JosephTLyons@users.noreply.github.com> Julia <floc@unpromptedtirade.com> Julia <floc@unpromptedtirade.com> <30666851+ForLoveOfCats@users.noreply.github.com> Kaylee Simmons <kay@the-simmons.net> Kaylee Simmons <kay@the-simmons.net> <kay@zed.dev> Kaylee Simmons <kay@the-simmons.net> <keith@the-simmons.net> Kaylee Simmons <kay@the-simmons.net> <keith@zed.dev> Kirill Bulatov <kirill@zed.dev> Kirill Bulatov <kirill@zed.dev> <mail4score@gmail.com> Kyle Caverly <kylebcaverly@gmail.com> Kyle Caverly <kylebcaverly@gmail.com> <kyle@zed.dev> Lilith Iris <itslirissama@gmail.com> Lilith Iris <itslirissama@gmail.com> <83819417+Irilith@users.noreply.github.com> LoganDark <contact@logandark.mozmail.com> LoganDark <contact@logandark.mozmail.com> <git@logandark.mozmail.com> LoganDark <contact@logandark.mozmail.com> <github@logandark.mozmail.com> Marko Kungla <marko.kungla@gmail.com> Marko Kungla <marko.kungla@gmail.com> <marko@mkungla.dev> Marshall Bowers <git@maxdeviant.com> Marshall Bowers <git@maxdeviant.com> <elliott.codes@gmail.com> Marshall Bowers <git@maxdeviant.com> <marshall@zed.dev> Matt Fellenz <matt@felle.nz> Matt Fellenz <matt@felle.nz> <matt+github@felle.nz> Max Brunsfeld <maxbrunsfeld@gmail.com> Max Brunsfeld <maxbrunsfeld@gmail.com> <max@zed.dev> Max Linke <maxlinke88@gmail.com> Max Linke <maxlinke88@gmail.com> <kain88-de@users.noreply.github.com> Michael Sloan <michael@zed.dev> Michael Sloan <michael@zed.dev> <mgsloan@gmail.com> Michael Sloan <michael@zed.dev> <mgsloan@google.com> Mikayla Maki <mikayla@zed.dev> Mikayla Maki <mikayla@zed.dev> <mikayla.c.maki@gmail.com> Mikayla Maki <mikayla@zed.dev> <mikayla.c.maki@icloud.com> Morgan Krey <morgan@zed.dev> Muhammad Talal Anwar <mail@talal.io> Muhammad Talal Anwar <mail@talal.io> <talalanwar@outlook.com> Nate Butler <iamnbutler@gmail.com> Nate Butler <iamnbutler@gmail.com> <nate@zed.dev> Nathan Sobo <nathan@zed.dev> Nathan Sobo <nathan@zed.dev> <nathan@warp.dev> Nathan Sobo <nathan@zed.dev> <nathansobo@gmail.com> Nigel Jose <nigelmjose@gmail.com> Nigel Jose <nigelmjose@gmail.com> <nigel.jose@student.manchester.ac.uk> Peter Tripp <peter@zed.dev> Peter Tripp <peter@zed.dev> <petertripp@gmail.com> Petros Amoiridis <petros@hey.com> Petros Amoiridis <petros@hey.com> <petros@zed.dev> Piotr Osiewicz <piotr@zed.dev> Piotr Osiewicz <piotr@zed.dev> <24362066+osiewicz@users.noreply.github.com> Pocæus <github@pocaeus.com> Pocæus <github@pocaeus.com> <pseudomata@proton.me> Rashid Almheiri <r.muhairi@pm.me> Rashid Almheiri <r.muhairi@pm.me> <69181766+huwaireb@users.noreply.github.com> Richard Feldman <oss@rtfeldman.com> Richard Feldman <oss@rtfeldman.com> <richard@zed.dev> Robert Clover <git@clo4.net> Robert Clover <git@clo4.net> <robert@clover.gdn> Roy Williams <roy.williams.iii@gmail.com> Roy Williams <roy.williams.iii@gmail.com> <roy@anthropic.com> Sebastijan Kelnerič <sebastijan.kelneric@sebba.dev> Sebastijan Kelnerič <sebastijan.kelneric@sebba.dev> <sebastijan.kelneric@vichava.com> Sergey Onufrienko <sergey@onufrienko.com> Shish <webmaster@shishnet.org> Shish <webmaster@shishnet.org> <shish@shishnet.org> Smit Barmase <0xtimsb@gmail.com> Smit Barmase <0xtimsb@gmail.com> <smit@zed.dev> Thomas <github.thomaub@gmail.com> Thomas <github.thomaub@gmail.com> <thomas.aubry94@gmail.com> Thomas <github.thomaub@gmail.com> <thomas.aubry@paylead.fr> Thomas Heartman <thomasheartman+github@gmail.com> Thomas Heartman <thomasheartman+github@gmail.com> <thomas@getunleash.io> Thomas Mickley-Doyle <tmickleydoyle@gmail.com> Thomas Mickley-Doyle <tmickleydoyle@gmail.com> <thomas@zed.dev> Thorben Kröger <dev@thorben.net> Thorben Kröger <dev@thorben.net> <thorben.kroeger@hexagon.com> Thorsten Ball <mrnugget@gmail.com> Thorsten Ball <mrnugget@gmail.com> <me@thorstenball.com> Thorsten Ball <mrnugget@gmail.com> <thorsten@zed.dev> Tristan Hume <tris.hume@gmail.com> Tristan Hume <tris.hume@gmail.com> <tristan@anthropic.com> Uladzislau Kaminski <i@uladkaminski.com> Uladzislau Kaminski <i@uladkaminski.com> <uladzislau_kaminski@epam.com> Vitaly Slobodin <vitaliy.slobodin@gmail.com> Vitaly Slobodin <vitaliy.slobodin@gmail.com> <vitaly_slobodin@fastmail.com> Will Bradley <williambbradley@gmail.com> Will Bradley <williambbradley@gmail.com> <will@zed.dev> WindSoilder <WindSoilder@outlook.com> 张小白 <364772080@qq.com> ```` into ```text 张小白 <364772080@qq.com> Ben Kunkle <ben@zed.dev> Finn Evers <dev@bahn.sh> Agus Zubiaga <agus@zed.dev> amtoaer <amtoaer@gmail.com> Peter Tripp <peter@zed.dev> Pocæus <github@pocaeus.com> Danilo Leal <danilo@zed.dev> Matt Fellenz <matt@felle.nz> Morgan Krey <morgan@zed.dev> Nathan Sobo <nathan@zed.dev> Robert Clover <git@clo4.net> Conrad Irwin <conrad@zed.dev> Ivan Žužak <izuzak@gmail.com> Mikayla Maki <mikayla@zed.dev> Piotr Osiewicz <piotr@zed.dev> Shish <webmaster@shishnet.org> Evren Sen <nervenes@icloud.com> Kirill Bulatov <kirill@zed.dev> Michael Sloan <michael@zed.dev> Angelk90 <angelo.k90@hotmail.it> Max Linke <maxlinke88@gmail.com> Smit Barmase <0xtimsb@gmail.com> Thorben Kröger <dev@thorben.net> Antonio Scandurra <me@as-cii.com> Bennet Bo Fenner <bennet@zed.dev> Brian Tan <brian.tan88@gmail.com> Julia <floc@unpromptedtirade.com> Nigel Jose <nigelmjose@gmail.com> Petros Amoiridis <petros@hey.com> Rashid Almheiri <r.muhairi@pm.me> Thomas <github.thomaub@gmail.com> Boris Cherny <boris@anthropic.com> Nate Butler <iamnbutler@gmail.com> Thorsten Ball <mrnugget@gmail.com> Tristan Hume <tris.hume@gmail.com> Richard Feldman <oss@rtfeldman.com> Greg Morenz <greg-morenz@droid.cafe> Kaylee Simmons <kay@the-simmons.net> Lilith Iris <itslirissama@gmail.com> Marshall Bowers <git@maxdeviant.com> Muhammad Talal Anwar <mail@talal.io> Kyle Caverly <kylebcaverly@gmail.com> Marko Kungla <marko.kungla@gmail.com> WindSoilder <WindSoilder@outlook.com> Alexander Mankuta <alex@pointless.one> Chris Hayes <chris+git@hayes.software> Max Brunsfeld <maxbrunsfeld@gmail.com> Dairon Medina <dairon.medina@gmail.com> Elvis Pranskevichus <elvis@geldata.com> Agus Zubiaga <agus@zed.dev> <hi@aguz.me> Alex Viscreanu <alexviscreanu@gmail.com> Ihnat Aŭtuška <autushka.ihnat@gmail.com> Joseph T. Lyons <JosephTLyons@gmail.com> Uladzislau Kaminski <i@uladkaminski.com> Will Bradley <williambbradley@gmail.com> LoganDark <contact@logandark.mozmail.com> Roy Williams <roy.williams.iii@gmail.com> Sergey Onufrienko <sergey@onufrienko.com> Andrei Zvonimir Crnković <andrei@0x7f.dev> Fernando Tagawa <tagawafernando@gmail.com> Vitaly Slobodin <vitaliy.slobodin@gmail.com> Nathan Sobo <nathan@zed.dev> <nathan@warp.dev> Thomas Mickley-Doyle <tmickleydoyle@gmail.com> Ben Kunkle <ben@zed.dev> <ben.kunkle@gmail.com> Smit Barmase <0xtimsb@gmail.com> <smit@zed.dev> Finn Evers <dev@bahn.sh> <finn.evers@outlook.de> Robert Clover <git@clo4.net> <robert@clover.gdn> amtoaer <amtoaer@gmail.com> <amtoaer@outlook.com> Nate Butler <iamnbutler@gmail.com> <nate@zed.dev> Thomas Heartman <thomasheartman+github@gmail.com> Kaylee Simmons <kay@the-simmons.net> <kay@zed.dev> Peter Tripp <peter@zed.dev> <petertripp@gmail.com> Petros Amoiridis <petros@hey.com> <petros@zed.dev> Pocæus <github@pocaeus.com> <pseudomata@proton.me> Antonio Scandurra <me@as-cii.com> <antonio@zed.dev> Bennet Bo Fenner <bennet@zed.dev> <bennetbo@gmx.de> Matt Fellenz <matt@felle.nz> <matt+github@felle.nz> Michael Sloan <michael@zed.dev> <mgsloan@gmail.com> Nathan Sobo <nathan@zed.dev> <nathansobo@gmail.com> Sebastijan Kelnerič <sebastijan.kelneric@sebba.dev> Shish <webmaster@shishnet.org> <shish@shishnet.org> Kaylee Simmons <kay@the-simmons.net> <keith@zed.dev> Kyle Caverly <kylebcaverly@gmail.com> <kyle@zed.dev> Max Brunsfeld <maxbrunsfeld@gmail.com> <max@zed.dev> Michael Sloan <michael@zed.dev> <mgsloan@google.com> Ivan Žužak <izuzak@gmail.com> <ivan.zuzak@github.com> Richard Feldman <oss@rtfeldman.com> <richard@zed.dev> Thorsten Ball <mrnugget@gmail.com> <thorsten@zed.dev> Conrad Irwin <conrad@zed.dev> <conrad.irwin@gmail.com> Kirill Bulatov <kirill@zed.dev> <mail4score@gmail.com> Marshall Bowers <git@maxdeviant.com> <marshall@zed.dev> Will Bradley <williambbradley@gmail.com> <will@zed.dev> Christian Bergschneider <christian.bergschneider@gmx.de> Elvis Pranskevichus <elvis@geldata.com> <elvis@magic.io> Greg Morenz <greg-morenz@droid.cafe> <morenzg@gmail.com> Thorsten Ball <mrnugget@gmail.com> <me@thorstenball.com> Edwin Aronsson <75266237+4teapo@users.noreply.github.com> Gowtham K <73059450+dovakin0007@users.noreply.github.com> Marko Kungla <marko.kungla@gmail.com> <marko@mkungla.dev> Mikayla Maki <mikayla@zed.dev> <mikayla.c.maki@gmail.com> Mikayla Maki <mikayla@zed.dev> <mikayla.c.maki@icloud.com> Tristan Hume <tris.hume@gmail.com> <tristan@anthropic.com> Thomas <github.thomaub@gmail.com> <thomas.aubry@paylead.fr> Boris Cherny <boris@anthropic.com> <boris@performancejs.com> Kaylee Simmons <kay@the-simmons.net> <keith@the-simmons.net> Thomas <github.thomaub@gmail.com> <thomas.aubry94@gmail.com> Muhammad Talal Anwar <mail@talal.io> <talalanwar@outlook.com> Roy Williams <roy.williams.iii@gmail.com> <roy@anthropic.com> Marshall Bowers <git@maxdeviant.com> <elliott.codes@gmail.com> Thorben Kröger <dev@thorben.net> <thorben.kroeger@hexagon.com> Andrei Zvonimir Crnković <andrei@0x7f.dev> <andreicek@0x7f.dev> Thomas Mickley-Doyle <tmickleydoyle@gmail.com> <thomas@zed.dev> Alexander Mankuta <alex@pointless.one> <alex+github@pointless.one> LoganDark <contact@logandark.mozmail.com> <git@logandark.mozmail.com> Max Linke <maxlinke88@gmail.com> <kain88-de@users.noreply.github.com> Alex Viscreanu <alexviscreanu@gmail.com> <alexandru.viscreanu@kiwi.com> Finn Evers <dev@bahn.sh> <75036051+MrSubidubi@users.noreply.github.com> Nigel Jose <nigelmjose@gmail.com> <nigel.jose@student.manchester.ac.uk> Uladzislau Kaminski <i@uladkaminski.com> <uladzislau_kaminski@epam.com> LoganDark <contact@logandark.mozmail.com> <github@logandark.mozmail.com> Thomas Heartman <thomasheartman+github@gmail.com> <thomas@getunleash.io> Christian Bergschneider <christian.bergschneider@gmx.de> <magiclake@gmx.de> Evren Sen <nervenes@icloud.com> <146845123+evrsen@users.noreply.github.com> Piotr Osiewicz <piotr@zed.dev> <24362066+osiewicz@users.noreply.github.com> Vitaly Slobodin <vitaliy.slobodin@gmail.com> <vitaly_slobodin@fastmail.com> Danilo Leal <danilo@zed.dev> <67129314+danilo-leal@users.noreply.github.com> Angelk90 <angelo.k90@hotmail.it> <20476002+Angelk90@users.noreply.github.com> Bennet Bo Fenner <bennet@zed.dev> <53836821+bennetbo@users.noreply.github.com> Rashid Almheiri <r.muhairi@pm.me> <69181766+huwaireb@users.noreply.github.com> Evren Sen <nervenes@icloud.com> <146845123+evrensen467@users.noreply.github.com> Joseph T. Lyons <JosephTLyons@gmail.com> <JosephTLyons@users.noreply.github.com> Lilith Iris <itslirissama@gmail.com> <83819417+Irilith@users.noreply.github.com> Fernando Tagawa <tagawafernando@gmail.com> <fernando.tagawa.gamail.com@gmail.com> Julia <floc@unpromptedtirade.com> <30666851+ForLoveOfCats@users.noreply.github.com> Sebastijan Kelnerič <sebastijan.kelneric@sebba.dev> <sebastijan.kelneric@vichava.com> ``` which looks good. There's a bit of Unicode in there -- though no grapheme clusters. Column number calculations do not seem to handle grapheme clusters either (?) so I thought this is OK. Open questions are: - should this be added to vim mode as well? - is `TextSummary` the way to go here? Is it perhaps too expensive? (it seems fine -- manually counting `char`s seems more brittle -- this way it will stay in sync with column number calculations) --- Team, I realize you [ask for a discussion to be opened first](https://github.com/zed-industries/zed/blob/86161aa427b9e8b18486272ca436c344224e8ba4/CONTRIBUTING.md#L32), so apologies for not doing that! It turned out hacking on Zed was much easier than expected (it's really nice!), and this change is small, adding a variation to an existing feature. Hope that's fine. Release Notes: - Added feature to sort lines by their length --------- Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Alex Povel and Conrad Irwin created
d87603d
agent: Send stale file notifications using the project_notifications tool (#34005)
This commit introduces the `project_notifications` tool, which proactively pushes notifications to the agent. Unlike other tools, `Thread` automatically invokes this tool on every turn, even when the LLM doesn't ask for it. When notifications are available, the tool use and results are inserted into the thread, simulating an LLM tool call. As with other tools, users can disable `project_notifications` in Profiles if they do not want them. Currently, the tool only notifies users about stale files: that is, files that have been edited by the user while the agent is also working on them. In the future, notifications may be expanded to include compiler diagnostics, long-running processes, and more. Release Notes: - Added `project_notifications` tool
Oleksiy Syvokon created
de9053c
keymap_ui: Add ability to edit context (#34019)
Closes #ISSUE Adds a context input to the keybind edit modal. Also fixes some bugs in the keymap update function to handle context changes gracefully. The current keybind update strategy implemented in this PR is * when the context doesn't change, just update the binding in place * when the context changes, but the binding is the only binding in the keymap section, update the binding _and_ context in place * when the context changes, and the binding is _not_ the only binding in the keymap section, remove the existing binding and create a new section with the update context and binding so as to avoid impacting other bindings Release Notes: - N/A *or* Added/Fixed/Improved ...
Ben Kunkle created
ddf3d99
Add g-w rewrap keybind for vim visual mode (#33853)
There are both `g q` and `g w` keybinds for rewrapping in normal mode, but `g w` is missing in visual mode. This PR adds that keybind. Release Notes: - Add `g w` rewrap keybind for vim visual mode
Hilmar Wiegand created
c35af6c
Fix panic with Helix mode changing case (#34016)
Closes #33750 Release Notes: - Fixed a panic when trying to change case in Helix mode
Richard Feldman created
6cb382c
debugger: Make exception breakpoints persistent (#34014)
Closes #33053 Release Notes: - Exception breakpoint state is now persisted across debugging sessions.
Piotr Osiewicz created
966e75b
tools: Ensure `properties` always exists in JSON Schema (#34015)
OpenAI API requires `properties` to be present, even if it's empty. Release Notes: - N/A
Oleksiy Syvokon created
861ca05
Support loading environment from plan9 `rc` shell (#33599)
Closes: https://github.com/zed-industries/zed/issues/33511 Add support for loading environment from Plan9 shell Document esoteric shell behavior. Remove two useless tests. Follow-up to: - https://github.com/zed-industries/zed/pull/32702 - https://github.com/zed-industries/zed/pull/32637 Release Notes: - Add support for loading environment variables from Plan9 `rc` shell.
Peter Tripp created
f785853
ssh: Fix incorrect handling of ssh paths that exist locally (#33743)
- Closes: https://github.com/zed-industries/zed/issues/33733 I also tested that remote canonicalization of symlink directories still works. (e.g. `zed ssh://hostname/~/foo` where `foo -> foobar` will open `~/foobar` on the remote). I believe this has been broken since 2024-10-11 from https://github.com/zed-industries/zed/pull/19057. CC: @SomeoneToIgnore. I guess I'm the only person silly enough to run `zed ssh://hostname/tmp`. Release Notes: - ssh: Fixed an issue where Zed incorrectly canonicalized paths locally prior to connecting to the ssh remote.
Peter Tripp created
82aee6b
Another lsp tool UI migration (#34009)
https://github.com/user-attachments/assets/54182f0d-43e9-4482-89b9-94db5ddaabf8 Release Notes: - N/A
Kirill Bulatov created
955580d
Adjust Go outline query for method definition to avoid pesky whitespace (#33971)
Closes #33951 There's an adjustment that kicks in to extend `name_ranges` when we capture more than one `@name` for an outline `@item`. That was happening here because we captured both the parameter name for the method receiver and the name of the method as `@name`. It seems like only the second one should have that annotation. Release Notes: - Fixed extraneous leading space in `$ZED_SYMBOL` when used with Go methods.
Cole Miller created
c99e42a
windows: Properly handle surrogates (#34006)
Closes #33791 Surrogate pairs are now handled correctly, so input from tools like `WinCompose` is properly received. Release Notes: - N/A
张小白 created
018dbfb
agent: Show line numbers of symbols when using `@symbol` (#34004)
Closes #ISSUE Release Notes: - N/A
Bennet Bo Fenner created