ui: Add buffer_font method to labels (#24479)

Now you don't need to wrap the `Label` in a `div` anymore 

Release Notes:

- N/A

Co-authored-by: Danilo <danilo@zed.dev>
This commit is contained in:
Agus Zubiaga 2025-02-09 15:23:39 -03:00 committed by GitHub
parent 6ee447ee58
commit 56cfc60875
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 26 additions and 0 deletions

View file

@ -75,6 +75,11 @@ impl LabelCommon for HighlightedLabel {
self.base = self.base.single_line();
self
}
fn buffer_font(mut self, cx: &App) -> Self {
self.base = self.base.buffer_font(cx);
self
}
}
pub fn highlight_ranges(

View file

@ -172,6 +172,11 @@ impl LabelCommon for Label {
self.base = self.base.single_line();
self
}
fn buffer_font(mut self, cx: &App) -> Self {
self.base = self.base.buffer_font(cx);
self
}
}
impl RenderOnce for Label {

View file

@ -55,6 +55,9 @@ pub trait LabelCommon {
/// Sets the label to render as a single line.
fn single_line(self) -> Self;
/// Sets the font to the buffer's
fn buffer_font(self, cx: &App) -> Self;
}
#[derive(IntoElement)]
@ -159,6 +162,13 @@ impl LabelCommon for LabelLike {
self.single_line = true;
self
}
fn buffer_font(mut self, cx: &App) -> Self {
self.base = self
.base
.font(theme::ThemeSettings::get_global(cx).buffer_font.clone());
self
}
}
impl ParentElement for LabelLike {

View file

@ -86,3 +86,9 @@ impl Color {
}
}
}
impl From<Hsla> for Color {
fn from(color: Hsla) -> Self {
Color::Custom(color)
}
}