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 makes it a bit more approachable to implement.
This required converting the state of Component to AnyElement, which
costs an allocation. I'm hoping this will be ok performance-wise now
that AnyElements use bump allocation, but I need to benchmark still.
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