Commit log

19e7ee5 Remove BACKWARDS from buffer search settings

Click to expand commit body
This is only applicable to vim search.

Michael Benfield created

76fed22 ep: Add file deletion support in unified diff parsing (#46279)

Click to expand commit body
- Replace `is_new_file: bool` with `FileStatus` enum
(Created/Modified/Deleted) in udiff.rs to properly track file status
through diff operations
- Handle deleted files in `apply_diff` by calling
`project.delete_file()`
- Fix diff serialization in reorder_patch.rs to output `+++ /dev/null`
for file deletions and parse both `--- /dev/null` and `+++ /dev/null`
correctly
- Add bounds check for edit ranges exceeding buffer length

Also includes edit_prediction_cli improvements:
- Track `context_range` and `editable_range` in ExampleBuffer for more
precise prompt formatting
- Export MAX_CONTEXT_TOKENS and MAX_REWRITE_TOKENS from zeta2
- Wait for buffer parsing before computing ranges
- Respect NO_COLOR env var and enable info-level logging


Release Notes:

- N/A

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

Oleksiy Syvokon and Agus Zubiaga created

30dc8c5 ep cli: More substatus granularity (#46266)

Click to expand commit body
Helps narrow down steps that are taking too long

Release Notes:

- N/A

Agus Zubiaga created

3e8d013 Polish the Closed Bugs GH workflow (#46271)

Click to expand commit body
Remove the attempts to have these issues land in the same 'inbox' (the
existing project board for triage). Since they're closed, the automated
workflow of the project board will move them to the 'Closed'
column/status even with the API call specifically moving them to
'Incoming' instead. It is what it is, we'll have a separate project
board for this.

Also:
- don't look at comments on PRs
- don't freak out if the issue has no type
- add a permissions block as a defensive measure (in case someone adds
secrets.GITHUB_TOKEN later)
- add a timeout to avoid hanging out for six hours or whatever the
default is
- add some logging.

Release Notes:

- N/A

Lena created

49c4dcb ep: Fix code block extraction to require closing fence at line start (#46270)

Click to expand commit body
`extract_last_codeblock` was using `find()` to locate closing fences,
which would match backticks anywhere in the text. This caused incorrect
parsing when the content contained inline backticks or nested code
blocks, resulting in wrong diffs.

Fix by requiring the closing fence to be preceded by a newline.
Release Notes:

- N/A

Oleksiy Syvokon created

69acab7 Let agent see output of killed terminal tools (#46218)

Click to expand commit body
Previously, if you stopped the terminal prematurely, the agent would
assume the terminal process had timed out. Now it knows what happened
and can see the output:

<img width="718" height="885" alt="Screenshot 2026-01-07 at 12 40 23 AM"
src="https://github.com/user-attachments/assets/a5ea14b2-249c-4ada-9f20-d6b608f829e5"
/>


Release Notes:
- Stopping the terminal tool now allows the agent to see its output up
to that point.

Richard Feldman created

1ac2b97 Make tasks inherit their callers priority (#46179)

Click to expand commit body
Additionally this extracts more functionality into the RunnableVariant which is renamed to GpuiRunnable. 

Release Notes:

- N/A

---------

Co-authored-by: Lukas Wirth <lukas@zed.dev>
Co-authored-by: Cole Miller <cole@zed.dev>

Yara 🏳️‍⚧️ , Lukas Wirth , and Cole Miller created

c56b225 Bump Zed to v0.220 (#46265)

Click to expand commit body
Release Notes:

- N/A

Joseph T. Lyons created

a2c233b Do not try to open PDF, zip and other binaries (#46262)

Click to expand commit body
Follow-up to https://github.com/zed-industries/zed/pull/44819

Stop doing this in more cases:

<img width="1728" height="2168" alt="image"
src="https://github.com/user-attachments/assets/a82f7217-3b7a-4ca9-bb12-c3098b3e9913"
/>

Release Notes:

- Do not try to open PDF, zip and other binaries as text

Kirill Bulatov created

f119b97 ep cli: Make the udiff parsing more resilient (#46264)

Click to expand commit body
We will now properly handle `\ No newline at the end of file` after
context lines and repeated occurrences. Also, when line numbers are
present in hunk headers, we will use them to disambiguate the location
when the context is not unique enough.

Release Notes:

- N/A

Agus Zubiaga created

7fa65ea Add action tracking to enable token healing for Sweep (#46212)

Click to expand commit body
Closes #ISSUE

Release Notes:

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

Ben Kunkle created

b41eb6e Add fallback message when preview changelog is empty (#46260)

Click to expand commit body
Avoid publishing preview releasing that say nothing in the release
notes:

<img width="947" height="258" alt="SCR-20260107-ioxx"
src="https://github.com/user-attachments/assets/97204551-8f55-43fb-8c9c-35491a4f1378"
/>

Release Notes:

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

Joseph T. Lyons created

82826e7 ep: Fix revision resolution for tilde expressions (#46258)

Click to expand commit body
When a revision like `abcd~1` wasn't found locally, the function would
fetch and then return `FETCH_HEAD`, which points to the tip of the
fetched branch rather than the requested revision expression.

Now it re-resolves the original revision after fetching, correctly
handling tilde expressions and other git revision syntax.

Release Notes:

- N/A

Oleksiy Syvokon created

0136e41 ep: Fix incorrect example count in failure summary (#46257)

Click to expand commit body
The 'X of Y examples failed' message was counting completed steps/tasks
instead of actual examples. For example, with 2 examples each going
through Load and Context steps, it would report '1 of 3' instead of '1
of 2'.

Release Notes:

- N/A

Oleksiy Syvokon created

cf8200f Skip worktree trust queries for remote collab project clients (#46256)

Click to expand commit body
Release Notes:

- Skip worktree trust queries for remote collab project clients

Kirill Bulatov created

523c27a ep cli: Clean leftover git locks (#46255)

Click to expand commit body
Sometimes git locks are left over from crashed runs. We now assume
there's only one process of the CLI running and clean them up. If we
want to run multiple processes at the same time, we should consider our
own file-based lock, but it seems fine for an internal tool.

Release Notes:

- N/A

Agus Zubiaga created

134c5e6 ep cli: Handle opening buffers from files created by the edit history (#46254)

Click to expand commit body
Since we don't persist new files to disk, they don't have entries, so we
have to look them up in memory first.

Release Notes:

- N/A

Agus Zubiaga created

1362582 Override project status in Closed Bugs workflow (#46253)

Click to expand commit body
Since the project board to which the closed bugs with new comments are
added might have an automated workflow for moving closed issues to the
"Done" status, we need to override the status to ensure the bugs are
actually surfaced to the team and not buried in "Done".

Release Notes:

- N/A

Lena created

a354473 Fix the action version in Closed Bugs GH workflow (#46251)

Click to expand commit body
fix-up for https://github.com/zed-industries/zed/pull/46249 because
testing github workflows is fun and opus 4.5 thinks it's amusing.

Release Notes:

- N/A

Lena created

754bfad Add GH workflow to surface comments on closed bugs (#46249)

Click to expand commit body
Sometimes bugs come back or are not fixed all the way. We want to
preserve the context of the issue we've closed prematurely so instead of
always making people open a new github issue in this case we want to be
able to notice if someone* comments on a closed bug and decide what to
do about it.

Before:

Bug is closed → A user can again/still reproduce it on a new version and
leaves a comment → Maybe someone sees the notification about it, maybe
not; maybe they see it but forget to act on it right away and it's lost.

After:

Bug is closed → A user can again/still reproduce it on a new version and
leaves a comment → The issue is added to a project board where it's
visible until someone makes a call about it (maybe the comment was “oh
my glob i'm so happy this was fixed” and no action is needed, or maybe
the issue must be reopened as a regression).

*Someone in this case means (1) not a bot, (2) not a member of staff.

Release Notes:

- N/A

Lena created

f845893 ui_input: Only render number field border on focus (#46165)

Click to expand commit body
The `NumberField.render` method was always rendering a `border_1` for
the number input, even when not focused. Even though it was using
`cx.theme().colors().border_transparent`, some themes don't have this
value set to a fully transparent color so it ends up looking a little
bit weird.

As such, this commit updates the way the border is rendered, to ensure
it's actually only rendered, i.e., the `border_1` method is only called,
when the field is actually focused.

Release Notes:

- Improved rendering of border on number field's input to ensure it's
only rendered when the field is focused

Dino created

9e9269b settings: Add Sapling directory to default `file_scan_exclusions` (#45837)

Click to expand commit body
[Sapling](https://sapling-scm.com/docs/git/git_support_modes/) is
similar to git / hg / jj in that it creates a /.sl directory when
initializing a repository. This can be added alongside the other source
control scan exclusions

includes a docs update for these defaults

Release Notes:
- Settings: Add Sapling directory to default `file_scan_exclusions`

Cory Wilhite created

00becd8 docs: Add LGPL v3 and zlib as accepted extension licenses (#46242)

Click to expand commit body
Follow-up to https://github.com/zed-industries/extensions/pull/4397

Release Notes:

- N/A

Finn Evers created

f90fe5c language_models: Make wording for setting env vars consistent (#46240)

Click to expand commit body
Release Notes:

- N/A

Jakub Konka created

692bf30 docs: Add documentation for `auto_update_extensions` (#46130)

Click to expand commit body
Add documentation for the existing `auto_update_extensions` setting that
allows users to toggle auto-updates per extension.

Release Notes:
- N/A

---------

Co-authored-by: Kunall Banerjee <hey@kimchiii.space>

Adrian and Kunall Banerjee created

49e4102 project: Fix organize imports action not working for Python (#45874)

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

Explained in
https://github.com/zed-industries/zed/issues/26819#issuecomment-3399175027
That action is now the default on format in
https://github.com/zed-industries/zed/pull/41103 since October, but
applying manually is still broken.

Release Notes:

- Fixed an issue where the `editor: organize imports` action didn’t work
for Python, even though imports were organized correctly during
formatting.

Abdelhakim Qbaich created

a1bacce agent: Remove extraneous character in `system_prompt` template (#46238)

Click to expand commit body
Release Notes:
- N/A

---------

Co-authored-by: Kunall Banerjee <hey@kimchiii.space>

Bo He and Kunall Banerjee created

55dc348 Autofix run cargo machete --fix too (#46232)

Click to expand commit body
Release Notes:

- N/A

Conrad Irwin created

6b90aaa status_bar: Add encoding indicator (#45476)

Click to expand commit body
## Context / Related PRs This PR is the third part of the encoding
support improvements, following:
- #44819: Introduced initial legacy encoding support (Shift-JIS, etc.).
- #45243: Fixed UTF-16 saving behavior and improved binary detection.

## Summary
This PR implements a status bar item that displays the character
encoding of the active buffer (e.g., `UTF-8`, `Shift_JIS`). It provides
visibility into the file's encoding and indicates the presence of a Byte
Order Mark (BOM).

## Features
- **Encoding Indicator**: Displays the encoding name in the status bar.
- **BOM Support**: Appends `(BOM)` to the encoding name if a BOM is
detected (e.g., `UTF-8 (BOM)`).
- **Configuration**: The active_encoding_button setting in status_bar
accepts "enabled", "disabled", or "non_utf8". The default is "non_utf8",
which displays the indicator for all encodings except standard UTF-8
(without BOM).
- **Settings UI**: Provides a dropdown menu in the Settings UI to
control this behavior.
- **Documentation**: Updated `configuring-zed.md` and
`visual-customization.md`.

## Implementation Details
- Created `ActiveBufferEncoding` component in
`crates/encoding_selector`.
- The click handler for the button is currently a **no-op**.
Implementing the functionality to reopen files with a specific encoding
has potential implications for real-time collaboration (e.g., syncing
buffer interpretation across peers). Therefore, this PR focuses strictly
on the visualization and configuration aspects to keep the scope simple
and focused.
- Updated schema and default settings to include
`active_encoding_button`.

## Screenshots

<img width="487" height="104" alt="image"
src="https://github.com/user-attachments/assets/041f096d-ac69-4bad-ac53-20cdcb41f733"
/>
<img width="454" height="99" alt="image"
src="https://github.com/user-attachments/assets/ed76daa2-2733-484f-bb1f-4688357c035a"
/>


## Configuration
To hide the button, add the following to `settings.json`:
```json
"status_bar": {
  "active_encoding_button": "disabled"
}
```

- **enabled**: Always show the encoding.
- **disabled**: Never show the encoding.
- **non_utf8**: Shows for non-UTF-8 encodings and UTF-8 with BOM. Only
hides for standard UTF-8 (Default).

<img width="1347" height="415" alt="image"
src="https://github.com/user-attachments/assets/7f4f4938-3320-4d21-852c-53ee886d9a44"
/>

## Heuristic Limitations:
The underlying detection logic (implemented in #44819 and #45243)
prioritizes UTF-8 opening performance and does not guarantee perfect
detection for all encodings. We consider this margin of error
acceptable, similar to the behavior seen in VS Code. A future "Reopen
with Encoding" feature would serve as the primary fallback for any
misdetections.

Release Notes:

- Added a status bar item to display the active file's character encoding (e.g. `UTF-16`). This shows for non-utf8 files by default and can be configured with `{"status_bar":{"active_encoding_button":"disabled|enabled|non_utf8"}}`

Ichimura Tomoo created

7274a96 Revert "agent_ui: Fix agent UI stealing focus on start up" (#46231)

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

This also made the new thread action no longer focus so this wasn't the
right way to address this

Lukas Wirth created

f4aad4b Improve visual test runner: consolidate setup, add constants, remove dead code (#46217)

Click to expand commit body
Just some code cleanup to improve the tests - make them better exemplars
for future use.

Release Notes:

- N/A

Richard Feldman created

8f961a4 gpui: Make all foreground tasks drop when the app dies (#46219)

Click to expand commit body
This expands the liveness check to cover all foreground tasks that don't
take the app as a context (as some of their internal futures might.)

Release Notes:

- N/A

Mikayla Maki created

67e2a23 Fix coalescing of multi-line edits (#46220)

Click to expand commit body
I was seeing some surprising un-coalesced edits in the edit history when
looking at captured examples. I realized that we were only coalescing
based on the *ends* of edit ranges, but I think we want to combine hunks
where there are 8 or less unchanged lines in between changes. This PR
implements that.

Release Notes:

- N/A

Max Brunsfeld created

09ce318 Add a GPUI testing example (#46215)

Click to expand commit body
Had some trouble in a PR with missing a test API change until deep into
a refactor. Decided to move some example tests into the GPUI repo to put
those through their paces, and got carried away and made a big test
example file demonstrating all the testing features we have.

Release Notes:

- N/A

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>

Mikayla Maki and Claude Opus 4.5 created

3387021 lsp: Refresh `textDocument/diagnostic` on `workspace/diagnostic/refresh` (#45365)

Click to expand commit body
Per LSP spec, when receiving `workspace/diagnostic/refresh`, clients
should refresh all pulled diagnostics including both workspace and
document diagnostics[^1]. Previously, only workspace diagnostics were
refreshed.

[^1]:
https://microsoft.github.io/language-server-protocol/specifications/lsp/3.18/specification/#diagnostic_refresh

This adds `pull_document_diagnostics_for_server()`, which refreshes
`textDocument/diagnostic` for all open buffers associated with the
given language server.

Closes #ISSUE

Release Notes:

- When handling `workspace/diagnostic/refresh`, Zed now also sends new
`textDocument/diagnostic` requests for open files, aligning with the LSP
specification.

---------

Co-authored-by: John Tur <john-tur@outlook.com>

Shuhei Kadowaki and John Tur created

ff73a91 Make all paths relative in captured EP examples (#46213)

Click to expand commit body
I also added debug events for Sweep edit predictions so that we can see
the API response for "no prediction" events when running evals.

Release Notes:

- N/A

Max Brunsfeld created

b5ac0f9 Render images in agent threads (#46167)

Click to expand commit body
Now when the agent reads images (which the tool now explicitly
advertises to agents that it is capable of; previously the tool said it
could only read text even though it can actually read images), we see
them in the thread, and also they are auto-expanded by default so you
can see them when scrolling through:

<img width="725" height="1019" alt="Screenshot 2026-01-06 at 2 57 11 PM"
src="https://github.com/user-attachments/assets/5c908bad-48f2-46c2-afaa-7f189a178e05"
/>

This also adds a visual regression test that verifies images render
correctly in the agent thread view.

Unlike our previous visual tests, this one only renders the agent panel,
not the entire Zed window.

The "screenshot" it generates (rendered to a Metal texture) is from
completely mocked/simulated data structures, and looks like this:

<img width="546" height="984" alt="Screenshot 2026-01-06 at 2 54 41 PM"
src="https://github.com/user-attachments/assets/89a0921f-59e9-4dfe-94b2-4c3b625a851b"
/>

## Changes

- **New visual test**: `agent_thread_with_image` renders an
`AcpThreadView` containing a tool call with image content (the Zed app
icon)
- **Test infrastructure**: Added `StubAgentServer` helper and required
feature flags for visual testing
- **Test-support API**: Added `expand_tool_call()` method to
`AcpThreadView` to allow expanding tool calls for visual testing
- **Baseline screenshot**: Included baseline image showing the Zed logo
rendered in a tool call output

## How to run

```bash
# Run the visual tests
cargo run -p zed --bin visual_test_runner --features visual-tests

# Update baselines if UI intentionally changed  
UPDATE_BASELINE=1 cargo run -p zed --bin visual_test_runner --features visual-tests
```

Release Notes:
- N/A

---------

Co-authored-by: Zed Zippy <234243425+zed-zippy[bot]@users.noreply.github.com>
Co-authored-by: Amp <amp@ampcode.com>

Richard Feldman , Zed Zippy , and Amp created

c764f78 Add clear filter button to outline and collab panels' search (#46210)

Click to expand commit body
Always missed the ability to clear the search without having to reach
for my keyboard if I'm on a mouse-first workflow:

<img width="460" height="390" alt="Screenshot 2026-01-06 at 9  27@2x"
src="https://github.com/user-attachments/assets/fda4650c-72fb-4b5b-92f6-7c69661507f8"
/>

Release Notes:

- Added a button to clear the search query for the collab and outline
panels' search bar.

Danilo Leal created

4e28080 extension_ci: Be more explicit with version bump (#46208)

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

I had very much hoped for bump2version to do this by default, well, left
here disappointed I suppose

Release Notes:

- N/A

Finn Evers created

f3e5e3e repl: Add inlay repl output display, skip empty lines on execution, and gutter execution display (#44523)

Click to expand commit body
Adds various useful things to the repl inspired by ipynb and the julia
vscode extension which can be best seen with this video:


https://github.com/user-attachments/assets/6589715e-3783-456c-8f4b-e2d5a1c4090d

To summarize:

## Inline outputs
Added small, single-line outputs displayed inline at the end of the code
line instead of in a separate block. This provides a cleaner, more
compact view for simple results like numbers or short strings. This
occurs for execution views who only output a single mimetype/plain OR
output nothing, otherwise the default behavior of creating a block will
occur.

It looks like this: 
<img width="258" height="35" alt="image"
src="https://github.com/user-attachments/assets/ccdeca3f-c3b7-4387-a4de-53d8b9a25132"
/>
or with a Output
<img width="346" height="55" alt="image"
src="https://github.com/user-attachments/assets/0b4effc9-1bd7-4e8c-802f-8733cdcc77d1"
/>
This was inspired by julia vscode extension, but now it can be used with
any replanguage! Hooray!


<img width="524" height="450" alt="image"
src="https://github.com/user-attachments/assets/a3551e51-f5f7-4d3e-994a-213c9d2f948c"
/>

It saves lots of space compared to the ugly and distracting:
<img width="531" height="546" alt="image"
src="https://github.com/user-attachments/assets/7cf65bae-8ec1-4279-ab19-f0d4ec4052a2"
/>


## Gutters and execution numbers
Added gutters + execution number to display exactly what was executed.
The gutter highlighting is useful for when selecting multiple cells
manually to run, but you dont remember which ones

Ran at different times:
<img width="257" height="58" alt="image"
src="https://github.com/user-attachments/assets/6002ab16-156a-4598-9964-5a6b188e989c"
/>
Ran together:
<img width="306" height="64" alt="image"
src="https://github.com/user-attachments/assets/2690ea35-2bd3-4207-b039-6c0f98dad6e4"
/>

The execution number is useful in the same way that a normal jupyter
notebook execution number is useful.

If a gutter-region does not have a block assigned to it, when you edit
the text in the gutter region, the gutter will disappear, which is
useful for telling when you have modified your code, but does not delete
useful experiment results in blocks:

<img width="280" height="38" alt="image"
src="https://github.com/user-attachments/assets/d7f29224-87e4-4c14-8d9f-41cb10ab5009"
/>
<img width="254" height="31" alt="image"
src="https://github.com/user-attachments/assets/586c9e1d-f53c-4973-affb-c8ca05a7563b"
/>
<img width="264" height="29" alt="image"
src="https://github.com/user-attachments/assets/f306c364-1c92-44bd-9050-ecce1b7822a0"
/>
 
## Skip empty line
This is a minor fix which is intended to make lab workflow less tedious.
Currently when you execute on an empty line (which might be there for
formatting purposes) nothing will occur. This PR adds the ability to,
when executing from an empty line, skip ahead the range of inclusion
until you reach actual code, and then execute.

Before:
```
code //run execute
//empty space, so you have to move your cursor down or use arrow key
code //run execute
code //run execute
```
After:
```
code //run execute
//empty space, you can now run execute on it and it will include the next line of code
//empty space
code //automatically executed
code //run execute
```

Currently the only piece of tested code is related to this, i still have
to write tests for the gutter annotation api i added and all of the
gutter + inline related code. Also still have to add more config for
this stuff.

@rgbkrk would appreciate a review :D

Closes #22678

Release Notes:

- repl: Added an inline display of execution results (as opposed to the
large execution view) for simple REPL cells
- repl: Improved how execution of empty lines are handled
- repl: Added gutter execution display

Matt Lui created

c38dc0a Fix stale pull diagnostics for open buffers (#46201)

Click to expand commit body
Release Notes:

- N/A

John Tur created

189241b collab: Remove invite-related columns from `users` table (#46202)

Click to expand commit body
This PR removes the invite-related columns from the `users` table for
the test database schemas.

Release Notes:

- N/A

Marshall Bowers created

f3c0208 Add sweep acceptance tracking (#46199)

Click to expand commit body
Closes #ISSUE

Release Notes:

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

Ben Kunkle created

8ca6381 Fix some issues with edit prediction CLI (#46197)

Click to expand commit body
* Added `--repo` and `--name` flags for running only examples with a
specific name, or repo (substring matching)
* Fixed a race condition that caused hangs when running multiple
examples at the same repo and sha
* Fixed a bug where scoring was completely wrong because I had passed
the arguments to `apply_diff_to_string` in the wrong order
* The current evals now run quickly and without errors.

Release Notes:

- N/A

Max Brunsfeld created

f0e0213 ep cli: Fix finalize counter (#46198)

Click to expand commit body
Release Notes:

- N/A

Agus Zubiaga created

6070b30 ep cli: Create entries from new files in edit history (#46196)

Click to expand commit body
Release Notes:

- N/A

Agus Zubiaga created

5be7d6f ep cli: Refresh cursor path entry (#46195)

Click to expand commit body
Release Notes:

- N/A

Agus Zubiaga created

a8bc84c ep cli: Include cursor file in errors (#46192)

Click to expand commit body
Errors now include the cursor file path so we can just cmd+click it for
inspection

Release Notes:

- N/A

Agus Zubiaga created

3da9269 Add agent thread sharing (#46140)

Click to expand commit body
Staff only ship for now

Here's the agent planning doc that guided this:
https://gist.github.com/mikayla-maki/c826b7997bd85b58273c1def9397940b

Release Notes:

- N/A

---------

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

Mikayla Maki and Marshall Bowers created

8df2789 languages: Fix C/C++ outline for mixed storage classes and type qualifiers (#46135)

Click to expand commit body
Current tree sitter configuration for the outline was not working
correctly since the rule required a strict order, firstly
storage_class_specifier then type_qualifier. This resulted in a failure
to recognize types such as "constexpr int", "const double", etc. This PR
proposes a solution with diagnostic capture of type and storage
qualifiers which ensures full context capture and works well with C++.


Before:
<img width="924" height="365" alt="before"
src="https://github.com/user-attachments/assets/d4e0baab-b074-42fc-8a45-46c93d1d352b"
/>

After:
<img width="866" height="367" alt="after"
src="https://github.com/user-attachments/assets/0e69a4d8-fd91-44b3-bc7e-0c9e39b23d2e"
/>


Release Notes:

- Fixed outline configuration for C++ variables with complex specifiers.

ozacod created