a79def0
Update Rust crate quote to v1.0.38 (#22553)
Click to expand commit body
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [quote](https://redirect.github.com/dtolnay/quote) | dependencies |
patch | `1.0.37` -> `1.0.38` |
---
### Release Notes
<details>
<summary>dtolnay/quote (quote)</summary>
###
[`v1.0.38`](https://redirect.github.com/dtolnay/quote/releases/tag/1.0.38)
[Compare
Source](https://redirect.github.com/dtolnay/quote/compare/1.0.37...1.0.38)
- Support interpolating arrays inside of arrays using a repetition
([#​286](https://redirect.github.com/dtolnay/quote/issues/286))
</details>
---
### 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:eyJjcmVhdGVkSW5WZXIiOiIzOS44NS4wIiwidXBkYXRlZEluVmVyIjoiMzkuODUuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate[bot]
and
renovate[bot]
created
2d431e9
Improve truncate efficiency and fix OBOE in truncate_and_remove_front (#22591)
Click to expand commit body
* Skip walking string for truncate when byte len is <= char limit
* Fix `truncate_and_remove_front` returning string that is `max_chars +
1` in length. Now more consistent with `truncate_and_trailoff` behavior.
* Fix `truncate_and_remove_front` adding ellipsis when max_chars == char
length
Release Notes:
- N/A
Michael Sloan
created
f9df8c1
Use the same label for both string and bag in tasks modal fuzzy match (#22022)
Click to expand commit body
#22592 tracks properly doing fuzzy match within the full label
Release Notes:
- N/A
8cb397c
project_panel: Open rename file editor if pasted file was disambiguated (#19975)
Click to expand commit body
Closes #19974.
When a file is pasted in the project panel at a location where a file
with that name already exists, the new file's name is disambiguated by
appending " copy" at the end. This happens on the paste and the
duplicate actions, as well as when Alt-dragging files.
With this PR, this will now open the file rename editor with the
disambiguator pre-selected.
Open question:
With this PR's current implementation, this won't always work when
pasting multiple files at once. In this case, the file rename editor
only opens for the last pasted file, if that file was disambiguated. If
only other files were disambiguated instead, it won't open.
This roughly mimics the previous paste behaviour, namely that only the
last pasted file was selected.
I see two options here: If multiple files were pasted and some of them
were disambiguated, we could select and open the rename editor for the
last file that was actually disambiguated (easy), or we could open a
kind of multi-editor for all files (hard, but maybe a multi-rename
editor could actually be interesting in general...).
Release Notes:
- Open rename file editor if pasted file was disambiguated
Josef Zoller
created
374c298
assistant2: Suggest current thread in inline assistant (#22586)
20c0d72
ci: Make docs-only check a no-op in the merge queue (#22576)
Click to expand commit body
This PR makes the docs-only check a no-op that defaults to `false` when
running in the merge queue.
I noticed that the current check did not work properly in the merge
queue, resulting in it always assuming a change was docs-only and not
running the requisite CI jobs.
Release Notes:
- N/A
Marshall Bowers
created
d5f058d
Update swatinem/rust-cache digest to f0deed1 (#22552)
Click to expand commit body
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [swatinem/rust-cache](https://redirect.github.com/swatinem/rust-cache)
| action | digest | `82a92a6` -> `f0deed1` |
---
### 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:eyJjcmVhdGVkSW5WZXIiOiIzOS44NS4wIiwidXBkYXRlZEluVmVyIjoiMzkuODUuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This updates the docs after the setting was changed in #22364
Release Notes:
- N/A
Bennet Bo Fenner
created
b009e72
terminal: Support clicking on "file://" URLs with line numbers (#22559)
Click to expand commit body
Closes #10325
Release Notes:
- Fixed an issue inside the integrated terminal where clicking on URLs
that started with `file://` would sometimes not work when the path
included a line number (e.g. `file:///Users/someuser/lorem.txt:221:22`)
Bennet Bo Fenner
created
f55a362
Add fine-grained control for scrollbar diagnostics (#22364)
Click to expand commit body
This PR updates the scrollbar diagnostic setting to provide fine-grained
control over which indicators to show, based on severity level. This
allows the user to hide lower-severity diagnostics that can otherwise
clutter the scrollbar (for example, unused or disabled code).
The options are set such that the existing boolean setting has the same
effect: when `true` all diagnostics are shown, and when `false` no
diagnostics are shown.
Closes #22296.
Release Notes:
- Added fine-grained control of scrollbar diagnostic indicators.
Aaron Feickert
created
3ac0aef
Update Rust crate unicase to v2.8.1 (#22558)
Click to expand commit body
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [unicase](https://redirect.github.com/seanmonstar/unicase) |
dependencies | patch | `2.8.0` -> `2.8.1` |
| [unicase](https://redirect.github.com/seanmonstar/unicase) |
workspace.dependencies | patch | `2.8.0` -> `2.8.1` |
---
### Release Notes
<details>
<summary>seanmonstar/unicase (unicase)</summary>
###
[`v2.8.1`](https://redirect.github.com/seanmonstar/unicase/releases/tag/v2.8.1)
[Compare
Source](https://redirect.github.com/seanmonstar/unicase/compare/v2.8.0...v2.8.1)
##### What's Changed
- fix: hash for Unicode will call write_u8 like Ascii does by
[@​seanmonstar](https://redirect.github.com/seanmonstar) in
[https://github.com/seanmonstar/unicase/pull/73](https://redirect.github.com/seanmonstar/unicase/pull/73)
- fix: provide prefix-freedom in Hash impls by
[@​seanmonstar](https://redirect.github.com/seanmonstar) in
[https://github.com/seanmonstar/unicase/pull/74](https://redirect.github.com/seanmonstar/unicase/pull/74)
**Full Changelog**:
https://github.com/seanmonstar/unicase/compare/v2.8.0...v2.8.1
</details>
---
### 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 these
updates again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
Release Notes:
- N/A
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS44NS4wIiwidXBkYXRlZEluVmVyIjoiMzkuODUuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate[bot]
and
renovate[bot]
created
59b5b9a
assistant2: Suggest current file as context (#22526)
Click to expand commit body
Suggest adding the current file as context in the new assistant panel.
https://github.com/user-attachments/assets/62bc267b-3dfe-4a3b-a6af-c89af2c779a8
Note: This doesn't include suggesting the current thread in the inline
assistant.
Release Notes:
- N/A
5447821
gpui/perf: Use SharedString on API boundary of line layout (#22566)
Click to expand commit body
This commit is all about strings, not about line layout at all. When
laying out text, we use a line layout cache to avoid roundtrips to
system layout engine where possible. This makes it so that we might end
up not needing an owned version of text to insert into the cache, as we
might get a cached version.
The API boundary of line layout accepted text to be laid out as &str. It
then performed cache lookup (which didn't require having an owned
version) and only resorted to making an owned version when needed. As it
turned out though, exact cache hits are quite rare and we end up needing
owned version more often than not. The callers of line layout either
dealt with SharedStrings or owned Strings. Due to coercing them into
&str, we were ~always copying text into a new string (unless there was a
same-frame-hit). This is a bit wasteful, thus this PR generifies the API
a bit to make it easier to reuse existing string allocations if there
are any.
Benchmark scenario: scrolling down page-by-page through editor_tests (I
ran the same scenario twice):


Release Notes:
- N/A
Piotr Osiewicz
created
665717d
Fuzzy match performance improvements redo (#22561)
Click to expand commit body
Release Notes:
- N/A
Michael Sloan
created
28d1d2d
assistant2: Add link styles for thread messages (#22560)
44af405
pane: Turn off preview mode when pinning a tab (#22501)
Click to expand commit body
I opened the tab in preview mode, pinned it, then I opened another file,
but its tab unexpectedly closed.
https://github.com/user-attachments/assets/b857382e-f0ad-4d5a-9036-19de01663c97
Pinning a tab now turns off preview mode.
https://github.com/user-attachments/assets/e34b7c7f-452b-4f36-99c1-e0c68429225c
Release Notes:
- Pinning a preview tab will now turn off preview mode
---------
Signed-off-by: Hayashi Mikihiro <34ttrweoewiwe28@gmail.com>
Co-authored-by: Bennet Bo Fenner <bennet@zed.dev>
Closes https://github.com/zed-industries/zed/issues/21657
Follow-up of https://github.com/zed-industries/zed/pull/22488
Previous PR broke git blame tooltips, which are expected to be open when
hovered, even if the mouse cursor is moved away from the actual blame
entry that caused the tooltip to appear.
Current version moves the invalidation logic into `prepaint_tooltip`,
where the new data about the tooltip origin is used to ensure we
invalidate only tooltips that have no mouse cursor in either origin
bounds or tooltip bounds (if it's hoverable).
Release Notes:
- Fixed tooltips getting stuck
a6f95a1
docs: Improve the Getting Started page (#22545)
Click to expand commit body
- Little tweaks to wording and punctuation
- Remove redundancy on the Configuration and Key binding sections
- Ensure key bindings for the sections mentioned above appear
Release Notes:
- N/A
Revert "Improve fuzzy match performance and fix corner case that omits
results (#22524)"
This reverts commit 6ef5d8f74809938f968d0ab86c7c12163c5e0940.
Revert "Check cancel in multithreaded fuzzy matching (#22525)"
This reverts commit 51ac2d366789fea42e9d1ee9294fe6065e128fe8.
Fuzzy matching implemented in:
- https://github.com/zed-industries/zed/pull/22524
- https://github.com/zed-industries/zed/pull/22525
Caused a panic in the extension store search:
- Closes: https://github.com/zed-industries/zed/issues/22541
cc: @mgsloan
Release Notes:
- N/A
This reverts commit 344284e01331667c018e6ade5d791a20598a3a5c.
That change broke git blame tooltips, as Zed should also show tooltips
which are hovered, even though the mouse had left the origin element's
bounds.
Release Notes:
- N/A
Removes noisy log location stderr output on every `zed` cli invocation.
Reverts zed-industries/zed#22509
Release Notes:
- N/A
Peter Tripp
created
4ce1ccf
Add support for block comments in Markdown configuration (#22352)
Click to expand commit body
This pull request includes a small change to the
`crates/languages/src/markdown/config.toml` file. The change adds block
comment syntax for Markdown files.
*
[`crates/languages/src/markdown/config.toml`](diffhunk://#diff-4cf73d9af0f11f2ac8929bd8113ee76aa382dc96a731f18510c09fc3d0db1f9cR5):
Added block comment syntax `<!-- ` and ` -->` for Markdown files.
Closes https://github.com/zed-industries/zed/issues/19797
I have been testing it with the following:
1. create a simple markdown file containing following words
```markdown
good morning - English
Dzieล dobry - polish
ใใฏใใ - japanese
ุตุจุงุญ ุงูุฎูุฑ - arabic
ๆฉๅฎ - Chineses (Traditional)
```
2. comment using `cmd+/` and see if there are any errors
Release Notes:
- Added block comment syntax `<!-- ` and ` -->` for Markdown files.
Rusydy
created
eedbede
docs: Ensure "Remote Projects" dialog keybinding is displayed (#22530)
Closes https://github.com/zed-industries/zed/issues/22469 โ and, aside
from fixing that issue also took the opportunity to make the
`file_search` icon dimensions feel better in comparison the other icons
in the Project Search area.
Release Notes:
- N/A
Danilo Leal
created
51ac2d3
Check cancel in multithreaded fuzzy matching (#22525)
Click to expand commit body
For both the strings and paths multithreaded matching it would still
aggregate the response even though it is unneeded. It now checks cancel.
In the paths matcher, cancel is now checked within the loop, since it
was calling `match_candidates` even though no further results would be
computed.
Release Notes:
- N/A
Michael Sloan
created
6ef5d8f
Improve fuzzy match performance and fix corner case that omits results (#22524)
Click to expand commit body
* Removes `max_results` from the matcher interface as this is better
dealt with in consumers once all results are known. The current
implementation was quite inefficient as it was using binary search to
find insertion points and then doing an insert which copies the entire
suffix each time.
* There was a corner case where if the binary search found a match
candidate with the same score, it was dropped. Now fixed.
* Uses of `util::extend_sorted` when merging results from worker threads
also repeatedly uses binary search and insertion which copies the entire
suffix. A followup will remove that and its usage.
* Adds `util::truncate_to_bottom_n_sorted_by` which uses quickselect +
sort to efficiently get a sorted count limited result.
* Improves interface of Matcher::match_candidates by providing the match
positions to the build function. This allows for removal of the `Match`
trait. It also fixes a bug where the Match's own Ord wasn't being used,
which seems relevant to PathMatch for cases where scores are the same.
Release Notes:
- N/A
Michael Sloan
created
f912c54
Deduplicate edits from WorkspaceEdit LSP responses (#22512)
ddc469c
Ensure zls is used for Zig as a primary language server (#22511)
Click to expand commit body
Part of https://github.com/zed-industries/zed/issues/22415
I've noticed that I cannot work with any Zig projects, as there were no
"go to definition", formatting and inlay hints.
After debugging, I've discovered that `typos` was registered as a first
language server, becoming the "primary" one for Zig.
That one does not have any proper capabilities, hence all corresponding
LSP requests were no-op.
While this solution is not ideal (I wonder, how many other set-ups are
broken due to the same thing?), we'd better fix things for now this way
at least.
Release Notes:
- Fixed `zls` not working properly when `typos` extension is installed
Kirill Bulatov
created
e9bd4b2
Have Zed cli output logs path to stderr (#22509)
Click to expand commit body
When switching from just running the editor directly to using the CLI I
missed the logs in the terminal and started using `--foreground`. I
realized this was because there was a tiny amount of effort involved in
finding out where logs were being written to. Having the cli output it
to stderr helps make this more visible.
Seems like such a minor thing not listing in release notes.
Release Notes:
- N/A
Hello,
This PR documents the `use_bundler` configuration option that was added
in https://github.com/zed-extensions/ruby/releases/tag/v0.3.3
**What it does?**
This option allows users to run `solargraph` and `rubocop` within the
context of Bundler, which is the most commonly used scenario in the Ruby
ecosystem. Ruby LSP is not configured to run in the context of Bundler
because it is recommended not to add it to the project dependencies
(https://shopify.github.io/ruby-lsp/composed-bundle.html). However, if
this is the case, the Ruby LSP can still be configured to run in the
context of Bundler via the same configuration option.
This configuration option has the following default values:
- `rubocop` - `use_bundler` is `true`.
- `solargraph` - `use_bundler` is `true`.
- `ruby-lsp` - `use_bundler` is `false`.
Release Notes:
- N/A
Vitaly Slobodin
created
dcbff98
Decide which panel should be active for a dock based on ordering panels (#22346)
Click to expand commit body
This means that `workspace::ToggleRightDock` will open the assistant if
no right-dock panel has been manually activated, instead of the chat as
before. Also cleans up the `active_panel_index` logic a bit.
cc @nathansobo
Release Notes:
- Make `workspace::ToggleRightDock` open the assistant panel if no
right-dock panel has yet been activated
Changes:
- [x] Increase expand affordance surface area
- [x] Ensure expand buttons have tooltips with keybindings
- [x] Make line numbers clickable to jump you to location (only in
multibuffers)
- [x] Hide the "Jump To File" element in not-focused excerpts
Before merging it:
- [x] Fix off-by-one header focus styles glitch
Improvements to consider for follow-up PRs:
1. Experiment with increasing the width of the clickable surface area
for line numbers
2. Don't show (or disable) the "expand excerpt" button when at the top
or bottom edge of the file
3. Once you jump to location, centralize the cursor scroll position
Release Notes:
- Improved multibuffer's "expand excerpt" affordance
- Fixed "jump to file/location" and "expand excerpt" keybinding display
- Made clicking on line numbers in multibuffers jump you to cursor
location in file
---------
Co-authored-by: Thorsten Ball <mrnugget@gmail.com>
Co-authored-by: Agus Zubiaga <hi@aguz.me>
Co-authored-by: Kirill Bulatov <kirill@zed.dev>
Co-authored-by: Agus Zubiaga <agus@zed.dev>
Danilo Leal
,
Thorsten Ball
,
Agus Zubiaga
,
Kirill Bulatov
, and
Agus Zubiaga
created
3f33ca0
chore: Remove outline dependency from breadcrumbs (#22504)
Click to expand commit body
This slashes our incremental dev times (touch editor) by 0.6s
(8.1->7.6s) due to unblocking terminal_view build sooner.
Closes #ISSUE
Release Notes:
- N/A
Piotr Osiewicz
created
5f4f3a9
chore: Remove duplicate lines in crates/zed/build.rs (#22500)
Click to expand commit body
Release Notes:
- N/A
This may a mistake by merge in PR #21550
https://github.com/zed-industries/zed/blob/344284e01331667c018e6ade5d791a20598a3a5c/crates/zed/build.rs#L8-L14
Jason Lee
created
344284e
Invalidate tooltips when mouse leaves element's hitbox (#22488)
Click to expand commit body
Closes https://github.com/zed-industries/zed/issues/21657
In case of the task rerun button tooltip from
https://github.com/zed-industries/zed/blob/f6dabadaf79bd29c89c8d55a1e9f1d33236f736e/crates/terminal_view/src/terminal_view.rs#L1051-L1070
, the actual button element is not styled as invisible, only its parent.
Zed won't render such element since it's parent is hidden, but will
consider it "visible" all the time its `paint` is called, spawning a
task with the delay, that will create the tooltip:
https://github.com/zed-industries/zed/blob/f6dabadaf79bd29c89c8d55a1e9f1d33236f736e/crates/gpui/src/elements/div.rs#L1949-L1959
When the parent is hidden, the child won't be painted anymore, and no
mouse listeners will be able to detect this fact and hide the tooltip.
Hence, check such cases separately, during `prepaint`, and invalidate
the tooltips that are not valid anymore.
We cannot use `hitbox.is_hovered(cx)` as it's not really hovered during
prepaint, so a mouse position check is used instead.
Release Notes:
- Fixed tooltips getting stuck
Kirill Bulatov
created
f6dabad
Syntax highlight the JavaScript keyword `using` (#22479)
Click to expand commit body
The ECMAScript Explicit Resource Management proposal (stage 3) that
specifies the keyword `using`:
https://github.com/tc39/proposal-explicit-resource-management
This has already been done for the TypeScript and TSX languages:
- https://github.com/zed-industries/zed/issues/14762
- https://github.com/zed-industries/zed/pull/14772
Release Notes:
- Syntax highlight the JavaScript keyword `using`
([#22479](https://github.com/zed-industries/zed/pull/22479); thanks
[jaydenseric](https://github.com/jaydenseric)).
Jayden Seric
created
ca68250
Fix SHA for zed-patches branch of `livekit-rust-sdks` (#22478)
Click to expand commit body
Also renamed the repo to `livekit-rustk-sdks` on GitHub for clarity. The
old name will still work for old references.
See [discussion
here](https://github.com/zed-industries/zed/pull/21292#issuecomment-2529573128).
The only changes in the target repo are immaterial:
```
$ git diff 799f10133d93ba2a88642cd480d01ec4da53408c 060964da10574cd9bf06463a53bf6e0769c5c45e
diff --git a/livekit-protocol/src/livekit.rs b/livekit-protocol/src/livekit.rs
index 43f5496..19181c2 100644
--- a/livekit-protocol/src/livekit.rs
+++ b/livekit-protocol/src/livekit.rs
@@ -3837,7 +3837,7 @@ pub struct SendDataRequest {
#[prost(string, optional, tag="5")]
pub topic: ::core::option::Option<::prost::alloc::string::String>,
}
-
+///
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SendDataResponse {
diff --git a/livekit-runtime/Cargo.toml b/livekit-runtime/Cargo.toml
index 4d83cdf..7051f30 100644
--- a/livekit-runtime/Cargo.toml
+++ b/livekit-runtime/Cargo.toml
@@ -7,6 +7,7 @@ edition = "2021"
repository = "https://github.com/livekit/rust-sdks"
[features]
+tokio = ["dep:tokio", "dep:tokio-stream"]
async = ["dep:async-std", "dep:futures", "dep:async-io"]
dispatcher = ["dep:futures", "dep:async-io", "dep:async-std", "dep:async-task"]
```
Release Notes:
- N/A
Michael Sloan
created
a15360b
Dequalify WindowContext and ViewContext references (#22477)
Click to expand commit body
Release Notes:
- N/A
Michael Sloan
created
016b5d6
Cleanups preparing for WindowContext refactor (#22475)
Click to expand commit body
* Remove unnecessary WindowContext and ViewContext '_ lifetimes
* Removed some cases where WindowContext has a different name than `cx`.
Release Notes:
- N/A
Michael Sloan
created
9815358
Dequalify WindowContext and AsyncWindowContext identifiers (#22444)
Click to expand commit body
This makes a WIP automated refactoring a bit easier to write
Release Notes:
- N/A
Closes https://github.com/zed-industries/zed/issues/21906
* After https://github.com/zed-industries/zed/pull/21238,
`TerminalPanel` and `Project` strong references were moved into
`Pane`-related closures, creating a cycle, that did not allow
registering project release and shutting down corresponding language
servers
* After https://github.com/zed-industries/zed/pull/22329, a special
`Editor` was created with a strong reference to the `Project` which
seemed to do nothing bad in general, but when a working Zed was running
a Zed Dev build, had the same issue with preventing language servers
from shutting down.
The latter is very odd, and seems quite dangerous, as any arbitrary
`Editor` with `Project` in it may do the same, yet it seems that we did
not store them before the way git panel does.
I have tried creating a test, yet seems that we need to initialize a lot
of Zed for it which I failed โย all my attempts resulted in a single
language server being present in the `Project`'s statuses.
Release Notes:
- Fixed language servers not being released between project reopens
* removes cache access workarounds as
https://github.com/zed-industries/zed/pull/21165 is supposed to fix this
* use `WeakModel<Project>` inside `Pane` just in case
Release Notes:
- N/A