From 6d80d5b74b56de77c446d60c00f68c8fe76c4fbf Mon Sep 17 00:00:00 2001 From: Marshall Bowers Date: Fri, 15 Nov 2024 10:51:09 -0500 Subject: [PATCH] gpui: Add `line_through` method to `Styled` (#20728) This PR adds a `.line_through` method to the `Styled` trait that mirrors the corresponding Tailwind class. Release Notes: - N/A --- crates/gpui/src/styled.rs | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/crates/gpui/src/styled.rs b/crates/gpui/src/styled.rs index d95ecebf4f..3368acb7ea 100644 --- a/crates/gpui/src/styled.rs +++ b/crates/gpui/src/styled.rs @@ -1,7 +1,7 @@ use crate::{ self as gpui, px, relative, rems, AbsoluteLength, AlignItems, CursorStyle, DefiniteLength, Fill, FlexDirection, FlexWrap, Font, FontStyle, FontWeight, Hsla, JustifyContent, Length, - SharedString, StyleRefinement, WhiteSpace, + SharedString, StrikethroughStyle, StyleRefinement, WhiteSpace, }; use crate::{TextStyleRefinement, Truncate}; pub use gpui_macros::{ @@ -439,6 +439,17 @@ pub trait Styled: Sized { self } + /// Sets the decoration of the text to have a line through it. + /// [Docs](https://tailwindcss.com/docs/text-decoration#setting-the-text-decoration) + fn line_through(mut self) -> Self { + let style = self.text_style().get_or_insert_with(Default::default); + style.strikethrough = Some(StrikethroughStyle { + thickness: px(1.), + ..Default::default() + }); + self + } + /// Remove the text decoration on this element, this value cascades to its child elements. fn text_decoration_none(mut self) -> Self { self.text_style()