Related to #19424
This uses the new text object support, so will only work for languages
that have `textobjects.scm`. It does not integrate with
indentation-based folding for now, and the syntax-based folds don't have
matching fold markers in the gutter (unless they are folded).
Release Notes:
- Add an editor action to fold all function bodies
Co-authored-by: Conrad <conrad@zed.dev>
3019960
markdown: Make `cx` the last parameter to `Markdown::new_text` (#21497)
Click to expand commit body
This PR is a follow-up to
https://github.com/zed-industries/zed/pull/21487 to make sure that the
`cx` is the last parameter to `Markdown::new_text` as well.
Release Notes:
- N/A
Marshall Bowers
created
9f459ba
assistant2: Render messages as Markdown (#21496)
Click to expand commit body
This PR updates Assistant 2 to render the messages in the thread as
Markdown:
<img width="1138" alt="Screenshot 2024-12-03 at 6 09 27 PM"
src="https://github.com/user-attachments/assets/c1c44fde-1efb-43cf-b9c9-768e6974c753">
Release Notes:
- N/A
dc32ab2
Open folds containing selections when jumping from multibuffer (#21433)
Click to expand commit body
When searching within a single buffer, activating a search result causes
any fold containing the result to be unfolded. However, this didn't
happen when jumping to a search result from a project-wide search
multibuffer. This PR fixes that.
Release Notes:
- Fixed folds not opening when jumping from search results multibuffer
Cole Miller
created
aca23da
assistant2: Render messages in the thread using a `list` (#21491)
Click to expand commit body
This PR updates the rendering of the messages in the current thread to
use a `gpui::list`.
Release Notes:
- N/A
Marshall Bowers
created
db34f29
vim: Add == and fix = in the status bar (#21490)
This reverts commit 614b3b979b7373aaa6dee84dfbc824fce1a86ea8.
This conflicts with the macOS `ctrl-fn-left/right` bindings for moving
windows around (new in Sequoia).
If you want these use:
```
{
"context": "Editor",
"bindings": {
"ctrl-home": "editor::MoveToBeginning",
"ctrl-end": "editor::MoveToEnd"
}
},
```
Release Notes:
- N/A
In #20742 we added a call to remove_item that retain an item index over
an
await point. This led to a race condition that could panic if another
tab was
removed during that time. (cc @mgsloan)
This changes the API to make it harder to misuse.
Release Notes:
- Fixed a panic when closing tabs containing new unsaved files
Closes #14961
Release Notes:
- Fixed a panic when backspacing at the start of a buffer with
`always_treat_brackets_as_autoclosed` enabled.
Conrad Irwin
created
afb253b
ui: Ensure `Label` with `single_line` set does not wrap (#21444)
Click to expand commit body
Release Notes:
- N/A
---
Split from #21438, this change for make sure the `single_line` mode
Label will not be wrap.
---------
Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
Fix theme json schema so `./script/import-themes print-schema` works again
Update schema to reflect current structs
([diff](https://gist.github.com/notpeter/26e6d0939985f542e8492458442ac62a/revisions?diff=unified&w=))
https://zed.dev/schema/themes/v0.2.0.json
Co-Authored-By: Max <max@zed.dev>
Release Notes:
- vim: Added motions `[[`, `[]`, `]]`, `][` for navigating by section,
`[m`, `]m`, `[M`, `]M` for navigating by method, and `[*`, `]*`, `[/`,
`]/` for comments. These currently only work for languages built in to
Zed, as they are powered by new tree-sitter queries.
- vim: Added new text objects: `ic`, `ac` for inside/around classes,
`if`,`af` for functions/methods, and `g c` for comments. These currently
only work for languages built in to Zed, as they are powered by new
tree-sitter queries.
---------
Co-authored-by: Max <max@zed.dev>
The macOS input handler assumes that you want to insert control
sequences when
you type ctrl-alt-X (you probably don't...).
Release Notes:
- (nightly only) fix ctrl-alt-X shortcuts
Conrad Irwin
created
2dd5138
docs: Add anchor links for language-specific settings (#21469)
Peter Tripp
created
a464474
Properly handle opening of file-less excerpts (#21465)
Click to expand commit body
Follow-up of https://github.com/zed-industries/zed/pull/20491 and
https://github.com/zed-industries/zed/pull/20469
Closes https://github.com/zed-industries/zed/issues/21369
Release Notes:
- Fixed file-less excerpts always opening instead of activating
Kirill Bulatov
created
a0f2c07
Debounce diagnostics status bar updates (#21463)
Click to expand commit body
Closes https://github.com/zed-industries/zed/pull/20797
Release Notes:
- Fixed diagnostics status bar flashing when typing
Kirill Bulatov
created
1270ef3
Enable toolchain venv in new terminals (#21388)
Click to expand commit body
Fixes part of issue #7808
> This venv should be the one we automatically activate when opening new
terminals, if the detect_venv setting is on.
Release Notes:
- Selected Python toolchains (virtual environments) are now automatically activated in new terminals.
---------
Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
Sebastian Nickels
and
Piotr Osiewicz
created
a76cd77
Disable hunk diff arrow buttons when there's only one hunk (#21437)
Click to expand commit body
Closes https://github.com/zed-industries/zed/issues/20817
| One hunk | Multiple hunks |
|--------|--------|
| <img width="800" alt="Screenshot 2024-12-03 at 09 42 49"
src="https://github.com/user-attachments/assets/7c2ff80a-d4d9-4a74-84b8-891fadfd4e6c">
| <img width="800" alt="Screenshot 2024-12-02 at 23 36 38"
src="https://github.com/user-attachments/assets/60ea94b8-0b23-43a2-afad-b816b4645d1f">
|
Release Notes:
- Fixed showing prev/next hunk navigation buttons when there is only one
hunk
Danilo Leal
created
a8c7e61
Fix AI Context menu text wrapping causing overlap (#21438)
Click to expand commit body
Closes https://github.com/zed-industries/zed/issues/20678
| Before | After |
| --- | --- |
| <img width="672" alt="SCR-20241203-jreb"
src="https://github.com/user-attachments/assets/411ba2a6-712f-4ab7-a320-12ac9a35c1e1">
| <img width="771" alt="SCR-20241203-jwhe"
src="https://github.com/user-attachments/assets/022c8ee9-4089-4c09-aa4b-12a0f5528822">
|
Release Notes:
- Fixed AI Context menu text wrapping causing overlap.
Also cc #21409 @WeetHet @osiewicz to use `Label`, this PR has been fixed
`Label` to ensure `whitespace_nowrap` when use `single_line`.
---------
Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
It took me a couple of minutes of staring at this speaker icon to figure
out it was a speaker! I even researched whether the `.wav` file type had
a specific icon, given I thought it was a specific triangle of sorts 😅
I'm sensing audio waves, at this size, will be easier to parse.
Release Notes:
- N/A
Danilo Leal
created
b53b2c0
Run dependency review for pull requests only (#21432)
Click to expand commit body
This was an oversight in the original PR, dependency-review-action won't
work properly for `push` events
([example](https://github.com/zed-industries/zed/actions/runs/12130053580/job/33819624076)).
Release Notes:
- N/A
Cole Miller
created
e1c509e
Check for vulnerable dependencies in CI (#21424)
Click to expand commit body
This PR adds GitHub's dependency review action to CI, to flag PRs that
introduce new Cargo.lock entries for vulnerable crates according to the
GHSA database.
An alternative would be to run `cargo audit`, which checks against the
RustSec database. The state of synchronization between these two
databases seems a bit messy, but as far as I can tell GHSA has most
recent RustSec advisories on file, while RustSec is missing a larger
number of recent GHSA advisories.
The dependency review action should be smart enough not to flag PRs
because an untouched entry in Cargo.lock has a new advisory.
I've turned off the "license check" functionality since we have a
separate CI step for that.
Release Notes:
- N/A
Cole Miller
created
f4dbcb6
Use explicit sort order instead of comparison impls for gpui prims (#21430)
Click to expand commit body
Found this while looking into adding support for the Surface primitive
on Linux, for rendering video shares. In that case it would be
expensive to compare images for equality. `Eq` and `PartialEq` were
being required but not used here due to use of `Ord` and `PartialOrd`.
Release Notes:
- N/A
Bump dependencies for jupyter packages. cc @maxdeviant
Release Notes:
- N/A
Kyle Kelley
created
7c994cd
Add AutoIndent action and '=' vim operator (#21427)
Click to expand commit body
Release Notes:
- vim: Added the `=` operator, for auto-indent
Co-authored-by: Conrad <conrad@zed.dev>
Max Brunsfeld
and
Conrad
created
f3140f5
assistant2: Wire up error messages (#21426)
Click to expand commit body
This PR wires up the error messages for Assistant 2 so that they are
shown to the user:
<img width="1138" alt="Screenshot 2024-12-02 at 4 28 02 PM"
src="https://github.com/user-attachments/assets/d8a5b9bd-0cef-4304-b561-b2edadbc70ef">
<img width="1138" alt="Screenshot 2024-12-02 at 4 29 09 PM"
src="https://github.com/user-attachments/assets/0dd70841-0d5a-4de6-bebe-82c563246b65">
<img width="1138" alt="Screenshot 2024-12-02 at 4 32 49 PM"
src="https://github.com/user-attachments/assets/a8838866-fad1-43a9-8935-490dc1936016">
@danilo-leal I kept the existing UX from Assistant 1, as I didn't see
any errors in the design prototype, but we can revisit if another
approach would work better.
Release Notes:
- N/A
Marshall Bowers
created
72afe68
assistant: Use a smaller icon for the "New Chat" button (#21425)
Click to expand commit body
Assistant new chat icon is slightly larger than editor pane new icon.
Changes:
Adds `IconSize::Small` to assistant default size new chat icon, not
really noticeable, but matches the new icon in editor pane, and the
assistant dropdown menu that have icon size small.
|old|new|
|---|---|
|||
Release Notes:
- N/A
yoleuh
created
59dc6cf
toolchains: Run listing tasks on background thread (#21414)
Click to expand commit body
Potentially fixes #21404
This is a speculative fix, as while I was trying to repro this issue
I've noticed that introducing artificial delays in ToolchainLister::list
could impact apps responsiveness. These delays were essentially there to
stimulate PET taking a while to find venvs.
Release Notes:
- Improved app responsiveness in environments with multiple Python
virtual environments
Piotr Osiewicz
created
b88daae
assistant2: Add support for using tools provided by context servers (#21418)
Click to expand commit body
This PR adds support to Assistant 2 for using tools provided by context
servers.
As part of this I introduced a new `ThreadStore`.
Release Notes:
- N/A
---------
Co-authored-by: Cole <cole@zed.dev>
Marshall Bowers
and
Cole
created
f32ffcf
workspace: Sanitize pinned tab count before usage (#21417)
Click to expand commit body
Fixes all sorts of panics around usage of incorrect pinned tab count
that has been fixed in app itself, yet persists in user db.
Closes #ISSUE
Release Notes:
- N/A
Piotr Osiewicz
created
95a047c
tasks/rust: Add support for running examples as binary targets (#21412)
Click to expand commit body
Closes #21044
Release Notes:
- Added support for running Rust examples as tasks.
Piotr Osiewicz
created
dbe4182
Use proper terminal item for splitting context (#21415)
7c40824
Fix macOS IME overlay positioning (#21416)
Click to expand commit body
Release Notes:
- Improved positioning of macOS IME overlay
---------
Co-authored-by: Richard Feldman <richard@zed.dev>
Conrad Irwin
and
Richard Feldman
created
4e12f05
Fix dismissing the IME viewer with escape (#21413)
Click to expand commit body
Co-Authored-By: Richard Feldman <richard@zed.dev>
Closes #21392
Release Notes:
- Fixed dismissing the macOS IME menu with escape when no marked text
was present
---------
Co-authored-by: Richard Feldman <richard@zed.dev>
Conrad Irwin
and
Richard Feldman
created
f795ce9
Add language icons to the language selector (#21298)
Click to expand commit body
Closes https://github.com/zed-industries/zed/issues/21290
This is a first attempt to show the language icons to the selector.
Ideally, I wouldn't like to have yet another place mapping extensions to
icons, as we already have the `file_types.json` file doing that, but I'm
not so sure how to pull from it yet. Maybe in a future pass we'll
improve this and make it more solid.
<img width="700" alt="Screenshot 2024-11-28 at 16 10 27"
src="https://github.com/user-attachments/assets/683c3bef-5389-470f-a41e-3d510b927b61">
Release Notes:
- N/A
---------
Co-authored-by: Kirill Bulatov <kirill@zed.dev>
Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
Danilo Leal
,
Kirill Bulatov
, and
Piotr Osiewicz
created
Adds a new "Copy Extension ID" action to the dropdown of remote
extension cards in the extensions list UI. Would have liked for it to be
a context menu where you could click anywhere on the card, but couldn't
figure out how to integrate that with the existing setup.
I've been missing this from VSCode's extension panel, which allows this
on right click:

This is useful if you, say, want to add some extensions to
https://zed.dev/docs/configuring-zed#auto-install-extensions, where you
need the IDs.
Release Notes:
- Added "Copy Extension ID" action to extension card dropdown
---------
Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
uncenter
and
Marshall Bowers
created
89e4639
workspace: Serialize active panel even if it's not visible (#21408)
This addresses
https://github.com/zed-industries/zed/pull/19416#discussion_r1865019293
and also follows the [associated PostCSS file extensions for VS
Code](https://github.com/csstools/postcss-language/blob/5d003170c5ed962b09b9a0f3725a6cae885df292/package.json#L37).
Release Notes:
- `.pcss` files are now recognized as CSS
---------
Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
Finn Evers
and
Marshall Bowers
created
6cb758a
theme_importer: Add more mappings (#21393)
Click to expand commit body
This PR adds `search_match_background` and `editor_document_highlight_bracket_background` color mappings as they appear to be missing.
Here is a preview of the new `v.svg` in comparison with some of the
existing icons:

---------
Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
Delyan Angelov
and
Danilo Leal
created
2300f40
Add consistent placeholder text for terminal inline assist (#21398)
Click to expand commit body
Ensuring it is consistent with the buffer inline assistant. Just thought
of not having "Transform" here as that felt it made less sense for
terminal-related prompts, where arguably more frequently, one would be
suggesting for actual commands rather than code transformation.
<img width="700" alt="Screenshot 2024-12-02 at 09 11 00"
src="https://github.com/user-attachments/assets/ad96d03e-0366-46e8-8056-581066712d59">
Release Notes:
- N/A
Danilo Leal
created
dacd919
Add setting for making the tab's close button always visible (#21352)
740ba78
Fine-tune terminal tab bar actions spacing (#21391)
Click to expand commit body
Just quickly reducing the spacing between the terminal tab bar actions
so they're tighter and matching other similar components.
| Before | After |
|--------|--------|
| <img width="800" alt="Screenshot 2024-12-01 at 19 20 50"
src="https://github.com/user-attachments/assets/938336df-9ce1-42d3-8f3d-9c26b8e88453">
| <img width="800" alt="Screenshot 2024-12-01 at 19 18 19"
src="https://github.com/user-attachments/assets/0a2b5915-f37c-4b8e-af2c-b8018c4750ab">
|
Release Notes:
- N/A