pub enum TruncateStrategy {
Middle {
min_head_items: usize,
min_tail_items: usize,
ellipsis: String,
},
Start {
min_tail_items: usize,
ellipsis: String,
},
End {
min_head_items: usize,
ellipsis: String,
},
ShortenNames {
max_abbrev_len: usize,
preserve_tail_items: usize,
ellipsis: String,
},
None,
}Expand description
Strategy determining how breadcrumb segments are collapsed when overflowing horizontal bounds.
Variants§
Middle
Collapses intermediate ancestor segments into an ellipsis while preserving the root ancestor(s) and deepest active segment(s).
Example: Home ❯ ... ❯ src ❯ sparkline.rs
Fields
Start
Collapses leftmost ancestor segments into an ellipsis while preserving the deepest active leaf segments.
Example: ... ❯ src ❯ sparkline.rs
Fields
End
Collapses deepest leaf segments into an ellipsis while preserving root ancestor segments (left-to-right priority).
Example: Home ❯ Projects ❯ ...
Fields
ShortenNames
Progressively abbreviates ancestor item labels to their leading characters before collapsing them into an ellipsis if space is still constrained.
Example: H ❯ P ❯ ratatui ❯ src ❯ sparkline.rs
Fields
None
Performs no smart condensation or ellipsis substitution; segments are clipped at the boundary.
Implementations§
Source§impl TruncateStrategy
impl TruncateStrategy
Sourcepub fn middle() -> Self
pub fn middle() -> Self
Creates a default Middle strategy preserving 1 root item, 2 tail items, and "..." ellipsis.
Sourcepub fn middle_with(
min_head_items: usize,
min_tail_items: usize,
ellipsis: impl Into<String>,
) -> Self
pub fn middle_with( min_head_items: usize, min_tail_items: usize, ellipsis: impl Into<String>, ) -> Self
Creates a customized Middle strategy.
Sourcepub fn start() -> Self
pub fn start() -> Self
Creates a default Start strategy preserving 2 tail items and "..." ellipsis.
Sourcepub fn start_with(min_tail_items: usize, ellipsis: impl Into<String>) -> Self
pub fn start_with(min_tail_items: usize, ellipsis: impl Into<String>) -> Self
Creates a customized Start strategy.
Sourcepub fn end_with(min_head_items: usize, ellipsis: impl Into<String>) -> Self
pub fn end_with(min_head_items: usize, ellipsis: impl Into<String>) -> Self
Creates a customized End strategy.
Sourcepub fn shorten_names() -> Self
pub fn shorten_names() -> Self
Creates a default ShortenNames strategy abbreviating ancestors to 1 character,
preserving 2 tail items, and falling back to "...".
Trait Implementations§
Source§impl Clone for TruncateStrategy
impl Clone for TruncateStrategy
Source§fn clone(&self) -> TruncateStrategy
fn clone(&self) -> TruncateStrategy
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for TruncateStrategy
impl Debug for TruncateStrategy
Source§impl Default for TruncateStrategy
impl Default for TruncateStrategy
Source§fn default() -> Self
fn default() -> Self
Defaults to TruncateStrategy::Middle with 1 head item, 2 tail items, and ... ellipsis.
impl Eq for TruncateStrategy
Source§impl PartialEq for TruncateStrategy
impl PartialEq for TruncateStrategy
impl StructuralPartialEq for TruncateStrategy
Auto Trait Implementations§
impl Freeze for TruncateStrategy
impl RefUnwindSafe for TruncateStrategy
impl Send for TruncateStrategy
impl Sync for TruncateStrategy
impl Unpin for TruncateStrategy
impl UnsafeUnpin for TruncateStrategy
impl UnwindSafe for TruncateStrategy
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.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