43ccb51
Cherry-pick char_index_for_point fix to v0.172.x (#24286)
Click to expand commit body
Manual cherry-pick of #23989
Release Notes:
- Fixed a bug where Zed could crash with certain input sources on macOS
Co-authored-by: Mikayla Maki <mikayla@zed.dev>
Co-authored-by: Louis Brunner <louis.brunner.fr@gmail.com>
Co-authored-by: ben <ben@zed.dev>
Cole Miller
,
Mikayla Maki
,
Louis Brunner
, and
ben
created
3dd6dfb
Fix the worktree's repository_for_path (cherry-pick #24279) (#24283)
Click to expand commit body
Cherry-picked Fix the worktree's repository_for_path (#24279)
Go back to a less optimized implementation for now since the custom
cursor target seems to have some bugs.
Release Notes:
- Fixed missing git blame and status output in some projects with
multiple git repositories
Co-authored-by: Cole Miller <cole@zed.dev>
gcp-cherry-pick-bot[bot]
and
Cole Miller
created
3c405af
Fix panic when deleting an empty line after a deleted hunk (cherry-pick #24255) (#24280)
Click to expand commit body
Cherry-picked Fix panic when deleting an empty line after a deleted hunk
(#24255)
Release Notes:
- Fix a panic when deleting text after a deletion hunk
Co-authored-by: Cole Miller <cole@zed.dev>
Closes https://github.com/zed-industries/zed/issues/10192 , again.
Release Notes:
- Fixed multiple save modals appearing when app is being closed multiple
times
Kirill Bulatov
created
39d77b2
Fix missing modifier changed events on Linux X11 (#24154)
Click to expand commit body
Release Notes:
- Fixed some modifier changed events not being present on Linux X11.
This affected things like the project search palette, where holding ctrl
would not cause the split options to appear.
d4531af
Invalidate GPUI views regardless of draw phase (#24164)
Click to expand commit body
We think this could fix issues around view invalidation during focus
handling.
I want to run CI on this and see.
cc @mikayla-maki @maxbrunsfeld
Release Notes:
- N/A
623b6a2
themes: Make background colors partly transparent by default (#24151)
Click to expand commit body
Certain themes define the `created` and `deleted` status colors, but not
`created_background` and `deleted_background`. Previously, Zed would use
`created` and `deleted` colors, and apply a hard-coded opacity change,
but *not* use `created_background` and `deleted_background`, but that
behavior was inadvertently changed in
https://github.com/zed-industries/zed/pull/22994.
This PR restores the old behavior as a fallback. If a theme defines a
status color, but not the corresponding background color, we'll use a
75% transparent version of the foreground color as a fallback.
Release Notes:
- Fixed an issue in certain themes where diffs would render with the
wrong red and green colors for deletions and insertions.
d7d7d4c
extensions_ui: Show the filtered icon theme selector when installing an icon theme (#23992)
Click to expand commit body
This PR makes it so when you install an extension with icon themes it
will deploy the icon theme selector filtered down to the newly-installed
icon themes.
This is similar to what we do when installing an extension with themes.
Because we can only have one picker open at a time, when installing an
extension that has _both_ themes and icon themes, the theme selector
will take precedence.
Release Notes:
- N/A
This PR adds support for icon themes.
Closes https://github.com/zed-industries/zed/issues/8843.
Here is Zed with Material Icons:
<img width="1136" alt="Screenshot 2025-01-30 at 7 02 06 PM"
src="https://github.com/user-attachments/assets/57d8a0e0-ff38-44d9-8628-af58a60a7c9a"
/>
### Extensions
Extensions can provide icon themes as well as the icons used in those
themes.
Icon themes are defined as JSON files in the `icon_themes` directory,
and icons included in the `icons` directory will be packaged up with the
extension.
All icon paths within an icon theme are interpreted relative to the root
of the extension.
See the [Material Icon
Theme](https://github.com/zed-extensions/material-icon-theme) extension
for an example.
Release Notes:
- Added support for icon themes.
- Extensions can now provide icon themes.
- Use the `icon theme selector: toggle` action to switch between
installed icon themes.
Marshall Bowers
created
6ba3b2d
theme: Properly resolve directory and chevron icons from icon themes (#23984)
Click to expand commit body
This PR fixes an issue where we weren't properly resolving directory and
chevron icons from icon themes the way we were for file icons.
We need to interpret the icon paths as relative to the extension
directory.
Release Notes:
- N/A
This PR adds an icon theme selector for switching between icon themes:
https://github.com/user-attachments/assets/2cdc7ab7-d9f4-4968-a2e9-724e8ad4ef4d
Release Notes:
- N/A
Marshall Bowers
created
356f90c
Switch GitHub Copilot Chat from o1-mini to o3-mini (#24080)
a3c9f94
assistant: Use GPT 4 tokenizer for `o3-mini` (#24068)
Click to expand commit body
Sorry to dump an unsolicited PR for a hot feature! I'm sure someone else
was taking a look at this.
I noticed that token counting was disabled and I was getting error logs
of the form `[2025-01-31T22:59:01-05:00 ERROR assistant_context_editor]
No tokenizer found for model o3-mini` when using the new model. To fix
the issue, this PR registers the `gpt-4` tokenizer for this model.
Release Notes:
- openai: Fixed Assistant token counts for `o3-mini` models
1be2281
Fix data collection permission asked multiple times for same worktree (#24016)
Click to expand commit body
After the user confirmation, only the current instance of the
completions provider had the answer stored.
In this PR, the changes are propagated by having each provider have an
`Entity<choice>`, and having a lookup map with one `Entity<choice>` for
each worktree that `Zeta` has seen.
Release Notes:
- N/A
João Marcos
created
edf69b3
workspace: Make "New Window" bring app to foreground (#24015)
Click to expand commit body
Closes #ISSUE
Release Notes:
- "New Window" action will now bring App to foreground.
Piotr Osiewicz
created
2d1d5b8
Fix two bugs in new diff hunk handling (#23990)
Click to expand commit body
Closes https://github.com/zed-industries/zed/issues/23981
Release Notes:
- Fixed a crash that could happen when expanding certain diff hunks
- Fixed a bug where diff hunks were not syntax highlighted when
reopening a project with previously-opened buffers.
Agus Zubiaga
,
Danilo Leal
,
Danilo
, and
João Marcos
created
0d2e6fd
Revise "Hide/Show Inline Completions" menu (#23808)
Click to expand commit body
> **Note:** https://github.com/zed-industries/zed/pull/23813 should be
merged first!
@nathansobo and I paired on revising this menu, including adding the
"Predict Edits at Cursor" menu item (to make the keyboard shortcut more
discoverable; clicking it makes the inline edits show up, as shown in
the second screenshot) and switching from "Hide/Show" language to
checkboxes.
## Before
<img width="282" alt="Screenshot 2025-01-28 at 4 51 37 PM"
src="https://github.com/user-attachments/assets/309c82c1-8fb5-44db-950e-1a8789a63993"
/>
## After
<img width="1138" alt="Screenshot 2025-01-28 at 4 50 05 PM"
src="https://github.com/user-attachments/assets/302a126c-9389-42a4-bb7d-2896bce859e7"
/>
We also switched to use `SharedString` in more places, where it made
more sense.
@danilo-leal This isn't necessarily *exactly* what we want, but we were
pairing and decided to get it in a state where we can actually try it
out and tweak from here.
Release Notes:
- N/A
---------
Co-authored-by: Nathan <nathan@zed.dev>
Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
Co-authored-by: Marshall Bowers <git@maxdeviant.com>
Richard Feldman
,
Nathan
,
Danilo Leal
, and
Marshall Bowers
created
e716eb6
Revert "Attempt to suppress embeds in Discord webhook (#23807)" (#23855)
This PR adds a new internal `POST /snowflake/events` endpoint to collab.
This endpoint is protected with the admin token like our other internal
endpoints.
This endpoint accepts a `SnowflakeRow` in the body and writes it to the
AWS Kinesis stream.
Release Notes:
- N/A
Marshall Bowers
created
fb9b4ee
edit prediction: Remove zeta codename from action (#23835)
Click to expand commit body
Release Notes:
- N/A
Bennet Bo Fenner
created
07161d6
Bind editor::OpenSelectionsInMultibuffer in `full` editors only (#23832)
Click to expand commit body
Follow-up of https://github.com/zed-industries/zed/pull/23648
Binding `alt-enter` to all editors breaks
https://github.com/zed-industries/zed/blob/46f45464be2d45def9ac51e29dea8690da051302/assets/keymaps/default-macos.json#L281
key binding for buffer search, and it's impossible to select all search
matches anymore.
Release Notes:
- N/A
Closes https://github.com/zed-industries/zed/discussions/23823
* Fixes terminal drag and drop not working after
https://github.com/zed-industries/zed/pull/23256
* Fixes project panel items drag and drop not working after selection
overhaul even earlier: now, all marked items are added to terminal on
drag and drop
Release Notes:
- Fixed terminal drag and drop, including project panel items
Kirill Bulatov
created
d2d9f49
edit prediction: Do not log error when prediction cannot be interpolated (#23826)
Click to expand commit body
Previously we returned an error when the interpolation failed in
`process_completion_response`.
However, it is not an error when interpolation returns `None`. That just
means that the predicted edits can be discarded, because the user typed
something that is not a subset of what the model predicted OR if the
model responds with a no-op.
```
2025-01-29T09:44:30.221135+01:00 [ERROR] zeta prediction failed
Caused by:
Interpolated edits are empty
```
Release Notes:
- N/A
Bennet Bo Fenner
created
6d4ccb0
Fix `project_panel::NewDirectory` in TextMate keymap (#23825)
Click to expand commit body
Release Notes:
- Fixed incorrect action names in TextMate keymap.
Jason Lee
created
dbdf140
Show settings file errors on startup (#23817)
Click to expand commit body
Required using a global `LazyLock<Mutex<AppNotifications>>` instead of a
context global because settings errors first occur before initialization
of the notifications global.
Release Notes:
- Errors in settings file are now reported in UI on startup.
Michael Sloan
created
06936c6
Prompt users to use Discussions for feature requests (#23821)
Click to expand commit body
I'm moving forward on this - we can revert if it ends up being a bad
move.
Release Notes:
- N/A
Joseph T. Lyons
created
43f3491
Add comment explaining why AddSurrounds target is not deserializable (#23820)
Click to expand commit body
See #23088
Release Notes:
- N/A
Michael Sloan
created
16004d4
Fix deprecated alias for toggling hunks (#23818)
Click to expand commit body
Release Notes:
- N/A
João Marcos
created
9e31b10
vim: Add any brackets to support motions like ab and ib to work with any type of brackets (#23679)
Click to expand commit body
# Add AnyBrackets text object for Vim mode
## Overview
This PR introduces a new text object `AnyBrackets` that allows
operations on the closest matching pair of brackets, regardless of the
bracket type. This enhances the editing experience by reducing the need
to identify specific bracket types before performing text operations.
By default, this feature is NOT mapped to any key in vim.json. However,
it can be enabled manually, and the recommended key for mapping is b:
If you want to add it to your zed keymap config you need to add the
following config:
```json
{
"context": "vim_operator == a || vim_operator == i || vim_operator == cs",
"bindings": {
"b": "vim::AnyBrackets"
}
}
```
## Features
- New text object that works with parentheses `()`, square brackets
`[]`, curly braces `{}`, they are also know as round brackets, square
brackets and curly brackets in english.
- Automatically finds the closest matching pair of any bracket type
- Works with all standard Vim operators (delete, change, yank)
- Supports both "inside" and "around" variants (`i` and `a`)
## Usage Examples
```vim
# Delete inside the closest brackets
di( # Works on (), [] or {} depending on which is closest
# Change around the closest brackets
ca[ # Works on (), [] or {} depending on which is closest
# Visual select inside the closest brackets
vi{ # Works on (), [] or {} depending on which is closest
```
# References:
- Based on the popular plugin https://github.com/echasnovski/mini.ai
# Important Notes
This PR also fixes a bug with nested quotes on AnyQuotes, now it works
fine with any type of quotes or brackets.
Please take a look at the new tests to understand the expected behavior.
Release Notes:
- vim: Add `ab`/`ib` "AnyBrackets" text objects that are the smallest of
`a(`, `a[` or `a{` or `i(`, `i[` or `i{`
- vim: Fix aq/iq "AnyQuotes" text objects when they are nested
Osvaldo
created
442ea50
Ensure hunk controls have unique element ids (#23815)
Click to expand commit body
This fixes an edge case when two hunk controls button groups were
visible (due to having text cursor on one hunk, and mouse cursor on the
other). In that situation, the mouse states for the two button groups
would mirror.
Release Notes:
- N/A
Max Brunsfeld
created
33d1145
Refactor to use `SharedString` in more places (#23813)
Click to expand commit body
Splitting this off from
https://github.com/zed-industries/zed/pull/23808, per @maxdeviant's
suggestion!
Release Notes:
- N/A
---------
Co-authored-by: Nathan <nathan@zed.dev>
Richard Feldman
and
Nathan
created
92a1cb8
Restore go to type definition et.al (#23810)
Click to expand commit body
Accidentally dropped by the GPUI3 refactr
Release Notes:
- N/A