This PR restores the semi-transparency to the scroll bar handle colors
that were lost in #3842.
If we adjust the rendering of the scrollbar to draw the status
indicators on top of the scrollbar handle then we can remove the
transparency.
Release Notes:
- N/A
Bring Zed1 themes closer to their old appearance using the `base_theme`
values.
This will inevitably re-introduce some outstanding design issues from
Zed 1 that we will need to solve (low contrasts in some places, etc.)
We'll work on some of these in a later PR.
Known issues introduced:
- Scrollbar thumb is incorrectly drawn in front of the indicators
- Borders aren't quite correct - will fix in a followup
- Titlebar/status bar buttons will now have low contrast states
- Keybinding background color blends with palette
There are likely more issues, add them to the product checklist as you
find them.
Release Notes:
- N/A
This PR absolutely positions the channel buttons on top of the channels.
This prevents the buttons from getting pushed off the edge of the panel
when the channel names are long.
Still needs some fine-tuning, but gets us closer to where we want to be.
Release Notes:
- N/A
Previously, we changed borders to be drawn after content, so they are no
longer part of the same quads as the background. In our change, we gave
the background quad a transparent black border and the border quads
transparent black backgrounds. However, this caused the other channels
to blend toward that black color before becoming fully transparent,
causing them to become darker.
In this PR, I source the "placeholder" color by duplicating the values
for the other channels and only adjust the alpha down to zero.
Release Notes:
- N/A
This PR adds general-purpose functions for obtaining a `Length` in
viewport units.
Previously in #3600 we had added specific variants of `w` and `h` that
took viewport units, but I think it makes more sense to just have a
primitive that can compose with any styling method that accepts a
`Length` or `Into<Length>`.
Release Notes:
- N/A
This PR increases the max height of the outline picker so that it can
take up a larger area of the screen when there are lots of results.
This behavior is similar to the way it was in Zed1.
Release Notes:
- N/A
This commit also changes the way search queries are built (we do not bail early anymore if include/exclude editor queries are malformed) to propagate error status of the panel.
Release Notes:
- N/A
Getting some scaffold docs in place and making some naming adjustments
to improve consistency with Rust APIs and clarity.
- Render::Element -> Render::Output, and Render::Output is now only
required to be IntoElement instead of Element so we can return
components.
- RenderOnce::Element -> RenderOnce::Output
- Element::layout -> Render::request_layout - Clarify that this doesn't
actually *perform* layout, but simply requests
Release Notes:
- N/A
Previously, we changed borders to be drawn after content, so they are no longer
part of the same quads as the background. In our change, we gave the background
quad a transparent black border and the border quads transparent black
backgrounds. However, this caused the other channels to blend toward that black
color before becoming fully transparent, causing them to become darker.
In this PR, I source the "placeholder" color by duplicating the values for
the other channels and only adjust the alpha down to zero.
* `EmbeddingProvider`, `NodeRuntime`, `Fs`,
`live_kit_server::api::Client` produce messages similar to
```
error[E0038]: the trait `EmbeddingProvider` cannot be made into an object
--> crates/semantic_index/src/semantic_index_tests.rs:1096:51
|
1096 | let mut retriever = CodeContextRetriever::new(embedding_provider);
| ^^^^^^^^^^^^^^^^^^ `EmbeddingProvider` cannot be made into an object
|
note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit <https://doc.rust-lang.org/reference/items/traits.html#object-safety>
--> /Users/someonetoignore/work/zed/zed/crates/ai/src/embedding.rs:73:14
|
73 | async fn embed_batch(&self, spans: Vec<String>) -> Result<Vec<Embedding>>;
| ^^^^^^^^^^^ the trait cannot be made into an object because method `embed_batch` is `async`
= help: the following types implement the trait, consider defining an enum where each variant holds one of these types, implementing `EmbeddingProvider` for this new enum and using it instead:
ai::providers::open_ai::OpenAIEmbeddingProvider
ai::test::FakeEmbeddingProvider
```
* `LspAdapter` produces something even more obscure:
```
error[E0391]: cycle detected when checking effective visibilities
|
note: ...which requires computing type of `<impl at crates/language2/src/language2.rs:122:1: 122:22>:🆕:{opaque#0}`...
--> crates/language2/src/language2.rs:123:5
|
123 | pub async fn new(adapter: Arc<dyn LspAdapter>) -> Arc<Self> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: ...which requires type-checking `<impl at crates/language2/src/language2.rs:122:1: 122:22>::new`...
--> crates/language2/src/language2.rs:123:5
|
123 | pub async fn new(adapter: Arc<dyn LspAdapter>) -> Arc<Self> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
= note: ...which again requires checking effective visibilities, completing the cycle
note: cycle used when checking that `CachedLspAdapter` is well-formed
--> crates/language2/src/language2.rs:111:1
|
111 | pub struct CachedLspAdapter {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
= note: see https://rustc-dev-guide.rust-lang.org/overview.html#queries and https://rustc-dev-guide.rust-lang.org/query.html for more information
```
Release Notes:
- N/A