Commit log

be7090c Update Rust crate log to v0.4.25 (#23200)

Click to expand commit body
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [log](https://redirect.github.com/rust-lang/log) |
workspace.dependencies | patch | `0.4.22` -> `0.4.25` |

---

### Release Notes

<details>
<summary>rust-lang/log (log)</summary>

###
[`v0.4.25`](https://redirect.github.com/rust-lang/log/blob/HEAD/CHANGELOG.md#0425---2025-01-14)

[Compare
Source](https://redirect.github.com/rust-lang/log/compare/0.4.24...0.4.25)

###
[`v0.4.24`](https://redirect.github.com/rust-lang/log/blob/HEAD/CHANGELOG.md#0424---2025-01-11)

[Compare
Source](https://redirect.github.com/rust-lang/log/compare/0.4.23...0.4.24)

###
[`v0.4.23`](https://redirect.github.com/rust-lang/log/blob/HEAD/CHANGELOG.md#0423---2025-01-10-yanked)

[Compare
Source](https://redirect.github.com/rust-lang/log/compare/0.4.22...0.4.23)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone
America/New_York, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

Release Notes:

- N/A

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xMDcuMCIsInVwZGF0ZWRJblZlciI6IjM5LjEwNy4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

renovate[bot] and renovate[bot] created

f53915c Add infrastructure for loading icon themes from extensions (#23203)

Click to expand commit body
This PR adds the supporting infrastructure to support loading icon
themes defined by extensions.

Here's an example icon theme:

```json
{
  "name": "My Icon Theme",
  "author": "Me <me@example.com>",
  "themes": [
    {
      "name": "My Icon Theme",
      "appearance": "dark",
      "file_icons": {
        "gleam": { "path": "./icons/file_type_gleam.svg" },
        "toml": { "path": "./icons/file_type_toml.svg" }
      }
    }
  ]
}
```

The icon paths are resolved relative to the root of the extension
directory.

Release Notes:

- N/A

Marshall Bowers created

3b8a5c9 Update Rust crate proc-macro2 to v1.0.93 (#23201)

Click to expand commit body
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [proc-macro2](https://redirect.github.com/dtolnay/proc-macro2) |
dependencies | patch | `1.0.92` -> `1.0.93` |

---

### Release Notes

<details>
<summary>dtolnay/proc-macro2 (proc-macro2)</summary>

###
[`v1.0.93`](https://redirect.github.com/dtolnay/proc-macro2/releases/tag/1.0.93)

[Compare
Source](https://redirect.github.com/dtolnay/proc-macro2/compare/1.0.92...1.0.93)

- Optimize TokenStream's Drop
([#&#8203;489](https://redirect.github.com/dtolnay/proc-macro2/issues/489),
[#&#8203;490](https://redirect.github.com/dtolnay/proc-macro2/issues/490),
thanks [@&#8203;WalkerKnapp](https://redirect.github.com/WalkerKnapp))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone
America/New_York, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

Release Notes:

- N/A

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xMDcuMCIsInVwZGF0ZWRJblZlciI6IjM5LjEwNy4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

renovate[bot] and renovate[bot] created

a8526d9 file_icons: Fall back to the default icon theme for icons (#23196)

Click to expand commit body
This PR updates the various `FileIcons` methods to fall back to the
default icon theme if the active icon theme does not have the desired
icon.

Release Notes:

- N/A

Marshall Bowers created

904b367 ui: Add support for rendering `Icon`s from external files (#23195)

Click to expand commit body
This PR adds support for rendering `Icon`s from external files.
Previously this could only be used with icons embedded in the binary.

To achieve this we currently need to use the `img` element until the
`svg` element supports:

1. Loading SVGs from external files
2. Rendering polychrome SVGs

Release Notes:

- N/A

Marshall Bowers created

e265e69 git: Move all state into the panel (#23185)

Click to expand commit body
This should fix the problem with the panel not updating when switching
projects.

Release Notes:

- N/A

Cole Miller created

d578f5a Simplify static expression to a constant (#23193)

Click to expand commit body
Release Notes:

- N/A

João Marcos created

b3e8bb0 Update docs for running collab locally (#23192)

Click to expand commit body
Mention `cargo run -p collab -- serve all`, which seem to be the easier
way to run it.

Release Notes:

- N/A

João Marcos created

2e959cb Make Linux audio public (#23191)

Click to expand commit body
Release Notes:

- Added a way to use audio in rooms with Linux builds

Kirill Bulatov created

e215ca1 Dedupe `AssistantSettings` (#23190)

Click to expand commit body
This PR dedupes the `AssistantSettings` so we can use the same settings
for both Assistant1 and Assistant2.

We originally forked them so we could change the Assistant2 settings
freely, but given our rollout strategy for the new Assistant, I don't
think that makes sense.

This also fixes the issue where the JSON language server would show a
"Matches multiple schemas when only one must validate" warning in
`settings.json`.

Closes #23171.

Release Notes:

- Fixed the "Matches multiple schemas when only one must validate"
warning for the `assistant` setting.

Marshall Bowers created

22f5fd5 Rework inlay hint cache tests (#23156)

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

* uncomments and fixes all inlay hint cache tests
* fixes a bug, where invalidated range did not store the new queried
ranges in the cache: this resulted in extra requests in editor that do
not fit into the screen
* comments a peculiarity with the `RefreshInlayHints` event: all editors
react to that when a new language server is inserted, even though
certain editors are not related to the new language server
* fixes handling of inlay hints for the same position: now the same
order is kept, as in the language server's response
(https://github.com/zed-industries/zed/issues/7928)
* queries for hints when on excerpt(s) expansion

Release Notes:

- Fixed inlay hints handling for the same position

Kirill Bulatov created

135e58f Bump Zed to v0.171 (#23188)

Peter Tripp created

88cb9bb Add fn-f keyboard shortcut for Fullscreen (mac-only) (#23184)

Click to expand commit body
- See:
https://github.com/zed-industries/zed/issues/22674#issuecomment-2593133447

Release Notes:

- macos: Added `fn-f` keyboard shortcut for fullscreen toggle.

Peter Tripp created

61db8be ci: Cleanup for disabled Merge Queue / merge_group (#23187)

Click to expand commit body
Only run actions dependency-review-action if running in a PR action.

This broke when run as part of action for commit on main and on a
preview branch:
- https://github.com/zed-industries/zed/actions/runs/12793068921/job/35664998296
- https://github.com/zed-industries/zed/actions/runs/12793045639

Originally introduced in:
- https://github.com/zed-industries/zed/pull/21424

But was only tested with `merge_group` which has since been reverted.

Peter Tripp created

72f1b32 project_panel: Remove useless comments (#23186)

Click to expand commit body
This PR removes some comments in the `project_panel` that are just
restating what the code is doing.

Release Notes:

- N/A

Marshall Bowers created

0150eaf Revert docs-only test-skipping with Merge Queue (#23180)

Click to expand commit body
These checks were not functioning as intended. Notably tests were
skipped for today's hotfix release of Preview
[v0.169.2-pre](https://github.com/zed-industries/zed/actions/runs/12790602047):

Separately these checks were flawed as they would only be considered
"docs only" if the diff between the PR branch base and main also did not
have any subsequent non-docs changes.

Reverting until we can figure out something better.

Peter Tripp created

cc8746a Increase timeout for macos release builds (#23183)

Click to expand commit body
Today's Preview hotfix timed out during notarization:
- https://github.com/zed-industries/zed/actions/runs/12790602047/job/35656767355

Peter Tripp created

f50a118 Refactor shell wrapping (#23108)

Click to expand commit body
I want to use this to implement ! in vim, so move it from terminal_view
to task, and split windows/non-windows more cleanly.

Release Notes:

- N/A

Conrad Irwin created

45198f2 Add "tool" support to go.mod (#22995)

Click to expand commit body
Closes #ISSUE

Release Notes:

- Fixed highlighting of ["tool"
directives](https://tip.golang.org/doc/go1.24#tools) in go.mod

Conrad Irwin created

67525cc Add ollama phi4 context size defaults (#23036)

Click to expand commit body
Add `phi4` maximum context length (128K).
By default this clamps to `16384` but if you have enough video memory
you can set it higher or connect to a non-local machine via settings:

```json
"language_models": {
  "ollama": {
    "api_url": "http://localhost:11434",
    "available_models": [
      {
        "name": "phi4",
        "display_name": "Phi4 64K",
         "max_tokens": 65536
      }
    ]
  }
}
```

Release Notes:

- Improve support for Phi4 with ollama.

Peter Tripp created

0e4a619 Revert "Log an error when there are no buffer snapshots for some LSP version (#22934)" (#23179)

Click to expand commit body
https://github.com/zed-industries/zed/pull/22934#issuecomment-2592239448
and myself had noted quite an increase in junk logging after that:


https://github.com/user-attachments/assets/b678d4ec-c301-4d0e-9a12-99aa7f6da0a2


Release Notes:

- N/A

Kirill Bulatov created

74620e6 Improve performance of go-to-diagnostic when many diagnostics are present (#23166)

Click to expand commit body
Instead of eagerly calling `to_offset` on the anchor ranges for each
diagnostic in the direction of the search, work lazily in terms of
anchors and convert to offsets at the very end.

Release Notes:

- N/A

Cole Miller created

9d3a059 Exclude function keys from input handler (#23070)

Click to expand commit body
Fixes #22674

Release Notes:

- Fixed a bug binding to `fn-X` (where X is a printing key) on macOS

Conrad Irwin created

b1cfc11 edit prediction: Fix width of completion item (#23177)

Click to expand commit body
Release Notes:

- N/A

Co-authored-by: Agus <agus@zed.dev>
Co-authored-by: Bennet <bennet@zed.dev>
Co-authored-by: Antonio <antonio@zed.dev>

Thorsten Ball , Agus , Bennet , and Antonio created

4a76302 Check for `predict-edits` feature flag, remove `is_staff` check (#23165)

Click to expand commit body
Release Notes:

- N/A

---------

Co-authored-by: Thorsten Ball <mrnugget@gmail.com>

Agus Zubiaga and Thorsten Ball created

da8e65b Show loading state for predictions (#23172)

Click to expand commit body
Release Notes:

- N/A

---------

Co-authored-by: Thorsten <thorsten@zed.dev>
Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
Co-authored-by: Agus Zubiaga <hi@aguz.me>

Antonio Scandurra , Thorsten , Danilo Leal , and Agus Zubiaga created

bf75b33 vim: Fix inline completions not disappearing in normal mode (#23176)

Click to expand commit body
Closes #23042

Release Notes:

- Fixed inline completions (Copilot, Supermaven, ...) still being
visible sometimes after leaving Vim's insert mode.

Thorsten Ball created

bd3f64c zeta: Allow viewing prompt details in rate completion modal (#23142)

Click to expand commit body
Co-Authored-by: Danilo <danilo@zed.dev>

Release Notes:

- N/A

---------

Co-authored-by: Danilo <danilo@zed.dev>
Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
Co-authored-by: Thorsten Ball <mrnugget@gmail.com>

Bennet Bo Fenner , Danilo , Danilo Leal , and Thorsten Ball created

ae74693 settings: Rename 'zeta' to 'zed' (#23174)

Click to expand commit body
Old:

```settings.json
{
  "features": {
    "inline_completion_provider": "zeta"
  }
}
```

New & cool:

```settings.json
{
  "features": {
    "inline_completion_provider": "zed"
  }
}
```

Release Notes:

- N/A

Thorsten Ball created

37c2ebe Revert "linux: Fix saving file with root ownership (#22045)" (#23162)

Click to expand commit body
Release Notes:

- (temporarily) Removes the linux "save file as root" feature while we
figure out bugs.

Updates https://github.com/zed-industries/zed/pull/22045

Conrad Irwin created

e86fe1d Fix git commands for staging and unstaging (#23147)

Click to expand commit body
This fixes a bug that prevents unstaging added files.

I've also removed the batching/debouncing logic in the long-running task
that launches the git invocations---I added this originally but I don't
think it's really necessary.

Release Notes:

- N/A

Cole Miller created

de6216a ui: Move `IconDecoration` and `DecoratedIcon` to their own modules (#23157)

Click to expand commit body
This PR moves the `IconDecoration` and `DecoratedIcon` components to
their own modules.

Release Notes:

- N/A

Marshall Bowers created

167c564 theme: Pull directory and chevron icons out of `IconTheme::file_icons` (#23155)

Click to expand commit body
This PR pulls the directory and chevron icons out of the
`IconTheme::file_icons` collection and promotes them to named fields.

This makes things less stringly-typed when looking up these icons.

Release Notes:

- N/A

Marshall Bowers created

1178b3e gpui: Clean up `AppContext` doc comments (#23154)

Click to expand commit body
This PR cleans up some doc comments for the `AppContext.

Release Notes:

- N/A

Marshall Bowers created

88e42cc Refactor file icons to use `IconTheme` (#23153)

Click to expand commit body
This PR adds the initial concept of an `IconTheme` and refactors
`FileIcons` to use it to resolve the icons.

The `IconTheme` will ultimately be used to allow users to select a
different set of icons to use. Currently, however, this is just laying
the foundation for that work.

The association between file types and icons is now handled by the icon
theme when we resolve file icons. This mapping has been moved out of
`file_types.json` and into `icon_theme.rs`.

Release Notes:

- N/A

Marshall Bowers created

07d5824 assistant2: Revise thread visual design (#23083)

Click to expand commit body
This PR adjusts the design of the assistant 2 threads with the goal of
reducing visual busyness. My intention is to remove the amount of lines
and borders given it is a relatively tight space. It also refines the
"generating" floating container style, finally leveraging linear
gradients that were recently added to GPUI! Now, we only display headers
for "you" messages. Assistant responses will be rendered right in the
panel; not bounded by a card container.

<img width="800" alt="Screenshot 2025-01-14 at 7 08 39 PM"
src="https://github.com/user-attachments/assets/a8ffa780-0ef2-4d4b-ae19-3f02fd2d63a6"
/>

Release Notes:

- N/A

Danilo Leal created

077767a Migrate more events to telemetry::event (#22178)

Click to expand commit body
Release Notes:

- N/A

Joseph T. Lyons created

b7fd571 Revert "Add emacs keybindings for mark emulation" (#23146)

Click to expand commit body
- Reverts zed-industries/zed#22904
- See also: https://github.com/zed-industries/zed/issues/8580

After using it full-time for a day I very much think an implicit "mark
mode" when the emacs base keymap is enabled is the wrong approach.

Release Notes:

- Reverted "Add emacs keybindings for mark emulation" #23146 (main only)

Peter Tripp created

c038696 Add LM Studio support to the Assistant (#23097)

Click to expand commit body
#### Release Notes:

- Added support for [LM Studio](https://lmstudio.ai/) to the Assistant.

#### Quick demo:


https://github.com/user-attachments/assets/af58fc13-1abc-4898-9747-3511016da86a

#### Future enhancements:
- wire up tool calling (new in [LM Studio
0.3.6](https://lmstudio.ai/blog/lmstudio-v0.3.6))

---------

Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>

Yagil Burowski and Marshall Bowers created

4445679 Fix a typo in the task example (#23148)

Click to expand commit body
Release Notes:

- N/A

Kirill Bulatov created

a3e7444 Git panel polish (#23144)

Click to expand commit body
- Clicking checkbox in the header stages or unstages all changes
- Adds tooltips to header checkbox
- Addis the ability for checkboxes to have tooltips
- Ensure an entry in the list is always selected
- Hide revert all button for now

Release Notes:

- N/A

Nate Butler created

d13d099 git: Restore basic jump-to-file functionality (#23140)

Click to expand commit body
This just opens the file for the selected `GitListEntry` right now;
we'll add back integration with the project diff view later.

Release Notes:

- N/A

---------

Co-authored-by: Nate <nate@zed.dev>

Cole Miller and Nate created

de5f023 assistant2: Cancel generation button (#23137)

Click to expand commit body
Turns the "esc to cancel" label into a button so it can be dispatched
via click or keyboard. The keybinding isn't hardcoded anymore.

![CleanShot 2025-01-14 at 13 44
22@2x](https://github.com/user-attachments/assets/a947f58b-7de2-400b-b95a-384b78c79697)


Release Notes:

- N/A

Agus Zubiaga created

4febc7e assistant2: Cancel pending completion when an error occurs (#23143)

Click to expand commit body
This PR makes it so the pending completion is cleared when an error
occurs.

This makes it so `Thread::is_streaming()` will return `false` in the
error case (and thus hide the streaming indicator in the UI).

Release Notes:

- N/A

Marshall Bowers created

c33eb01 Change tooltip to 'Edit Prediction' (#23139)

Click to expand commit body
Release Notes:

- N/A

Thorsten Ball created

1ddf754 zeta: Rework displaying paths in completion rating modal (#23129)

Click to expand commit body
Two issues i ran into while looking at the completion rating modal
- Single-file worktrees file names are not displayed at all
- Hard to see the filename when the path is long (lots of directories)

This PR fixes this by displaying the filename on the left, followed by
the full path (including the worktree name), similar to how we do it in
the file finder/assistant panel /file command
| Before | After |
|--------|--------|
| <img width="1067" alt="Screenshot 2025-01-14 at 16 09 05"
src="https://github.com/user-attachments/assets/628fde18-da9a-4d98-8ddf-ed0ab0cd8d35"
/> | <img width="1161" alt="Screenshot 2025-01-14 at 16 17 52"
src="https://github.com/user-attachments/assets/80c6a4e1-065d-4b0a-b9c0-5f3391af4557"
/> |





Release Notes:

- N/A

Bennet Bo Fenner created

91b36c3 environments: Don't load shell environments in non-local worktrees (#23138)

Click to expand commit body
This fixes an error message that has shown up for me when joining collab
projects: "Unable to load shell environment in /<path on another
machine/"

Release Notes:

- Fixed error message about shell environment failing to load when
joining projects in collaboration.

Thorsten Ball created

39ac6e4 assistant2: Navigate context strip with keyboard (#23128)

Click to expand commit body
Context pills are now focusable and intractable via the keyboard.

- <kbd>←</kbd> and <kbd>→</kbd> move the focus to the previous or next
item (wrapping if necessary)
- <kbd>↓</kbd> and <kbd>↑</kbd> move the focus vertically
- If the cursor is in the first/last row of the assistant/inline editor,
they will move the focus to the strip
- Inside the strip, they will move the focus to the pill horizontally
overlapping the most
- If already in the first/last row of the strip, they will move to the
first/last pill (like in editors)
- If the first/last pill is focused, they will move the focus back to
the editor
- <kbd>⌫</kbd>  removes the focused pill (unless it's the suggested one)
- <kbd>⏎</kbd> accepts the suggested pill if focused
  


https://github.com/user-attachments/assets/040bc71c-a3ae-4961-9886-2d5c3d290a73



Release Notes:

- N/A

Agus Zubiaga created

78fd5b5 git_ui: Add Git Panel settings (#23132)

Click to expand commit body
This PR adds settings for the Git Panel.

The new settings include:

| Setting | Description | Default |
|---------|-------------|---------|
| `git_panel.button` | Toggle visibility of the Git Panel button in the
status bar | `true` |
| `git_panel.dock` | Choose where to dock the Git Panel | `"left"` |
| `git_panel.default_width` | Set the default width of the Git Panel in
pixels | `360` |
| `git_panel.status_style` | Select how Git status is displayed |
`"icon"` |
| `git_panel.scrollbar.show` | Configure scrollbar behavior | Inherits
from editor settings |

Example usage:

```json
"git_panel": {
  "button": true,
  "dock": "left",
  "default_width": 360,
  "status_style": "icon",
  "scrollbar": {
    "show": "auto"
  }
}
```

Release Notes:

- N/A

Nate Butler created

a677096 zeta: Various product fixes before Preview release (#23125)

Click to expand commit body
Various fixes for Zeta and one fix that's visible to non-Zeta-using
users of inline completions.

Release Notes:

- Changed inline completions (Copilot, Supermaven, ...) to not show up
in empty buffers.

---------

Co-authored-by: Antonio <antonio@zed.dev>
Co-authored-by: Antonio Scandurra <me@as-cii.com>
Co-authored-by: Bennet <bennet@zed.dev>

Thorsten Ball , Antonio , Antonio Scandurra , and Bennet created