Release Notes:
- Fixed overriding the path of a language server binary for all language
servers. `{"lsp":{"<lsp-name>":{"binary":{"path": "_"}}}}` will now work
for all language servers including those defined by extensions.
- (breaking change) To disable finding lsp adapters in your path, you
must now specify
`{"lsp":{"<lsp-name>":{"binary":{"ignore_system_version": true}}}}`.
Previously this was `{"lsp":{"<lsp-name>":{"binary":{"path_lookup":
false}}}}`. Note that this setting still does not apply to extensions.
- Removed automatic reinstallation of language servers. (It mostly
didn't work)
---------
Co-authored-by: Mikayla <mikayla@zed.dev>
Conrad Irwin
and
Mikayla
created
1f54fde
toml: Add highlight for escape sequences (#18346)
狐狸
created
19162c3
ssh remoting: Show error message if project path does not exist (#18343)
Click to expand commit body
This now shows an error message if you try open a project over SSH that
doesn't exist. If it's a possible file-path though, it acts like Zed's
`cli` and opens the file so that it can be created.
- Works: `cargo run ssh://127.0.0.1/~/folder-exists/file-does-not-exist`
— this will open `file-does-not-exist`
- Shows error: `cargo run
ssh://127.0.0.1/~/folder-does-not-exist/file-does-not-exist` — this will
show an error
Release Notes:
- N/A
Co-authored-by: Bennet <bennet@zed.dev>
Co-authored-by: Conrad <conrad@zed.dev>
300bf87
ssh remoting: Kill SSH master process when dropping client (#18331)
Click to expand commit body
This was a process leak. Since we use `.spawn()`, the process continued
to run in the background, even if our `SshClientState` was dropped.
Means we need to manually clean it up.
Release Notes:
- N/A
Co-authored-by: Bennet <bennet@zed.dev>
Thorsten Ball
and
Bennet
created
a6cb17f
chore: Fix violations of `elided_named_lifetimes` (#18330)
Click to expand commit body
I compile Zed from nightly build pretty often and I've noticed that
we're getting a few hits on new rustc lint:
https://github.com/rust-lang/rust/pull/129207
Release Notes:
- N/A
Piotr Osiewicz
created
9d197dd
ssh remoting: Fix SSH connection not being closed (#18329)
Click to expand commit body
This fixes the `SshSession` being leaked.
There were two leaks:
1. `Arc<SshSession>` itself got leaked into the `SettingsObserver` that
lives as long as the application. Fixed with a weak reference.
2. The two tasks spawned by an `SshSession` had a circular dependency
and didn't exit while the other one was running. Fixed by fixing (1)
and then attaching one of the tasks to the `SshSession`, which means
it gets dropped with the session itself, which leads the other task
to error and exit.
Co-authored-by: Bennet <bennet@zed.dev>
Release Notes:
- N/A
---------
Co-authored-by: Bennet <bennet@zed.dev>
Thorsten Ball
and
Bennet
created
623a6ec
git: Do not rescan .git on fsmonitor events (#18326)
Click to expand commit body
Fixes #16404 by ignoring events coming from
.git/fsmonitor--daemon/cookies subdirectory.
Closes #16404
Release Notes:
- Improved performance in repositories using Git fsmonitor--daemon
feature.
Piotr Osiewicz
created
7bb5109
file picker: Use muted color for file icons (#18325)
Click to expand commit body
I think they were too much in-your-face. Muted looks better.
Before:

After:

Release Notes:
- N/A
Thorsten Ball
created
eb71d2f
zig: Fix highlighting of keywords like `orelse`, `or`, `and` (#18323)
Click to expand commit body
This changes the Zig highlights.scm to tag all keywords with `@keyword`
and not with `@keyword.<subtype>`, so the highlighting works properly.
Closes #9355
Release Notes:
- N/A
Demo:

CI bot notified me about that in
https://github.com/zed-industries/zed/pull/18323
Release Notes:
- N/A
Thorsten Ball
created
e9bc9ed
remote_server: Fix opening a new remote project not refreshing the project panel (#18262)
Click to expand commit body
Currently, when open new remote project, project_panel not refresh, we
must `ctrl-p` and select an file to refresh the project_panel. After
that, project_panel will refresh when remote project window active.
Release Notes:
- Fixed remote projects not restoring previous locations and not
refreshing the project panel on open.
CharlesChen0823
created
9a86012
docs: Add example of TOML/taplo LSP settings (#18293)
Release Notes:
- ssh-remoting: Don't show "reveal in finder" in menu
Conrad Irwin
created
2d71c36
Allow clearning activity indicators on click (#18305)
Click to expand commit body
All indicators without the click action are now could be hidden with a click.
Sometimes, I see a few language server updates statuses get stuck due to npm desperately attempting to access its registry (3 times per each package, with the timeout a bit under 1 minute per each request).
So, while the message seems stuck, npm desperately tries to do some work in the background.
https://docs.npmjs.com/cli/v10/using-npm/config has options for timeouts & retries for __package fetching__ but that does not include the actual __registry access attempts__.
It's unclear how to proceed with npm on this case now, but at least we should allow hiding these redundant messages.
Release Notes:
- Improved activity indicators' UX by allowing more of them to be hidden on click
Kirill Bulatov
created
d2ffad0
collab: Seed GitHub users from static data (#18301)
Click to expand commit body
This PR updates the collab seed script to seed the GitHub users from a
set of static data.
This removes the need to hit the GitHub API to retrieve these users.
Release Notes:
- N/A
Marshall Bowers
created
692590b
collab: Fix GitHub user retrieval in seed script (#18296)
Click to expand commit body
This PR fixes the GitHub user retrieval in the database seed script.
The users returned from the [list
users](https://docs.github.com/en/rest/users/users?apiVersion=2022-11-28#list-users)
endpoint don't have a `created_at` timestamp, so we need to fetch them
individually.
I want to rework this further at a later date, this is just a bandaid to
get things working again.
Release Notes:
- N/A
@notpeter and I decided on these things:
- Give users 10 days to respond
- Only run once a week: Tuesday @7AM ET
Release Notes:
- N/A
Joseph T. Lyons
created
9606858
Fix unnecessarily-specific struct pattern in rust outline query (#18297)
Click to expand commit body
Fixes https://github.com/zed-industries/zed/issues/18294
Release Notes:
- Fixed a recent regression where tuple and unit structs were omitted
from the outline view in Rust (#18294).
This PR improves the display of diff hunks:
- Deleted hunks now show a regular line indicator in the gutter when
expanded
- The rounding on the diff indicators in the gutter has been removed.
We also did some refactoring to ensure the sizing of the diff indicators
in the gutter were consistent.
#### Collapsed
<img width="1624" alt="Screenshot 2024-09-24 at 11 13 26 AM"
src="https://github.com/user-attachments/assets/f864dc83-cbbc-4d81-a62b-65c406ed310a">
#### Expanded
<img width="1624" alt="Screenshot 2024-09-24 at 11 13 35 AM"
src="https://github.com/user-attachments/assets/04d382ca-e0e6-4f1c-92eb-cd1e3a031c2c">
Release Notes:
- Improved the appearance of diff hunks in the editor.
---------
Co-authored-by: Max <max@zed.dev>
Marshall Bowers
and
Max
created
2470db4
Reuse buffer search queries on tab switch (#18281)
Click to expand commit body
Before this change, with a large chunk of text as a search query (N*10^5
in my experiments) and the buffer search bar visible, switching between
editor tabs was very slow, even if the editors were N*10^2 lines long.
The slow switch was caused by Zed always re-creating the Aho-Corasick
queries, which is now reused.
Release Notes:
- Improved buffer search performance when switching tabs
Co-authored-by: Piotr Osiewicz <piotr@zed.dev>
Kirill Bulatov
and
Piotr Osiewicz
created
e87d6da
Implement grapheme support for supermaven completions (#18279)
Click to expand commit body
Closes [#18278](https://github.com/zed-industries/zed/issues/18278)
Release Notes:
- Fixed a panic when graphemes are included in supermaven completions
Sebastijan Kelnerič
created
437bcc0
ssh project: Handle multiple paths and worktrees correctly (#18277)
Click to expand commit body
This makes SSH projects work with `ssh_connections` that have multiple
paths:
```json
{
"ssh_connections": [
{
"host": "127.0.0.1",
"projects": [
{
"paths": [
"/Users/thorstenball/work/projs/go-proj",
"/Users/thorstenball/work/projs/rust-proj"
]
}
]
}
]
}
```
@ConradIrwin @mikayla-maki since this wasn't really released yet, we
didn't create a full-on migration, so old ssh projects that were already
serialized need to either be manually deleted from the database, or the
whole local DB wiped.
Release Notes:
- N/A
---------
Co-authored-by: Bennet <bennet@zed.dev>
Thorsten Ball
and
Bennet
created
3a2f065
Bump operations-per-run parameter in stale issues action (#18276)
Click to expand commit body
Release Notes:
- N/A
Joseph T. Lyons
created
336b4a5
Tweak close stale issues configuration (#18275)
Click to expand commit body
Release Notes:
- N/A
Joseph T. Lyons
created
93a4295
project search: Fix search results not being highlighted (#18273)
Click to expand commit body
Closes #18254
Closes #18219
Closes #17690
This fixes the project search not highlighting all results.
The problem was relatively simple, even though it took a while to find
it: we inserted multiple excerpts concurrently and the order in the
multi-buffer ended up being wrong. Sorting the resulting `match_ranges`
fixed the problem, but as it turns out, we can do a better job by moving
the concurrency into the method on the MultiBuffer.
Performance is the same, but now the problem is fixed.
Release Notes:
- Fixed search results in project-wide search not being highlighted
consistently and navigation sometimes being broken (#18254, #18219,
#17690)
---------
Co-authored-by: Bennet <bennet@zed.dev>
Thorsten Ball
and
Bennet
created
f019ad5
Don't highlight Python function arguments as variables (#18252)
Click to expand commit body
Works on
- #14892
Follow up to
- #17473
-
https://github.com/zed-industries/zed/pull/17984#issuecomment-2369815207
Release Notes:
- N/A
Boris Verkhovskiy
created
399e094
Properly use default search options in the buffer search bar (#18271)
Click to expand commit body
Only replace current search options if the search was dismissed and the
new options are different from the default ones.
Follow-up of https://github.com/zed-industries/zed/pull/17179
Closes https://github.com/zed-industries/zed/issues/18166
Release Notes:
- Fixed buffer search options toggling unexpectedly on redeploys
([#18166](https://github.com/zed-industries/zed/issues/18166))
Kirill Bulatov
created
dbc325e
vtsls: Move all default configuration to workspace_configuration (#18259)
Click to expand commit body
This fixes https://github.com/zed-industries/zed/issues/18014 by fixing
the regression that was introduced in
https://github.com/zed-industries/zed/pull/17757.
In short: after digging into the `vtsls` code, it looks like it
essentially doesn't need any `initialization_options`, it's all
workspace configuration, since it tries to use the built-in settings
from VS Code.
I tested the completions, the inlay hints, the max memory - all of it
now works after moving to `workspace_configuration`.
Closes #18014.
Release Notes:
- Fixed `vtsls` being initialized the wrong way, which would mean the
wrong options were used to enable completions or inlay hints.
Release Notes:
- (Potentially breaking change) Zed will now use the node installed on
your $PATH (if it is more recent than v18) instead of downloading its
own. You can disable the new behavior with `{"node":
{"disable_path_lookup": true}}` in your settings. We do not yet use
system/project-local node_modules.
---------
Co-authored-by: Mikayla <mikayla@zed.dev>