pub struct LineWrapper { /* private fields */ }Expand description
The GPUI line wrapper, used to wrap lines of text to a given width.
Implementations§
Source§impl LineWrapper
impl LineWrapper
Sourcepub const MAX_INDENT: u32 = 256
pub const MAX_INDENT: u32 = 256
The maximum indent that can be applied to a line.
Sourcepub fn wrap_line<'a>(
&'a mut self,
fragments: &'a [LineFragment<'_>],
wrap_width: Pixels,
) -> impl Iterator<Item = Boundary> + 'a
pub fn wrap_line<'a>( &'a mut self, fragments: &'a [LineFragment<'_>], wrap_width: Pixels, ) -> impl Iterator<Item = Boundary> + 'a
Wrap a line of text to the given width with this wrapper’s font and font size.
Sourcepub fn should_truncate_line(
&mut self,
line: &str,
truncate_width: Pixels,
truncation_affix: &str,
truncate_from: TruncateFrom,
) -> Option<usize>
pub fn should_truncate_line( &mut self, line: &str, truncate_width: Pixels, truncation_affix: &str, truncate_from: TruncateFrom, ) -> Option<usize>
Determines if a line should be truncated based on its width.
Returns the truncation index in line.
Sourcepub fn truncate_line<'a>(
&mut self,
line: SharedString,
truncate_width: Pixels,
truncation_affix: &str,
runs: &'a [TextRun],
truncate_from: TruncateFrom,
) -> (SharedString, Cow<'a, [TextRun]>)
pub fn truncate_line<'a>( &mut self, line: SharedString, truncate_width: Pixels, truncation_affix: &str, runs: &'a [TextRun], truncate_from: TruncateFrom, ) -> (SharedString, Cow<'a, [TextRun]>)
Truncate a line of text to the given width with this wrapper’s font and font size.
Sourcepub fn truncate_wrapped_line<'a>(
&mut self,
text: SharedString,
wrap_width: Pixels,
max_lines: usize,
truncation_affix: &str,
runs: &'a [TextRun],
truncate_from: TruncateFrom,
) -> (SharedString, Cow<'a, [TextRun]>)
pub fn truncate_wrapped_line<'a>( &mut self, text: SharedString, wrap_width: Pixels, max_lines: usize, truncation_affix: &str, runs: &'a [TextRun], truncate_from: TruncateFrom, ) -> (SharedString, Cow<'a, [TextRun]>)
Truncate text to fit within a given number of wrapped lines.
Unlike truncate_line which treats the text as a flat width budget
(width * max_lines), this method accounts for word-boundary wrapping:
it walks through characters once, tracking wrap boundaries and the
truncation point simultaneously. When text overflows on the last
allowed line, it truncates there and appends the affix.
For max_lines == 1, this delegates to truncate_line.
Auto Trait Implementations§
impl !RefUnwindSafe for LineWrapper
impl !UnwindSafe for LineWrapper
impl Freeze for LineWrapper
impl Send for LineWrapper
impl Sync for LineWrapper
impl Unpin for LineWrapper
impl UnsafeUnpin for LineWrapper
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more