Commit log

851121f docs: Document how to load extension grammars from the local FS during development (#30817)

Click to expand commit body
Loading a local grammar could be useful if you're developing the
extension and the grammar in tandem, and a user pointed out that our
docs don't make it obvious that it's possible at all.

Release Notes:

- N/A

Cole Miller created

e48daa9 debugger: Remember focused item (#30722)

Click to expand commit body
Release Notes:

- Debugger Beta: the `debug panel: toggle focus` action now preserves
the debug panel's focused item.

Cole Miller created

d9f1287 collab: Add `POST /billing/subscriptions/sync` endpoint (#30956)

Click to expand commit body
This PR adds a new `POST /billing/subscriptions/sync` endpoint that can
be used to sync a user's billing subscriptions from Stripe.

Release Notes:

- N/A

Marshall Bowers created

42dd511 git: Don't filter local upstreams from branch picker (#30557)

Click to expand commit body
Release Notes:

- Fixed local git branches being excluded from the branch selector when
they were set as the upstream of another local branch.

Cole Miller created

571c5e7 Fix `ctrl-delete` in terminal (#30720)

Click to expand commit body
Closes #30719

Release Notes:

- Fixed `ctrl-delete` in terminal, now it deletes a word forward

Aleksei Gusev created

c762952 collab: Factor out subscription kind determination (#30955)

Click to expand commit body
This PR factors out the code that determines the `SubscriptionKind` into
a separate method for reusability purposes.

Release Notes:

- N/A

Marshall Bowers created

b057b46 Simplify docs preprocessing (#30947)

Click to expand commit body
Closes #ISSUE

This was done as part of experimental work towards better validation of
our docs. The validation ended up being not worth it, however, I believe
this refactoring is

Release Notes:

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

Ben Kunkle created

57424e4 language_models: Update tiktoken-rs to support newer models (#30951)

Click to expand commit body
I was able to get this fix in upstream, so now we can have simpler code
paths for our model selection.

I also added a test to catch if this would cause a bug again in the
future.

Release Notes:

- N/A

Ben Brandt created

2b6dab9 agent: Fix OpenAI models not getting first message (#30941)

Click to expand commit body
Closes #30733

Release Notes:

- N/A

Oleksiy Syvokon created

70b0c4d gpui: Replace Mutex with RefCell for SubscriberSet (#30907)

Click to expand commit body
`SubscriberSet` is `!Send` and `!Sync` because the `active` field of
`Subscriber` is `Rc`.

Release Notes:

- N/A

laizy created

875d1ef agent: Fix path checks in edit_file (#30909)

Click to expand commit body
- Fixed bug where creating a file failed when the root path wasn't
provided

- Many new checks for the edit_file path

Closes #30706

Release Notes:

- N/A

Oleksiy Syvokon created

e1a2e8a agent: Adjust codeblock design across edit file tool call card and Markdown (#30931)

Click to expand commit body
This PR makes the edit tool call codeblock cards expanded by default, to
be consistent with https://github.com/zed-industries/zed/pull/30806.
Also, I am removing the collapsing behavior of Markdown codeblocks where
we'd add a gradient while capping the container's height based on an
arbitrary number of lines. Figured if they're all now initially
expanded, we could simplify how the design/code operates here
altogether.

Open for feedback, as I can see an argument where the previous Markdown
codeblock design of "collapsed but not fully; it shows a preview" should
stay as it is useful.

Release Notes:

- N/A

Danilo Leal created

a829281 Fix prevent zero value for buffer line height (#30832)

Click to expand commit body
Closes #30802 

Release Notes:

- Fixed issue where setting `buffer_line_height.custom` to 0 would cause
text to disappear

---------

Co-authored-by: Michael Sloan <michael@zed.dev>

Sergei Kartsev and Michael Sloan created

592568f docs: Add a missing comma in AI configuration docs (#30928)

Aleksei Voronin created

83afe56 Add a way to import ssh host names from the ssh config (#30926)

Click to expand commit body
Closes https://github.com/zed-industries/zed/issues/20016

Use `"read_ssh_config": false` to disable the new behavior.

Release Notes:

- Added a way to import ssh host names from the ssh config

---------

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

Kirill Bulatov and Cole Miller created

e468f9d Remove unsaved text thread from recent history when switching away (#30918)

Click to expand commit body
Bug found by @SomeoneToIgnore 

Release Notes:

- N/A

Michael Sloan created

1ce2652 agent: Create checkpoints when editing a past message (#30831)

Click to expand commit body
Release Notes:

- N/A

Max Brunsfeld created

784d51c Fix pane deduplication for unsaved buffers that have no path (#30834)

Click to expand commit body
For example, running `zed some-new-path` multiple times would open
multiple tabs.

Release Notes:

- N/A

Co-authored-by: Max <max@zed.dev>

Michael Sloan and Max created

0079c99 editor: Add python indentation tests (#30902)

Click to expand commit body
This PR add tests for a recent PR: [language: Fix indent suggestions for
significant indented languages like
Python](https://github.com/zed-industries/zed/pull/29625)

It also covers cases from past related issues so that we don't end up
circling back to them on future fixes.

- [Python incorrect auto-indentation for
except:](https://github.com/zed-industries/zed/issues/10832)
- [Python for/while...else indention overridden by if statement
](https://github.com/zed-industries/zed/issues/30795)
- [Python: erroneous indent on newline when comment ends in
:](https://github.com/zed-industries/zed/issues/25416)
- [Newline in Python file does not indent
](https://github.com/zed-industries/zed/issues/16288)
- [Tab Indentation works incorrectly when there are multiple
cursors](https://github.com/zed-industries/zed/issues/26157)

Release Notes:

- N/A

Smit Barmase created

230eb12 docs: Fix incorrect info in C# documentation (#30891)

Click to expand commit body
`ignore_system_version` does not work for extensions.

Release Notes:

- N/A

Peter Tripp created

dd3956e Add a picker for `jj bookmark list` (#30883)

Click to expand commit body
This PR adds a new picker for viewing a list of jj bookmarks, like you
would with `jj bookmark list`.

This is an exploration around what it would look like to begin adding
some dedicated jj features to Zed.

This is behind the `jj-ui` feature flag.

Release Notes:

- N/A

Marshall Bowers created

122d6c9 Upgrade `tempfile` to v3.20.0 (#30886)

Click to expand commit body
This PR upgrades our `tempfile` dependency to v3.20.0.

Pulling out of https://github.com/zed-industries/zed/pull/30883.

Release Notes:

- N/A

Marshall Bowers created

19e89a8 agent: Scroll to the bottom after sending a new message (#30878)

Click to expand commit body
Closes https://github.com/zed-industries/zed/issues/30572

Release Notes:

- agent: Improved UX by scrolling to the bottom of the thread after
submitting a new message or editing a previous one.

Danilo Leal created

919ffe7 docs: Refine some agent-related pages (#30884)

Click to expand commit body
Release Notes:

- N/A

Danilo Leal created

841a4e3 Update `.mailmap` (#30874)

Click to expand commit body
This PR updates the `.mailmap` file to merge some more commit authors.

Release Notes:

- N/A

Marshall Bowers created

175ce05 docs: Fix broken links in AI docs (#30872)

Click to expand commit body
This PR fixes some broken links in the AI docs.

Release Notes:

- N/A

Marshall Bowers created

e518941 Add PR 15352 to `.git-blame-ignore-revs` (#30870)

Click to expand commit body
This PR adds https://github.com/zed-industries/zed/pull/15352 to the
`.git-blame-ignore-revs` file.

Release Notes:

- N/A

Marshall Bowers created

10b8174 docs: Inform users about the supports_tools flag (#30839)

Click to expand commit body
Closes #30115 

Release Notes:

- Improved documentation on Ollama `supports_tools` feature.

---------

Signed-off-by: Logan Blyth <logan@githedgehog.com>
Co-authored-by: Ben Kunkle <ben@zed.dev>

Logan Blyth and Ben Kunkle created

21fd1c8 python: Fix highlighting of built-in types for `isinstance` and `issubclass` (#30807)

Click to expand commit body
When built-in types such as `list` is specified in calls like
`isinstance()`, the parameter is highlighted as a type.
    
The issue is caused by a change which removed `list` and others in
bf9e5b4f761b507310d744553e29ba6fdeb3c89a.
    
This commit makes two special cases for `isinstance` and `issubclass`
ensuring tree sitter to highlight the parameters correctly.

Fixes #30331

Release Notes:

- python: Fixed syntax highlighting for `isinstance()` and
`issubclass()` calls

Co-authored-by: László Vaskó <1771332+vlaci@users.noreply.github.com>

Zsolt Cserna and László Vaskó created

c80bd69 language_models: Don't mark local subscription binding as unused (#30867)

Click to expand commit body
This PR removes an instance of marking a local `Subscription` binding as
unused.

While we `_` the field to prevent unused warnings, the locals shouldn't
be marked as unused as we do use them (and want them to participate in
usage tracking).

Release Notes:

- N/A

Marshall Bowers created

03419da ui_macros: Remove `DerivePathStr` macro (#30862)

Click to expand commit body
This PR removes the `DerivePathStr` macro, as it is no longer used.

Also removes the `PathStaticStr` macro from `gpui_macros`, which was
also unused.

Release Notes:

- N/A

Marshall Bowers created

f56960a Fix project search unsaved edits (#30864)

Click to expand commit body
Closes #30820

Release Notes:

- Fixed an issue where entering a new search in the project search would
drop unsaved edits in the project search buffer

---------

Co-authored-by: Mark Janssen <20283+praseodym@users.noreply.github.com>

Ben Kunkle and Mark Janssen created

4d82792 ui: Remove usage of `DerivePathStr` macro (#30861)

Click to expand commit body
This PR updates the `KnockoutIconName` and `VectorName` enums to
manually implement the `path` method instead of using the
`DerivePathStr` macro.

Release Notes:

- N/A

Marshall Bowers created

25b4591 docs: Fix duplicate and misordered YAML patterns in Ansible config (#30859)

Click to expand commit body
Release Notes:

- N/A

Vivien Maisonneuve created

afbf527 Remove Repology badge from README (#30857)

Click to expand commit body
This PR removes the Repology badge from the README.

At time of writing, the majority of the packages listed here are
woefully out of date:

<img width="299" alt="Screenshot 2025-05-17 at 8 44 16 AM"
src="https://github.com/user-attachments/assets/c45afba3-72ac-488d-a067-1fb0e237c7c0"
/>

This isn't a good look for someone coming to the Zed repository for the
first time.

I've added a link to the Repology list in the "Linux" section of the
docs for people who are interested in checking the packaging status in
various repos.

Release Notes:

- N/A

Marshall Bowers created

eb9ea20 Add missing "no" in .rules (#30748)

Click to expand commit body
I have no clue how much this does/does not impact model behavior - if
you don't think it matters, just close the PR

Release Notes:

- N/A

---------

Co-authored-by: Marshall Bowers <git@maxdeviant.com>

Erik Funder Carstensen and Marshall Bowers created

3d2ab4e build: Remove -all_load linker argument on macOS (#30656)

Click to expand commit body
This fixes builds in nix development shell on macOS

Release Notes:

- N/A

Stanislav Alekseev created

ff0060a Remove unnecessary result in line shaping (#30721)

Click to expand commit body
Updates #29879

Release Notes:

- N/A

Conrad Irwin created

d791c6c vim: Add `g M` motion to go to the middle of a line (#30227)

Click to expand commit body
Adds the "g M" vim motion to go to the middle of the line.

---------

Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>

Alex Shen and Conrad Irwin created

c7725e3 terminal: Implement basic Japanese IME support on macOS (#29879)

Click to expand commit body
## Description

This PR implements basic support for Japanese Input Method Editors
(IMEs) in the Zed terminal on macOS, addressing issue #9900. Previously,
users had to switch input modes to confirm Japanese text, and pre-edit
(marked) text was not displayed.

With these changes:

- **Marked Text Display:** Pre-edit text (e.g., underlined characters
during Japanese composition) is now rendered directly in the terminal at
the cursor's current position.
- **Composition Confirmation:** Pressing Enter correctly finalizes the
IME composition, clears the marked text, and sends the confirmed string
to the underlying PTY process. This allows for a more natural input flow
similar to other macOS applications like iTerm2.
- **State Management:** IME state (marked text and its selected range
within the marked text) is now managed within the `TerminalView` struct.
- **Input Handling:** `TerminalInputHandler` has been updated to
correctly process IME callbacks (`replace_and_mark_text_in_range`,
`replace_text_in_range`, `unmark_text`, `marked_text_range`) by
interacting with `TerminalView`.
- **Painting Logic:** `TerminalElement::paint` now fetches the marked
text and its range from `TerminalView` and renders it with an underline.
The standard terminal cursor is hidden when marked text is present to
avoid visual clutter.
- **Candidate Window Positioning:**
`TerminalInputHandler::bounds_for_range` now attempts to provide more
accurate bounds for the IME candidate window by using the actual painted
bounds of the pre-edit text, falling back to a cursor-based
approximation if necessary.

This significantly improves the usability of the Zed terminal for users
who need to input Japanese characters, bringing the experience closer to
system-standard IME behavior.

## Movies


https://github.com/user-attachments/assets/be6c7597-7b65-49a6-b376-e1adff6da974

---

Closes #9900

Release Notes:

- **Terminal:** Implemented basic support for Japanese Input Method
Editors (IMEs) on macOS. Users can now see pre-edit (marked) text as
they type Japanese and confirm their input with the Enter key directly
in the terminal. This provides a more natural and efficient experience
for Japanese language input. (Fixes #9900)

---------

Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>

Gen Tamura and Conrad Irwin created

e26620d gpui: Add a standard text example (#30747)

Click to expand commit body
This is a dumb first pass at a standard text example. We'll use this to
start digging in to some text/scale rendering issues.

There will be a ton of follow-up features to this, but starting simple.

Release Notes:

- N/A

Nate Butler created

9dabf49 agent: Only focus on the context strip if it has items to display (#30379)

Ben Brandt created

f2dcc98 agent: Improve layout shift in the previous message editor (#30825)

Click to expand commit body
This PR also moves the context strip to be at the top, so it matches the
main message editor, making the arrow-up keyboard interaction to focus
on it to work the same way.

Release Notes:

- agent: Made the previous message editing UX more consistent with the
main message editor.

Danilo Leal created

23bbfc4 Run ignored test when running single test (#30830)

Click to expand commit body
Release Notes:

- languages: Run ignored test if user wants to run one specific test

Jakob Herpel created

98aefcc windows: Some refactor (#30826)

Click to expand commit body
Release Notes:

- N/A

张小白 created

9be1e9a debugger: Prevent pane context menu from showing on secondary mouse click in list entries (#30781)

Click to expand commit body
This PR prevents the debug panel pane context menu from showing when you
click your secondary mouse button in **stackframe**, **breakpoint** and
**module** list entries.

Release Notes:

- N/A

Remco Smits created

33b60bc debugger: Fix inline values panic when selecting stack frames (#30821)

Click to expand commit body
Release Notes:

- debugger beta: Fix panic that could occur when selecting a stack frame
- debugger beta: Fix inline values not showing in stack trace view

Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
Co-authored-by: Remco Smits <djsmits12@gmail.com>

Anthony Eid , Bennet Bo Fenner , and Remco Smits created

0355b9d editor: Fix line comments not extending when adding new line immediately after slash (#30824)

Click to expand commit body
This PR fixes a bug where comments don't extend when cursor is right
next to the second slash. We added `// ` as a prefix character to
correctly position the cursor after a new line, but this broke comment
validation by including that trailing space, which it shouldn't.

Now both line comments and block comments (already handled in JSDoc PR)
can extend right after the prefix without needing an additional space.

Before:


https://github.com/user-attachments/assets/ca4d4c1b-b9b9-4f1b-b47a-56ae35776f41

After:


https://github.com/user-attachments/assets/b3408e1e-3efe-4787-ba68-d33cd2ea8563

Release Notes:

- Fixed issue where comments weren't extending when adding new line
immediately after comment prefix (`//`).

Smit Barmase created

6bec76c agent: Allow dismissing previous message by clicking on the backdrop (#30822)

Click to expand commit body
Release Notes:

- agent: Improved UX for dismissing an edit to a previous message.

Danilo Leal created

d4f47aa client: Add support for HTTP/HTTPS proxy (#30812)

Click to expand commit body
Closes #30732

I tested it on my machine, and the HTTP proxy is working properly now.

Release Notes:

- N/A

张小白 created