Commit Graph
33597 Commits
Author SHA1 Message Date
Danilo Leal 7d7d86fe2d agent_ui: Create components for the model selector (#44993)
This PR introduces a few components for the model selector pickers.
Given we're still maintaining two flavors of it due to one of them being
wired through ACP and the other through the language model registry,
having one source of truth for the UI should help with maintenance
moving forward, considering that despite the internal differences, they
look and behave the same from the standpoint of the UI.

Release Notes:

- N/A
2025-12-16 11:34:20 -03:00
Danilo Leal 5ef7bf38af agent_ui: Remove custom "unavailable editing" tooltip (#44992)
Now that we can use `Tooltip::element`, we don't need a separate
file/component just for this.

Release Notes:

- N/A
2025-12-16 10:50:52 -03:00
Smit Barmase 6c802f51e5 markdown: Fix double borders in Markdown and Markdown Preview tables (#44991)
Improves upon https://github.com/zed-industries/zed/pull/42674

Before:

<img width="520" height="202" alt="image"
src="https://github.com/user-attachments/assets/efb1650b-4c0e-4424-8d9b-90de80c72df2"
/> <img width="157" height="211" alt="image"
src="https://github.com/user-attachments/assets/cf4605f3-88e5-4724-ad2b-1219ed04a945"
/>

After:

<img width="529" height="208" alt="image"
src="https://github.com/user-attachments/assets/382fd523-a3d9-4700-a8df-c339419fc6dc"
/>
<img width="133" height="208" alt="image"
src="https://github.com/user-attachments/assets/f22b72d9-d416-47f9-92af-ea1de6fb5583"
/>



Release Notes:

- Fixed an issue where Markdown tables would sometimes show double
borders.
2025-12-16 19:18:52 +05:30
Daiki Takagi 0a57c2456f acp_thread: Decode file:// mention paths so non-ASCII names render correctly (#44983)
## Summary

This fixes a minor bug I found #44981 

- Fix percent-encoded filenames appearing in agent mentions after
message submission.
- Decode file:// paths in MentionUri::parse using the existing
urlencoding crate (already used elsewhere in the codebase).
- Add tests for non-ASCII file URIs.

## Screenshots

<img width="409" height="116" alt="image"
src="https://github.com/user-attachments/assets/32ef033b-6232-47c5-80c7-d5247d5dae88"
/>
2025-12-16 13:43:23 +00:00
lif 6aa2352849 diagnostics: Respect toolbar breadcrumbs setting in diagnostics panel (#44974)
## Summary

The diagnostics panel was ignoring the user's `toolbar.breadcrumbs`
setting and always showing breadcrumbs. This makes both
`BufferDiagnosticsEditor` and `ProjectDiagnosticsEditor` check the
`EditorSettings` to determine whether to display breadcrumbs.

## Changes

- `buffer_diagnostics.rs`: Updated `breadcrumb_location` to check
`EditorSettings::get_global(cx).toolbar.breadcrumbs`
- `diagnostics.rs`: Updated `breadcrumb_location` to check
`EditorSettings::get_global(cx).toolbar.breadcrumbs`

This follows the same pattern used by the regular `Editor` in
`items.rs`.

## Test plan

1. Set `toolbar.breadcrumbs` to `false` in settings.json
2. Open a file with diagnostics
3. Run `diagnostics: deploy current file`
4. Verify that breadcrumbs are hidden in the diagnostics panel

Fixes #43020
2025-12-16 13:05:31 +00:00
Danilo Leal 34356bd34b ui: Fix Divider component growing unnecessarily (#44986)
I had previously added `flex_none` to the Divider and that caused it to
grow beyond the container's width in some cases (project panel, agent
panel's restore to check point button, etc.).

Release Notes:

- N/A
2025-12-16 12:55:26 +00:00
Danilo Leal 4c400ab271 agent_ui: Search models only by name (#44984)
We were previously matching the search on both model name and provider
ID. In most cases, this would yield an okay result, but if you search
for "Opus", for example, you'd see the Sonnet models in the search
result, which was very confusing. This was because we were matching to
both provider ID and model name. "Sonnet" and "Opus" share the same
provider ID, so they both contain "Anthropic" as a prefix. Then, "Opus"
contains the letter P, as well as Anthropic, thus the match.

Now, we're only matching by model name, which I think most of the time
will yield more accurate results.

Release Notes:

- agent: Improved the model search quality in the model picker.
2025-12-16 12:46:08 +00:00
Smit Barmase f394e8e4e5 markdown: Fix Markdown table not rendering in hover popover (#44712)
Closes #44306

This PR makes two changes:
- Uses the new `grid_cols_min_content` API. See more here:
https://github.com/zed-industries/zed/pull/44973.
- Changes Markdown table rendering to use a single grid instead of
creating a new grid per row, so column widths stay consistent across
rows.

Release Notes:

- Fixed an issue where Markdown tables wouldn't render in the hover
popover.
2025-12-16 18:11:06 +05:30
Lukas Wirth af57eba19f agent_ui: Add scroll to most recent user prompt button (#44961)
Release Notes:

- Added a button to the agent thread view that scrolls to the most
recent prompt
2025-12-16 13:35:47 +01:00
Danilo Leal ccb1519f10 agent_ui: Add keybinding to cycle through profiles (#44979)
Similar to the mode selector in external agents, it will now be possible
to use `shift-tab` to cycle through profiles.

<img width="500" height="384" alt="Screenshot 2025-12-16 at 9  04@2x"
src="https://github.com/user-attachments/assets/11e8824e-9fad-4aab-9e19-53878096db52"
/>

Release Notes:

- Added the ability to use `shift-tab` to cycle through profiles for the
built-in Zed agent.
2025-12-16 09:15:08 -03:00
Danilo Leal 05e203caf1 agent_ui: Add the ability to delete a profile through the UI (#44977)
It was only possible to delete profiles through the `settings.json`, but
now you can do it through the UI:

<img width="500" height="1954" alt="Screenshot 2025-12-16 at 8  42@2x"
src="https://github.com/user-attachments/assets/077ecdf5-1e80-4b70-86c9-177cc3741e77"
/>

Release Notes:

- agent: Added the ability to delete a profile through the "Manage
Profiles" modal.
2025-12-16 09:04:07 -03:00
Smit Barmase 375abec690 gpui: Add grid repeat min content API (#44973)
Required for https://github.com/zed-industries/zed/pull/44712

We started using `grid` for Markdown tables instead of flex. This
resulted in tables having a width of 0 inside popovers, since popovers
are laid out using `AvailableSpace::MinContent`.

One way to fix this is to lay out popovers using `MaxContent` instead.
But that would affect all Markdown rendered in popovers and could change
how popovers look, or regress things.

The other option is to fix it where the problem actually is:
`repeat(count, vec![minmax(length(0.0), fr(1.0))])`. Since the minimum
width here is `0`, laying things out with `MinContent` causes the
Markdown table to shrink completely. What we want instead is for the
minimum width to be the min-content size, but only for Markdown rendered
inside popovers.

This PR does exactly that, without interfering with the `grid_cols` API,
which intentionally follows a TailwindCSS-like convention. See
https://github.com/zed-industries/zed/pull/44368 for context.

Release Notes:

- N/A
2025-12-16 17:09:11 +05:30
Luca 20f37382ce fix: updated cursor linux keymap to use new AcceptNextWordEditPrediction (#44971)
### Problem

PR #44411 replaced the `editor::AcceptPartialEditPrediction` action with
`editor::AcceptNextLineEditPrediction` and
`editor::AcceptNextWordEditPrediction`. However, the Linux cursor keymap
wasn't updated to reflect this change, causing a panic on startup for
Linux users.

### Solution

Updated the Linux keymap configuration to reference the new actions

Release Notes:

- N/A
2025-12-16 11:35:45 +00:00
Kirill BulatovandLukas Wirth 8a3ce24ee8 Remove unneccessary snapshot storing in the buffer chunks (#44972)
Release Notes:

- N/A

Co-authored-by: Lukas Wirth <me@lukaswirth.dev>
2025-12-16 13:33:22 +02:00
Michael Benfield b671db7ab8 Remove CopyAsMarkdown (#44933)
Copying rendered markdown doesn't reliably do anything sensible. If we
copy text from the middle of a bold section, no formatting is copied. If
we copy text at the end, the trailing bold delimiters are copied,
resulting in gibberish markdown. Thus even fixing the associated issue
(so that leading delimeters are reliably copied) won't consistently
produce good results.

Also, as the user messages in the agent panel don't render markdown
anyway, it seems the most likely use case for copying markdown is
inapplicable.

Closes #42958 

Release Notes:

- N/A
2025-12-16 13:25:59 +02:00
Mayank VermaandDanilo Leal 690777b40f workspace: Use markdown to render LSP notification content (#44215)
Closes #43657

Release Notes:

- Improved LSP notification messages by adding markdown rendering with
clickable URLs, inline code, etc.

<table>
  <tr>
    <td>Before</td>
    <td>After</td>
  </tr>
  <tr>
<td><img width="408" height="153" alt="screenshot-notification-before"
src="https://github.com/user-attachments/assets/53b026de-335f-4c39-937f-590c3b7ea571"
/></td>
<td><img width="408" height="153" alt="screenshot-notification-after"
src="https://github.com/user-attachments/assets/9d6a7baa-8304-4a52-a5d0-0bacf7ea69f9"
/></td>
  </tr>
</table>

---------

Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
2025-12-16 11:16:27 +00:00
Simon PhamandDanilo Leal 256957fc94 workspace: Display a launchpad page when in an empty window & add it as a restore_on_startup value (#44048)
Hi,

This PR fixes nothing. I just miss the option to open recent projects
quickly upon opening Zed, so I made this. Hope I can see it soon in
Preview channel.
If there is any suggestion, just comment. I will take it seriously.

Thank you!

|ui|before|after|
|-|-|-|
|empty pane|<img width="1571" height="941" alt="Screenshot 2025-12-03 at
12 39 25"
src="https://github.com/user-attachments/assets/753cbbc5-ddca-4143-aed8-0832ca59b8e7"
/>|<img width="1604" height="952" alt="Screenshot 2025-12-03 at 12 34
03"
src="https://github.com/user-attachments/assets/2f591d48-ef86-4886-a220-0f78a0bcad92"
/>|
|new window|<img width="1571" height="941" alt="Screenshot 2025-12-03 at
12 39 21"
src="https://github.com/user-attachments/assets/a3a1b110-a278-4f8b-980e-75f5bc96b609"
/>|<img width="1604" height="952" alt="Screenshot 2025-12-04 at 10 43
17"
src="https://github.com/user-attachments/assets/74a00d91-50da-41a2-8fc2-24511d548063"
/>|

---

Release Notes:

- Added a new value to the `restore_on_startup` setting called
`launchpad`. This value makes Zed open with a variant of the welcome
screen ("the launchpad") upon startup. Additionally, this same page
variant is now also what is displayed if you close all tabs in an
existing window that doesn't contain any folders open. The launchpad
page shows you up to 5 recent projects, making it easy to open something
you were working recently.

---------

Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
2025-12-16 07:51:28 -03:00
Moritz Bitsch 45816a2419 Update Copilot sign-up URL based on verification domain (#44085)
Use the url crate to extract the domain from the verification URI and
construct the appropriate Copilot sign-up URL for GitHub or GitHub
Enterprise.

Release Notes:

- Improved github enterprise (ghe) copilot sign in
2025-12-16 09:48:20 +00:00
Nathan Sobo 3d5444f0d2 Revert "Add save_file and restore_file_from_disk agent tools" (#44949)
Reverts zed-industries/zed#44789

Need to fix a bug

Release Notes:

- N/A
2025-12-16 09:53:08 +01:00
Xiaobo Liu 6a31c2556c agent: Allow LanguageModelImage size to be optional (#44956)
Release Notes:

- Improved allow LanguageModelImage size to be optional

Signed-off-by: Xiaobo Liu <cppcoffee@gmail.com>
2025-12-16 08:50:40 +00:00
Ben Brandt 1a47088f90 Revert "editor: Refactor cursor_offset_on_selection field in favor of VimModeSettings" (#44960)
Reverts zed-industries/zed#44889

Release Notes:
- N/A
2025-12-16 08:50:27 +00:00
Mayank Verma a58619a329 tab_switcher: Fix missing preview on initial ctrl-shift-tab press (#44959)
Closes #44852

Release Notes:

- Fixed tab preview not showing up on initial ctrl-shift-tab press
2025-12-16 08:26:29 +00:00
daomah a9fb552b01 docs: Add documentation for installing via winget (#44941)
Simple documentation PR.

Added information for installing on Windows via winget. Added links from
the main README to relevant sections for both macOS and Windows

Release Notes:

- N/A
2025-12-16 09:13:48 +01:00
Patrick Elsen 8a240c0ac3 language_models: Add auto_discover setting for Ollama (#42207)
First up: I'm sorry if this is a low quality PR, or if this feature
isn't wanted. I implemented this because I'd like to have this
behaviour. If you don't think that this is useful, feel free to close
the PR without comment. :)

My idea is this: I love to pull random models with Ollama to try them.
At the same time, not all of them are useful for coding, or some won't
work out of the box with the context_length set. So, I'd like to change
Zed's behaviour to not show me all models Ollama has, but to limit it to
the ones that I configure manually.

What I did is add an `auto_discover` field to the settings. The idea is
that you can write a config like this:

```json
"language_models": {
    "ollama": {
      "api_url": "http://localhost:11434",
      "auto_discover": false,
      "available_models": [
        {
          "name": "qwen3:4b",
          "display_name": "Qwen3 4B 32K",
          "max_tokens": 32768,
          "supports_tools": true,
          "supports_thinking": true,
          "supports_images": true
        }
      ]
    }
  }
```

The `auto_discover: false` means that Zed won't pick up or show the
language models that Ollama knows about, and will only show me the one I
manually configured in `available_models`. That way, I can pull random
models with Ollama, but in Zed I can only see the ones that I know work
(because I've configured them).

The default for `auto_discover` (when it is not explicitly set) is
`true`, meaning that the existing behaviour is preserved, and this is
not a breaking change for configurations.

Release Notes:

- ollama: Added `auto_discover` setting to optionally limit visible
models to only those manually configured in `available_models`
2025-12-16 09:11:10 +01:00
Hourann 75dc3d268b workspace: Fix context menu triggering format on save (#44073)
Closes #43989

Release Notes:

- Fixed editor context menu triggering format on save
2025-12-16 09:32:25 +02:00
Kirill Bulatov c5f11ad122 Fix the file_finder::Toggle binding (#44951)
Closes https://github.com/zed-industries/zed/issues/44752
Closes https://github.com/zed-industries/zed/pull/44756

Release Notes:

- Fixed "file_finder::Toggle" action sometimes not working in JetBrains
keymap
2025-12-16 06:15:01 +00:00
Bertie690 157ac5d137 Remove outdated Cargo.toml comment about declare_interior_mutable_const (#44950)
Since the rule is no longer a `style` lint as of
[mid-August](https://github.com/rust-lang/rust-clippy/pull/15454), the
comment mentioning it not being one is outdated and should be removed.

> [!NOTE]
> I kept the severity at `error` for now to avoid rustling feathers.
> If `warn` is preferred, feel free to change it yourself or ask me to
do it - it's only 1 line of code, after all.

Release Notes:

- N/A
2025-12-15 22:50:15 -07:00
Conrad Irwin 9f5c8c0ad5 Improve autofix (#44930)
Release Notes:

- N/A
2025-12-15 22:19:18 -07:00
Conrad Irwin 1c7ffcc372 Clean up screenshare (#44945)
Release Notes:

- Fixed a bug where screen-share tabs would persist after the sender (or
receiver) had left the call.
2025-12-16 05:10:33 +00:00
Conrad IrwinandZed Zippy d25e614a99 Fix link opening (#44910)
- **Fix editor::OpenUrl on zed links**
- **Fix cmd-clicking links too**

Closes #44293
Closes #43833

Release Notes:

- The `editor::OpenUrl` action now works for links to https://zed.dev
- Clicking on a link to a Zed channel or channel-note within the editor
no-longer redirects you via the web.

---------

Co-authored-by: Zed Zippy <234243425+zed-zippy[bot]@users.noreply.github.com>
2025-12-15 20:53:50 -07:00
Richard FeldmanandClaude Haiku 4.5 a87b06a097 Include project rules in commit message generation (#44921)
Closes #38027

Release Notes:

- AI-generated commit messages now respect rules files (e.g.
`AGENTS.md`) if present

---------

Co-authored-by: Claude Haiku 4.5 <noreply@anthropic.com>
2025-12-16 02:57:19 +00:00
Marco Mihai Condrache f7208461d5 terminal: Sanitize URLs with characters that cannot be last (#43559)
Closes #43345

The list of characters comes from the linkify crate, which is already
used for URL detection in the editor:


https://github.com/robinst/linkify/blob/5239e12e26c633f42323e51ed81b0ff534528077/src/url.rs#L228

Release Notes:

- Improved url links detection in terminals.

---------

Signed-off-by: Marco Mihai Condrache <52580954+marcocondrache@users.noreply.github.com>
2025-12-15 21:03:16 -05:00
Ben Kunkle 897303e0d0 settings_ui: Add Edit keybindings button (#44914)
Closes #ISSUE

Release Notes:

- settings_ui: Added an "Open Keymap Editor" item under the Keymap
section
2025-12-15 21:03:02 -05:00
Max Brunsfeld 6d45b1a226 Make zed --wait work with directories (#44936)
Fixes #23347

Release Notes:

- Implemented the `zed --wait` flag so that it works when opening a
directory. The command will block until the window is closed.
2025-12-16 01:22:41 +00:00
Johnny KlucinecandDanilo Leal c8b3b540aa Improve keymap error formatting and add settings button icon (#42037)
Closes https://github.com/zed-industries/zed/issues/41938

For some error messages relating to the keymap file, the font size was
too large. This was due to the error message being a child
`MarkdownString` instead of a `SharedString`. A `.text_xs()` method is
being applied to this notification, but it appears not to affect the
markdown text. I found that the H5 text size in markdown is the same
size as other error messages, so I made each element (that had text)
that size. There was also a special case for bullet points.

I also added a gear icon to the settings button, so it was more in line
with other app notifications.

Error message (text too large):

![keymap-broke](https://github.com/user-attachments/assets/2c205a3a-ae28-419f-95c4-093340760d03)

Expected behavior (notification with correct text sizing and icon):

![keymap-fixed](https://github.com/user-attachments/assets/f8a1396b-177f-4287-b390-c3804b70f1d2)

Example behavior:

![settings](https://github.com/user-attachments/assets/09397954-781f-44be-88ad-08035fe66f0c)

Release Notes:

- Improved UI for keymap error messages.

---------

Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
2025-12-16 01:01:20 +00:00
Max Brunsfeld f6d9915a44 Anchor scroll offsets so that entire diff hunks at viewport top become visible (#44932)
Fixes https://github.com/zed-industries/zed/issues/39258

Release Notes:

- N/A
2025-12-15 15:50:45 -08:00
Cole Miller 11eec68fa4 git: Ensure no more than 4 blame processes run concurrently for each multibuffer (#44843)
Previously we were only awaiting on up to 4 of the blame futures at a
time, but we would still call `Project::blame_buffer` eagerly for every
buffer in the multibuffer. Since that returns a `Task`, all the blame
invocations were still launched concurrently.

Release Notes:

- N/A
2025-12-15 18:50:18 -05:00
Finn Evers 6471f61ee0 collab: Add copilot-swe-agent[bot] to the GET /contributor endpoint (#44934)
This PR adds the `copilot-swe-agent[bot]` user to the `GET /contributor`
endpoint so that it passes the CLA check.

Release Notes:

- N/A
2025-12-15 23:46:09 +00:00
Cole MillerandAnthony Eid 10900c394b git: Fix partially-staged paths not being accurately rendered (#44837)
Updates #44089 

- Restores the ability to have a partially staged/`Indeterminate` status
for the git panel checkboxes
- Removes the `optimistic_staging` logic, since its stated purpose is
served by the `PendingOps` system in the `GitStore` (which may have
bugs, but we should fix them in the git store rather than adding another
layer)

Release Notes:

- Fixed partially-staged files not being represented accurately in the
git panel.

---------

Co-authored-by: Anthony Eid <hello@anthonyeid.me>
2025-12-15 23:40:39 +00:00
Artem Molonosov 3252374988 project_panel: Fix divider taking too much horizontal space (#44920)
Closes: #44917

While setting up the project for contribution, I noticed that the
divider in the welcome dialog was rendering incorrectly on the `main`
branch compared to the latest release.

**Current behaviour (`main` branch):**
<img width="796" height="690" alt="image"
src="https://github.com/user-attachments/assets/3f7d6c73-14eb-47f3-ad83-4796f5f7be0f"
/>

**Expected behaviour (Release `0.216.1`):**
<img width="794" height="692" alt="image"
src="https://github.com/user-attachments/assets/b67857dc-a03d-4e49-bb33-22fe0c83ac5d"
/>

---

After some investigation, it looks like the issue was introduced in
#44505, specifically in [these
changes](https://github.com/zed-industries/zed/pull/44505/changes#diff-4ea61133da5775f0d5d06e67a8dccc84e671c3d04db5f738f6ebfab3a4df0b01R147-R158),
which caused the divider to take the full width instead of being
properly constrained.

**PR result**:
<img width="666" height="574" alt="image"
src="https://github.com/user-attachments/assets/e12b7778-b7cc-4855-b82e-3470dfe43365"
/>

Release Notes:

- Fixes -or- divider rendering incorrectly
2025-12-15 14:59:52 -08:00
Finn Evers 427dbfdcd9 extension_ci: Auto-assign version bumps to GitHub actor (#44929)
Release Notes:

- N/A
2025-12-15 22:59:04 +00:00
Vitaly Slobodin 36485b2942 languages: Add injections for string and tagged template literals for JS/TS(X) (#44180)
Hi! This pull request adds language injections for string and tagged
template literals for JS/TS(X).
This is similar to what [this
extension](https://marketplace.visualstudio.com/items?itemName=bierner.comment-tagged-templates)
provides for VSCode. This PR is inspired by this tweet
https://x.com/leaverou/status/1996306611208388953?s=46&t=foDQRPR8oIl1buTJ4kZoSQ

I've added injections queries for the following languages: HTML, CSS,
GraphQL and SQL.
This works for:

- String literals: `const cssString = /* css */'button { color: hotpink
!important; }';`
- Template literals: ```const cssString = /* css */`button { color:
hotpink !important; }`;```

All injections support the format with whitespaces inside, i.e. `/* html
*/` and without them `/*html*/`.

## Screenshots

|before|after|
|---------|-----------|
| <img width="1596" height="1476" alt="CleanShot 2025-12-04 at 21 12
00@2x"
src="https://github.com/user-attachments/assets/8e0fb758-41f0-43a8-93e6-ae28f79d7c8f"
/> | <img width="1576" height="1496" alt="CleanShot 2025-12-04 at 21 08
35@2x"
src="https://github.com/user-attachments/assets/b47bb9c1-224e-4a24-8f08-a459f1081449"
/>|

Release Notes:

- Added language injections for string and tagged template literals in
JS/TS(X)
2025-12-15 17:48:54 -05:00
Conrad Irwin 95c002b6fe Add an autofix workflow (#44922)
One of the major annoyances with writing code with claude is that its
poorly indented; instead of requiring manual intervention, let's just
fix that in CI.

Similar to https://autofix.ci, but as we already have a github app,
we can do it without relying on a 3rd party.

This PR doesn't trigger the workflow (we need a separate change in Zippy
to do
that) but will let me test it manually.

Release Notes:

- N/A
2025-12-15 15:22:29 -07:00
Nathan Sobo f931609b74 Add save_file and restore_file_from_disk agent tools (#44789)
Release Notes:

- Added `save_file` and `restore_file_from_disk` tools to the agent,
allowing it to resolve dirty buffer conflicts when editing files. When
the agent encounters a file with unsaved changes, it will now ask
whether you want to keep or discard those changes before proceeding.
2025-12-15 15:15:09 -07:00
Marshall Bowers f61adb0e17 docs: Update links to account page (#44924)
This PR updates the links to the account page to point to the Dashboard.

Release Notes:

- N/A
2025-12-15 22:11:42 +00:00
Kunall Banerjee 5746057be9 docs: Drop deprecated key from settings for Agent Panel (#44923)
The `version` key was deprecated a while ago.

Release Notes:

- N/A
2025-12-15 17:04:03 -05:00
Matt Milleranddangooddd 39a6ba264b Terminal ANSI colors (#44912)
Closes #38992 

Release Notes:

- N/A

---------

Co-authored-by: dangooddd <dangoodds@gmail.com>
2025-12-15 15:37:00 -06:00
Finn Evers 5f4d707e18 collab: Add dependabot[bot] to the GET /contributor endpoint (#44919)
This PR adds the `dependabot[bot]` user to the `GET /contributor`
endpoint so that it passes the CLA check.

Release Notes:

- N/A
2025-12-15 22:14:04 +01:00
Lukas Wirth 29c364709c project: Clear worktree settings when worktrees get removed (#44913)
Release Notes:

- N/A *or* Added/Fixed/Improved ...
2025-12-15 22:13:25 +01:00
pedroni 020ad9db9a Add ZoomIn and ZoomOut actions for independent zoom control (#44587)
Closes #14472

Introduces `workspace::ZoomIn` and `workspace::ZoomOut` actions that
complement the existing `workspace::ToggleZoom` action. ZoomIn only
zooms if not already zoomed, and ZoomOut only zooms out if currently
zoomed. This enables composing zoom actions with
`workspace::SendKeystrokes` for workflows like "focus terminal then zoom
in".


<details><summary>Example usage</summary>
<p>

Example keybindings:

```json
[
  {
    "bindings": {
      "ctrl-cmd-,": "terminal_panel::ToggleFocus",
      "ctrl-cmd-.": "workspace::ZoomIn",
    }
  },
  {
    "context": "Terminal",
    "bindings": {
      "cmd-.": "terminal_panel::ToggleFocus"
    }
  },
  {
    "context": "!Terminal",
    "bindings": {
      "cmd-.": ["workspace::SendKeystrokes", "ctrl-cmd-, ctrl-cmd-."]
    }
  },
]
```

Demo:


https://github.com/user-attachments/assets/1b1deda9-7775-4d78-a281-dc9622032ead

</p>
</details> 



Release Notes: 

- Added the actions: `workspace::ZoomIn` and `workspace::ZoomOut` that
complement the existing `workspace::ToggleZoom` action
2025-12-15 13:04:28 -08:00