Commit log

c8aa6b5 Fix docs

Jakub Konka created

4a74b86 Fix ssh::build_command

Jakub Konka created

cc2d13d Fix clippy

Jakub Konka created

7885d72 Remove runaway dbg! statements

Jakub Konka created

d3dda24 Weed out shlex from project crate

Jakub Konka created

3df7ee7 PathExt::try_shell_safe now accepts ShellKind as arg

Jakub Konka created

11fc8be Weed out shlex from dap_adapters crate

Jakub Konka created

cb91a4b Weed out shlex from debugger_ui crate

Jakub Konka created

40b1c07 Completely weed out shlex from remote crate

Jakub Konka created

f1151a6 Use shell_kind for quoting in ssh module

Jakub Konka created

ab9cea3 Weed out shlex from wsl module

Click to expand commit body
Co-authored-by: Lukas Wirth <me@lukaswirth.dev>

Jakub Konka and Lukas Wirth created

c7cfa5b Clean up remote client invocation

Click to expand commit body
Co-authored-by: Lukas Wirth <me@lukaswirth.dev>

Jakub Konka and Lukas Wirth created

0c3c1a2 Fix rebase gone bad

Jakub Konka created

1abdae2 shell: Clean up try_quote tests

Jakub Konka created

cedb96d shell: Fold double backslash into single backslash in PS and CMD

Jakub Konka created

1beeb30 shell: Add const fn returning if TTY should escape args on Windows

Jakub Konka created

b5f4b08 Move shell_builder to util crate

Click to expand commit body
Gather some examples of quotes gone bad!

Co-authored-by: Lukas Wirth <me@lukaswirth.dev>

Jakub Konka and Lukas Wirth created

23e9e32 emacs: Improve default keymap to better match the emacs behavior (#40631)

Click to expand commit body
Hello,
I am having a great time setting up the editor, but with a few problems
related to the Emacs keymap.

In this PR I have compiled changes in the default `emacs.json` that I
believe make the onboarding smoother for incoming emacs users.
This includes points that may need further discussion and some breaking
changes, although nothing that cannot be reverted with a quick
`keymap.json` overwrite.

(Please let me know if it is better to split up the PR)

### 1. Avoid fallbacks to the default keymap
all platforms:
- `ctrl-g` activating `go_to_line::Toggle` when there is nothing to
cancel

linux / windows:
- `ctrl-x` activating `editor::Cut` on the 1 second timeout
- `ctrl-p` activating `file_finder::Toggle` when the cursor is on the
first character of the buffer
- `ctrl-n` activating `workspace::NewFile` when the cursor is on the
last character of the buffer

### 2. Make all move commands operate on full words
In the current Zed implementation some commands run on full words and
others on subwords.
Although ultimately a matter of user preference, I think it is sensible
to use full words as the default, since that is what is shipped with
emacs.

### ~~3. Cancel selections after copy/cut commands~~ Moved to #40904
Canceling the selection is the default emacs behavior, but the way to
achieve it might need some brushing.
Currently I am using `workspace::SendKeystrokes` to copy ->
cancel(`ctrl-g`), but this has the following problems:
- can only be used in the main buffer (since `editor::Cancel` would
typically close secondary buffers)
- may cause problems downstream if the user overwrites the `ctrl-g`
binding

### ~~4. Replace killring with normal cut/paste commands~~ Moved to
#40905
Ideally Zed would support emacs-like killrings (#25270 and #22490).
However, I understand that making an emacs emulator is not a project
goal, and the Zed team should have a bunch of tasks with higher
priority.

By using a unified clipboard and standard cut/paste commands, we can
provide an experience that is closer to the out-of-the-box emacs
behavior (#33351) while also avoiding some pitfalls of the current
killring implementation (#28715).

### 5. Promote some bindings to workspace commands
- `alt-x` as `command_palette::Toggle`
- `ctrl-x b` and `ctrl-x ctrl-b` as `tab_switcher::Toggle`

---

Release Notes:

- emacs: Fixed a problem where keys would fallback to their default
keymap binding on certain conditions
- emacs: Changed `alt-f` and `alt-b` to operate on full words, as in the
emacs default
- emacs: `alt-x`, `ctrl-x b`, and `ctrl-x ctrl-b` are now Workspace
bindings

Affonso, Guilherme created

b207da5 gpui: Re-land uniform list scroll fixes (#40899)

Click to expand commit body
Re-lands https://github.com/zed-industries/zed/pull/40719, fixes the
bugs that were discovered with it and improves some more stuff in that
area

Release Notes:

- Fixed a rare issue where the extension page would stutter while
scrolling.

---------

Co-authored-by: Agus Zubiaga <agus@zed.dev>

Finn Evers and Agus Zubiaga created

a246019 agent: Improve discoverability of the quote selection action (#40897)

Click to expand commit body
This PR renames the `agent::QuoteSelection` to
`agent::AddSelectionToThread` _and_ adds it as a menu item in both the
right-click context menu within regular buffers as well as the
"Selection" app menu.

We've received feedback in the past about how hard to discover this
feature is, and after watching [the Syntax podcast
crew](https://www.youtube.com/watch?v=bRK3PeVFfVE) recently struggle
with doing so—and then naturally looking for it in the context menu and
not finding it—it felt like time to push a change. I think the rename +
the availability in these places could help bringing it to surface more.

The same action can be done in Cursor through the `cmd-l` keybinding,
but in Zed, that triggers `editor::SelectLine`, which I don't want to
override by default. However, if you're using Cursor's keymap, then
`cmd-l` does trigger this action, as expected.

<img width="500" height="1812" alt="Screenshot 2025-10-22 at 12  01@2x"
src="https://github.com/user-attachments/assets/dfc2c41c-8d0a-4a1a-8ea1-1bd5d1aa1171"
/>


Release Notes:

- agent: Improves discoverability of the previously called "quote
selection" action—which allows to add a text selection in a buffer as
context within the agent panel—by renaming it to "add selection to
thread" and making it available from the right-click editor context menu
as well as the "Selection" app menu.

Danilo Leal created

3a12122 Revert "keymaps: Update defaults for inline assist and signature help" (#40903)

Click to expand commit body
Reverts zed-industries/zed#39587

David Kleingeld created

d0398da editor: Fix singleton multibuffer titles not being replicated (#40896)

Click to expand commit body
Release Notes:

- N/A *or* Added/Fixed/Improved ...

Lukas Wirth created

69b2ee7 Bump Zed to v0.211 (#40895)

Click to expand commit body
Release Notes:

- N/A

Joseph T. Lyons created

88bac4d docs: Change tab character representation in docs (#40667)

Click to expand commit body
The suggested `→` appears tiny, and almost looks like just a dot on my
monitor, and I got quite confused for a while thinking the
`whitespace_map.tab` setting wasn't working properly.
<img width="630" height="105" alt="Image"
src="https://github.com/user-attachments/assets/98feced2-39b3-4734-83e4-b4573b4e52c2"
/>

I think it would be really helpful if `⟶` was suggested instead since
that displays properly.
<img width="625" height="104" alt="Image"
src="https://github.com/user-attachments/assets/176886ab-cf88-4079-90a8-91a8e8182092"
/>

---

I am using `Fira Code` as my font on windows, however when I remove that
config to get the default font, it also still appears the same size. So
I don't believe this is just a font issue on my machine.
Thought I am using Windows, so I would be willing to believe this a
render issue specific to windows

Release Notes:

- N/A

Ajani Bilby created

d53efe4 Revert "gpui: Fix uniform list scrolling with vertical padding present" (#40891)

Click to expand commit body
Reverts zed-industries/zed#40719

This unveiled some bigger issues with the UniformList size computations,
which are more crucial than what was fixed here.

Release Notes:

- NOTE: BUGFIX "Fixed a rare issue where the extension page would
stutter while scrolling." was reverted due to some other issues

Finn Evers created

14b41b1 Fix JumpHost on Windows (#40713)

Click to expand commit body
Closes #39382 

Release Notes:

- Fixed Windows specific ssh jumphost connection issues

localcc created

98c7e01 Add new action and handler for opening a specific setting (#40739)

Click to expand commit body
Co-authored-by: Ben Kunkle <ben@zed.dev>

Cameron Mcloughlin and Ben Kunkle created

c81ffaf editor: Use unbounded shifts for chunk bitmaps (#40879)

Click to expand commit body
This simplifies some code and is also more correct in some others (I
believe some of these might've overflowed causing panics in sentry)

Release Notes:

- N/A *or* Added/Fixed/Improved ...

Lukas Wirth created

bd69124 Add option to disable crash handler (#40799)

Click to expand commit body
Extra info needed for #39289. To be tested out next nightly build...

Release Notes:

- N/A

Co-authored-by: Cole Miller <m@cole-miller.net>

Nia and Cole Miller created

77dbe08 project_panel: Fix buffer focus when canceling filename edit (#40747)

Click to expand commit body
Closes #37726

Release Notes:

- Fixed an issue where the buffer would not regain focus when clicked
while a filename edit was in progress in the project panel.

---------

Co-authored-by: Smit Barmase <heysmitbarmase@gmail.com>

Samuel Oldham and Smit Barmase created

252b75e Disable slang-server for verilog extension (#40442)

Click to expand commit body
Should be merged with
https://github.com/zed-industries/extensions/pull/3584, which adds
`slang-server` as a new language server, but should be disabled by
default due to an issue with it not initializing on Windows and being a
relatively new language server in general.

Release Notes:

- N/A

Owen Law created

bc0bace Add basic ico support (#40822)

Click to expand commit body
Closes https://github.com/zed-industries/zed/discussions/40763

<img width="867" height="1088" alt="Screenshot 2025-10-21 at 23 14 47"
src="https://github.com/user-attachments/assets/d691fb2a-afc6-4445-a335-054ef164e0d3"
/>

Also improves error handling on image open failure:

<img width="864" height="1083" alt="Screenshot 2025-10-21 at 23 14 30"
src="https://github.com/user-attachments/assets/d5388b61-995f-441b-b375-ad5136d1533b"
/>


Release Notes:

- Added basic ico support, improved unsupported image handling

Kirill Bulatov created

8ceb2f2 Add more tweaks to the troubleshooting docs (#40870)

Click to expand commit body
Release Notes:

- N/A

Joseph T. Lyons created

25de2ac Correct workspace db directory paths (#40868)

Click to expand commit body
Release Notes:

- N/A

Joseph T. Lyons created

8bad2cb Add another informational blog post to docs (#40865)

Click to expand commit body
Release Notes:

- N/A

Joseph T. Lyons created

762af09 Add more troubleshooting information (#40864)

Click to expand commit body
Release Notes:

- N/A

Joseph T. Lyons created

3d3e913 collab: Pin sea-orm-macro crate version together with sea-orm (#40846)

Click to expand commit body
Currently running `cargo update` on Zed will break the collab crate
because the versions of sea-orm and sea-orm-macros will not match. This
results in a bunch of noisy warnings from rust-analyzer.

Release Notes:

- N/A

Be created

fd9c2e3 Organize release docs (#40860)1

Click to expand commit body
Release Notes:

- N/A

Joseph T. Lyons created

08d95ad chore: Bump gpui to 0.2.2 (#40856)

Click to expand commit body
Release Notes:

- N/A

Mikayla Maki created

d096132 docs: Add git stash to git.md (#40834)

Click to expand commit body
Closes #ISSUE

Release Notes:

- Added git stash documentation

Alvaro Parker created

d7c8555 Update async-tar dependency for GPUI (#40850)

Click to expand commit body
Release Notes:

- N/A

Mikayla Maki created

9c71a7f Revert arm64 runners (#40852)

Click to expand commit body
Release Notes:

- N/A

Mikayla Maki created

221637e Fix code signing for Windows installer (#40847)

Click to expand commit body
Release Notes:

- N/A

Co-authored-by: Mikayla Maki <mikayla.c.maki@gmail.com>
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>

John Tur , Mikayla Maki , and Conrad Irwin created

e468edd Fix extraction of font runs from text runs (#40840)

Click to expand commit body
Fixes a bug in https://github.com/zed-industries/zed/pull/39928

The bug caused all completions to appear in bold-face

Release Notes:

- Fixed a bug where bold-face font was applied to the wrong characters
in items in the autocomplete menu

Co-authored-by: Mikayla Maki <mikayla.c.maki@gmail.com>

Max Brunsfeld and Mikayla Maki created

2903a06 Fix nightly upload on Windows (#40843)

Click to expand commit body
Release Notes:

- N/A

John Tur created

2338164 Revert "title_bar: Add configurable window controls position (#38834)" (#40839)

Click to expand commit body
This reverts commit b479d1ef49120c5b7d8a319d918ac18c398d1d3b.

This PR was accidentally merged prematurely.
https://github.com/zed-industries/zed/pull/38834#issuecomment-3424186051

cc @danilo-leal

Release Notes:

- N/A

Be created

2deafd8 project_panel: Don't show trash dialog on remote connections (#40838)

Click to expand commit body
In remote connections, we don't detect whether trashing is possible and
generally shouldn't assume it is. This also fixes up some incomplete
logic that was attempting to do that.

Closes #39212

Release Notes:

- No longer show trash option in remote projects

Nia created

0c13403 settings_ui: Add broken file warning banner (#40823)

Click to expand commit body
Closes #ISSUE

Release Notes:

- settings_ui: Added a warning banner when the settings file you are
actively editing is in a broken or invalid state.

Ben Kunkle created

8f3da5c settings_ui: Add pickers for theme and icon themes (#40829)

Click to expand commit body
In the process of adding pickers for the theme and icon themes fields in
the settings UI, I felt like there was an improvement opportunity in
regards to where some of these components are stored. The `ui_input`
crate originally was meant only for the text field-like component, which
couldn't be in the regular `ui` crate due to the dependency with
`editor`. Given we had also added the number field there—which is
similar in also having the same dependency—it made sense to think of
this crate more like a home for form-like components rather than for
only one component.

However, we were also storing some settings UI-specific stuff in that
crate, which didn't feel right. So I ended up creating a new directory
within the `settings_ui` for components and moved all the pickers and
the custom input field there. I think this makes it for a cleaner
structure.

Release Notes:

- settings_ui: Added the ability to search for theme and icon themes in
their respective fields.

Danilo Leal created

b519f53 Rope benchmarks: Generate random strings measured in bytes, not chars (#39951)

Click to expand commit body
Follows on from https://github.com/zed-industries/zed/pull/39949.

Again I'm not 100% sure of the intent but I think this is a fix:

`generate_random_string(rng, 4096)` would previously give you a string
of 4096 *chars* which could be anywhere between 4kB and 16kB in bytes.
This seems probably not what was intended, because Ropes generally work
in bytes not chars, including for the offsets used to index into them.

This seems to possibly cause a _regression_ in benchmark performance,
which is surprising because it should generally cause smaller test data.
But, possibly it's doing better at exercising different paths?

cc @mrnugget 

Release Notes:

- N/A

Martin Pool created