Commit log

622f088 Bump to 0.133.7 for @ConradIrwin

Zed Bot created

a9c9ae7 Don't iterate over all system processes (cherry-pick #11281) (#11285)

Click to expand commit body
Cherry-picked Don't iterate over all system processes (#11281)

Release Notes:

- Fixed a UI beachball when gathering process information

Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>

gcp-cherry-pick-bot[bot] and Conrad Irwin created

63e3d7d Retain run loop (#11241)

Click to expand commit body
Contributes: #11168


https://developer.apple.com/documentation/corefoundation/1542428-cfrunloopgetcurrent
implies that we should be `CFRetain`ing the run loop.

Lets do that, and see if it reduces the number of crashes we see.

Release Notes:

- (maybe) Fix a rare crash in watching settings files.

Conrad Irwin created

78841c6 Only keep one blame up-to-date (cherry-pick #11274) (#11277)

Click to expand commit body
Cherry-picked Only keep one blame up-to-date (#11274)

I was experiencing hang, and we blamed it on spawning a few hundred git
processes
simultaneously.

cc @MrNugget

Release Notes:

- Fixed slowness with hundreds of buffers open doing git blame.

Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>

gcp-cherry-pick-bot[bot] and Conrad Irwin created

0f825b8 Use HIGH priority to wake blocked timers (cherry-pick #11269) (#11278)

Click to expand commit body
Cherry-picked Use HIGH priority to wake blocked timers (#11269)

One contributor to some beach-balls was that the main thread was calling
block_with_timeout, but the timeout never fired.

Release Notes:

- Reduced main thread hangs under very high system load

Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>

gcp-cherry-pick-bot[bot] and Conrad Irwin created

3304200 Bump to 0.133.6 for @ConradIrwin

Zed Bot created

8164172 v0.133.x stable

Joseph T. Lyons created

71aa325 Don't allow dropping files on remote projects (cherry-pick #11218) (#11225)

Click to expand commit body
Cherry-picked Don't allow dropping files on remote projects (#11218)

Release Notes:

- Fixed a panic when a remote participant dropped a local file on your
project

Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>

gcp-cherry-pick-bot[bot] and Conrad Irwin created

07fd6d9 Bump to 0.133.5 for @ConradIrwin

Zed Bot created

6299c62 Fix panic in SVG rendering (cherry-pick #11196) (#11198)

Click to expand commit body
Cherry-picked Fix panic in SVG rendering (#11196)

Release Notes:

- Fixed a panic in SVG rendering

Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>

gcp-cherry-pick-bot[bot] and Conrad Irwin created

6b64abf Validate buffer_id of anchors in is_valid (cherry-pick #11170) (#11172)

Click to expand commit body
Cherry-picked Validate buffer_id of anchors in is_valid (#11170)

Release Notes:

- Fixes diagnostic panic better (follow up from #11066)

Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>

gcp-cherry-pick-bot[bot] and Conrad Irwin created

5929bc3 zed 0.133.4

Bennet Bo Fenner created

56e507a Fix relative line numbers (cherry-pick #11161) (#11164)

Click to expand commit body
Cherry-picked Fix relative line numbers (#11161)

Closes #11105

Release Notes:

- Fixed rendering of relative line numbers in editor
([#11105](https://github.com/zed-industries/zed/issues/11105)).

Co-authored-by: Thorsten <thorsten@zed.dev>

Co-authored-by: Bennet Bo Fenner <53836821+bennetbo@users.noreply.github.com>
Co-authored-by: Thorsten <thorsten@zed.dev>

gcp-cherry-pick-bot[bot] , Bennet Bo Fenner , and Thorsten created

ea46e54 release notes vN (cherry-pick #11077) (#11079)

Click to expand commit body
Cherry-picked release notes vN (#11077)

Make it more likely the draft release notes work...

Release Notes:

- N/A

Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>

gcp-cherry-pick-bot[bot] and Conrad Irwin created

7b33de3 Don't panic when a tree-sitter parse fails (#11076)

Click to expand commit body
Fixes
https://zed-industries.slack.com/archives/C04S6T1T7TQ/p1714162894982749

Release Notes:
* Fixed a crash that could happen if an error occurred in a parser
provided by an extension.

Co-authored-by: Conrad <conrad@zed.dev>

Max Brunsfeld and Conrad created

f6c7d03 Bump to 0.133.3 for @ConradIrwin

Zed Bot created

d7e3b79 Fix panic in Diagnostics (cherry-pick #11066) (#11068)

Click to expand commit body
Cherry-picked Fix panic in Diagnostics (#11066)

cc @maxbrunsfeld

Release Notes:

- Fixed a panic in populating diagnostics

Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>

gcp-cherry-pick-bot[bot] and Conrad Irwin created

7a0f039 Fix panic in rename selections (cherry-pick #11033) (#11034)

Click to expand commit body
Cherry-picked Fix panic in rename selections (#11033)

cc @someonetoignore

Release Notes:

- Fixed a panic when renaming with a selection (preview only)

Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>

gcp-cherry-pick-bot[bot] and Conrad Irwin created

e8ea7cf Fix panic in vim search (cherry-pick #11022) (#11030)

Click to expand commit body
Cherry-picked Fix panic in vim search (#11022)

Release Notes:

- vim: Fixed a panic when searching

Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>

gcp-cherry-pick-bot[bot] and Conrad Irwin created

759c341 Bump to 0.133.2 for @maxdeviant

Zed Bot created

09c3702 Revert "Changed cmd+w with no open tabs to close window (#10740)" (cherry-pick #10986) (#10988)

Click to expand commit body
Cherry-picked Revert "Changed cmd+w with no open tabs to close window
(#10740)" (#10986)

This PR reverts #10740, as it makes it too easy to close Zed
accidentally.

Quitting Zed when you don't mean to is disruptive and can break your
flow. This is even more the case when you're collaborating.

Therefore, we shouldn't make it easy to quit Zed when you don't mean to.

If we want to bring back this behavior it needs to have a corresponding
setting that should, in my opinion, be **off** by default. Additionally,
someone made the good point that this behavior should not be present on
Linux or Windows.

This reverts commit 5102e37a5bc344cb1f5f2a4116b55d4d3afafbb0.

Release Notes:

- Changed `cmd-w` with no open tabs to no longer close the window
(preview-only).

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

gcp-cherry-pick-bot[bot] and Marshall Bowers created

26c5f03 Ignore errors drafting release notes

Marshall Bowers created

fedb2aa Try `fetch-depth: 25`

Marshall Bowers created

de4e77c Try fetching tags

Marshall Bowers created

99007ab Bump to 0.133.1 for @maxdeviant

Zed Bot created

f9e59f0 Restore the previous styles for single-line editors (cherry-pick #10951) (#10952)

Click to expand commit body
Cherry-picked Restore the previous styles for single-line editors
(#10951)

This PR fixes a bug introduced in #10870 that caused editors used as
single-line inputs to have the wrong text style.

If this change was intentional for something relating to the new
Assistant panel, we'll need to figure out a way to change it without
breaking these other usages.

### Before

<img width="589" alt="Screenshot 2024-04-24 at 5 35 36 PM"

src="https://github.com/zed-industries/zed/assets/1486634/31624cfd-75d1-4771-9402-c14ef9e9483e">

<img width="326" alt="Screenshot 2024-04-24 at 5 35 46 PM"

src="https://github.com/zed-industries/zed/assets/1486634/1b76a3ef-7205-49ee-b391-7609f90461bd">

### After

<img width="588" alt="Screenshot 2024-04-24 at 5 36 14 PM"

src="https://github.com/zed-industries/zed/assets/1486634/9d550ee2-80c0-4afb-9b45-a2956471c546">

<img width="260" alt="Screenshot 2024-04-24 at 5 36 31 PM"

src="https://github.com/zed-industries/zed/assets/1486634/63240f27-1679-45d5-b39c-016860ff9683">

Release Notes:

- Fixed a bug where some inputs were using the wrong font style
(preview-only).

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

gcp-cherry-pick-bot[bot] and Marshall Bowers created

0689ef4 v0.133.x preview

Joseph T. Lyons created

d843713 Fix primary language server selection for formatting (#10939)

Click to expand commit body
This PR fixes the way we select the primary language server for use with
formatting.

Previously we were just taking the first one in the list, but this could
be the wrong one in cases where a language server was provided by an
extension in conjunction with a built-in language server (e.g.,
Tailwind).

We now use the `primary_language_server_for_buffer` method to more
accurately identify the primary one.

Fixes https://github.com/zed-industries/zed/issues/10902.

Release Notes:

- Fixed an issue where the wrong language server could be used for
formatting.

Marshall Bowers created

d0a5dbd terraform: Sync `Cargo.toml` version with `extension.toml` version (#10937)

Click to expand commit body
This PR syncs the `Cargo.toml` version with the `extension.toml`
version.

We should try to keep these in sync.

Release Notes:

- N/A

Marshall Bowers created

76ff467 Log which language servers will be started (#10936)

Click to expand commit body
This PR adds a new log message indicating which language servers will be
started for a given language.

The aim is to make debugging the usage of the new `language_servers`
setting (#10911) easier.

Release Notes:

- N/A

Marshall Bowers created

e1791b7 Autoscroll containing element when editor has a pending selection (#10931)

Click to expand commit body
Release Notes:

- N/A

Antonio Scandurra created

25e239d Fix autoscroll in the new assistant (#10928)

Click to expand commit body
This removes the manual calls to `scroll_to_reveal_item` in the new
assistant, as they are superseded by the new autoscrolling behavior of
the `List` when the editor requests one.

Release Notes:

- N/A

Antonio Scandurra created

f7ea137 Update docstring for SumTree (#10927)

Click to expand commit body
Need the updated docstring for the blog post.
Release Notes:

- N/A

Thorsten Ball created

6108140 Properly extract package name out of cargo pkgid (#10929)

Click to expand commit body
Fixes https://github.com/zed-industries/zed/issues/10925

Uses correct package name to generate Rust `cargo` tasks.
Also deduplicates lines in task modal item tooltips.

Release Notes:

- Fixed Rust tasks using incorrect package name
([10925](https://github.com/zed-industries/zed/issues/10925))

Kirill Bulatov created

135a5f2 Enable unfocused windows to update their status based on whether they are clickable or not (#10229)

Click to expand commit body
- Fixed #9784 By removing the interception of the MouseMove event, zed
can update the corresponding Hover even when it is inactive

Hans created

dfd4d2a chore: remove repetitive word (#10923)

hardlydearly created

fbc6e93 Fix regressions in `List` (#10924)

Click to expand commit body
Release Notes:

- N/A

Antonio Scandurra created

af5a9fa Include root schema as parameters for tool calling (#10914)

Click to expand commit body
Allows `LanguageModelTool`s to include nested structures, by exposing
the definitions section of their JSON Schema.

Release Notes:

- N/A

Kyle Kelley created

2598155 Extract Deno extension (#10912)

Click to expand commit body
This PR extracts Deno support into an extension and removes the built-in
Deno support from Zed.

When using the Deno extension, you'll want to add the following to your
settings to disable the built-in TypeScript and ESLint language servers
so that they don't conflict with Deno's functionality:

```json
{
  "languages": {
    "TypeScript": {
      "language_servers": ["deno", "!typescript-language-server", "!eslint", "..."]
    },
    "TSX": {
      "language_servers": ["deno", "!typescript-language-server", "!eslint", "..."]
    }
  }
}

```

Release Notes:

- Removed built-in support for Deno, in favor of making it available as
an extension.

Marshall Bowers created

cf67fc9 Add `language_servers` setting for customizing which language servers run (#10911)

Click to expand commit body
This PR adds a new `language_servers` setting underneath the language
settings.


This setting controls which of the available language servers for a
given language will run.

The `language_servers` setting is an array of strings. Each item in the
array must be either:

- A language server ID (e.g., `"rust-analyzer"`,
`"typescript-language-server"`, `"eslint"`, etc.) denoting a language
server that should be enabled.
- A language server ID prefixed with a `!` (e.g., `"!rust-analyzer"`,
`"!typescript-language-server"`, `"!eslint"`, etc.) denoting a language
server that should be disabled.
- A `"..."` placeholder, which will be replaced by the remaining
available language servers that haven't already been mentioned in the
array.

For example, to enable the Biome language server in place of the default
TypeScript language server, you would add the following to your
settings:

```json
{
  "languages": {
    "TypeScript": {
      "language_servers": ["biome", "!typescript-language-server", "..."]
    }
  }
}
```

More details can be found in #10906.

Release Notes:

- Added `language_servers` setting to language settings for customizing
which language server(s) run for a given language.

Marshall Bowers created

68a1ad8 New revision of the Assistant Panel (#10870)

Click to expand commit body
This is a crate only addition of a new version of the AssistantPanel.
We'll be putting this behind a feature flag while we iron out the new
experience.

Release Notes:

- N/A

---------

Co-authored-by: Nathan Sobo <nathan@zed.dev>
Co-authored-by: Antonio Scandurra <me@as-cii.com>
Co-authored-by: Conrad Irwin <conrad@zed.dev>
Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
Co-authored-by: Antonio Scandurra <antonio@zed.dev>
Co-authored-by: Nate Butler <nate@zed.dev>
Co-authored-by: Nate Butler <iamnbutler@gmail.com>
Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
Co-authored-by: Max <max@zed.dev>

Kyle Kelley , Nathan Sobo , Antonio Scandurra , Conrad Irwin , Marshall Bowers , Antonio Scandurra , Nate Butler , Nate Butler , Max Brunsfeld , and Max created

e0c83a1 remote projects per user (#10594)

Click to expand commit body
Release Notes:

- Made remote projects per-user instead of per-channel. If you'd like to
be part of the remote development alpha, please email hi@zed.dev.

---------

Co-authored-by: Bennet Bo Fenner <53836821+bennetbo@users.noreply.github.com>
Co-authored-by: Bennet <bennetbo@gmx.de>
Co-authored-by: Nate Butler <1714999+iamnbutler@users.noreply.github.com>
Co-authored-by: Nate Butler <iamnbutler@gmail.com>

Conrad Irwin , Bennet Bo Fenner , Bennet , Nate Butler , and Nate Butler created

8ae4c32 storybook: Fix crash in Kitchen Sink and Auto Height Editor stories (#10904)

Click to expand commit body
The *Kitchen Sink* as well as the *Auto Height Editor* story is crashing
for the same reason that the Picker story was crashing...

### Related Topics

- Picker Story PR : #10793 
- Picker Story Issue : #10739 
- Introduced By : #10620 

Release Notes:

- N/A

Michael Angerman created

f6eaa8b Clean up whitespace (#10755)

Click to expand commit body
I saved the `file_types.json` file and got a diff because it had some
trailing whitespace. I ran
[`lineman`](https://github.com/JosephTLyons/lineman) on the codebase.
I've done this before, but this time, I've added in the following
settings to our `.zed` local settings, to make sure every future save
respects our desire to have consistent whitespace formatting.

```json
"remove_trailing_whitespace_on_save": true,
"ensure_final_newline_on_save": true
```

Release Notes:

- N/A

Joseph T. Lyons created

85b26e9 Store goldenfiles with trailing newline (#10900)

Click to expand commit body
Release Notes:


- N/A

Thorsten Ball created

2ee257a task_ui: Move status indicator into tab bar of terminal panel (#10846)

Click to expand commit body
I'm not a huge fan of this change (& I expect the placement to change).
The plan is to have the button in a toolbar of terminal panel, but I'm
not sure if occupying a whole line of vertical space for a single button
is worth it; I suppose we might want to put more of tasks ui inside of
that toolbar.
Release Notes:

- Removed task status indicator and added "Spawn task" action to
terminal panel context menu.

Piotr Osiewicz created

bcbf2f2 Introduce autoscroll support for elements (#10889)

Click to expand commit body
This pull request introduces the new
`ElementContext::request_autoscroll(bounds)` and
`ElementContext::take_autoscroll()` methods in GPUI. These new APIs
enable container elements such as `List` to change their scroll position
if one of their children requested an autoscroll. We plan to use this in
the revamped assistant.

As a drive-by, we also:

- Renamed `Element::before_layout` to `Element::request_layout`
- Renamed `Element::after_layout` to `Element::prepaint`
- Introduced a new `List::splice_focusable` method to splice focusable
elements into the list, which enables rendering offscreen elements that
are focused.

Release Notes:

- N/A

---------

Co-authored-by: Nathan <nathan@zed.dev>

Antonio Scandurra and Nathan created

efcd31c Update documentation and handling to use a `crates/collab/seed.json` (#10874)

Click to expand commit body
Updates `collab` to accept a `seed.json` file that allows you to
override the defaults. Updated the `README` in collab to just have
directions inside instead of redirecting the developer to the website.

Release Notes:

- N/A

Co-authored-by: Max <max@zed.dev>

Kyle Kelley and Max created

ae3c641 wayland: File drag and drop (#10817)

Click to expand commit body
Implements file drag and drop on Wayland


https://github.com/zed-industries/zed/assets/71973804/febcfbfe-3a23-4593-8dd3-e85254e58eb5


Release Notes:

- N/A

apricotbucket28 created

029eb67 Add `SettingsSources::<T>::json_merge_with` function (#10869)

Click to expand commit body
This PR adds a `json_merge_with` function to `SettingsSources::<T>` to
allow JSON merging settings from custom sources.

This should help avoid repeating the actual merging logic when all that
needs to be customized is which sources are being respected.

Release Notes:

- N/A

Marshall Bowers created