This PR adds some more functionality to the Proposed Changes Editor
view, which we'll be using in
https://github.com/zed-industries/zed/pull/18240 for allowing the
assistant to propose changes to a set of buffers.
* Add an `Apply All` button, and fully implement applying of changes to
the base buffer
* Make the proposed changes editor searchable
* Fix a bug in branch buffers' diff state management
Release Notes:
- N/A
Max Brunsfeld
created
3161aed
Fix broken collaboration UI from #18308 (#18372)
Click to expand commit body
Fixes a bug introduced by #18308, that caused the call controls to
render incorrectly.
Release Notes:
- N/A
Release Notes:
- ssh remoting: Enable assistant panel and inline assists (running on
client)
Piotr Osiewicz
created
21a0239
Expand git diffs when clicking the gutter strip, display their controls in a block above (#18313)
Click to expand commit body
Todo:
* [x] Tooltips for hunk buttons
* [x] Buttons to go to next and previous hunk
* [x] Ellipsis button that opens a context menu with `Revert all`
/cc @iamnbutler @danilo-leal for design π
Release Notes:
- Changed the behavior of the git gutter so that diff hunk are expanded
immediately when clicking the gutter, and hunk controls are displayed
above the hunk.
---------
Co-authored-by: Marshall <marshall@zed.dev>
Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
Max Brunsfeld
,
Marshall
, and
Marshall Bowers
created
ae6a3d1
Make python run local worktree LSPs (#18353)
Click to expand commit body
Release Notes:
- Python: made it possible to use locally installed `pyright` if
available
---------
Co-authored-by: conrad <conrad@zed.dev>
Mikayla Maki
and
conrad
created
dc7c49b
Pin actions/stale action to 28ca103 (#18356)
Click to expand commit body
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [actions/stale](https://redirect.github.com/actions/stale) | action |
pinDigest | -> `28ca103` |
---
### 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:eyJjcmVhdGVkSW5WZXIiOiIzOC44MC4wIiwidXBkYXRlZEluVmVyIjoiMzguODAuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate[bot]
and
renovate[bot]
created
1eddd2f
Fix file descriptors leak in evals (#18351)
Click to expand commit body
Fixes an issue where evals were hitting "too many open files" errors
because we were adding (and detaching) new directory watches for each
project. Now we add those watches globally/at the worktree level, and we
store the tasks so they stop watching on drop.
Release Notes:
- N/A
---------
Co-authored-by: Max <max@zed.dev>
Co-authored-by: Piotr <piotr@zed.dev>
Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
Richard Feldman
,
Max
,
Piotr
, and
Piotr Osiewicz
created
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>