Expand description
§tui-breadcrumb
A dedicated, highly customizable, and interactive hierarchical breadcrumb navigation widget for Ratatui.
📁 Home ❯ 📂 Projects ❯ 📦 ratatui ▾ ❯ 📄 sparkline.rs§Key Features
- Built-in Separator Presets: Slash (
/), Chevron (❯), Angle (›), Arrow (→), Pipe (|), Backslash (\), Double Angle (»), or custom glyphs. - Smart Responsive Truncation:
TruncateStrategy::Middle:Home ❯ ... ❯ src ❯ sparkline.rsTruncateStrategy::Start:... ❯ src ❯ sparkline.rsTruncateStrategy::ShortenNames:H ❯ P ❯ ratatui ❯ src ❯ sparkline.rsTruncateStrategy::End:Home ❯ Projects ❯ ...
- Interactive State (
BreadcrumbState):- Keyboard focus navigation with arrow keys.
- Mouse hit testing (
BreadcrumbState::item_at,BreadcrumbState::dropdown_at,BreadcrumbState::is_ellipsis_at).
- Filesystem Path Integration: Seamless construction from
std::path::Pathviafrom_path.
§Quickstart Example
use ratatui::prelude::*;
use tui_breadcrumb::{Breadcrumb, BreadcrumbSeparator, BreadcrumbState, TruncateStrategy};
fn draw_breadcrumbs(frame: &mut Frame, area: Rect, state: &mut BreadcrumbState) {
let widget = Breadcrumb::new(["Home", "Projects", "ratatui", "src", "sparkline.rs"])
.separator(BreadcrumbSeparator::chevron())
.strategy(TruncateStrategy::middle())
.selected_style(Style::default().fg(Color::Yellow).add_modifier(Modifier::BOLD));
frame.render_stateful_widget(widget, area, state);
}Re-exports§
pub use item::BreadcrumbItem;pub use path::from_path;pub use separator::BreadcrumbSeparator;pub use state::BreadcrumbState;pub use strategy::TruncateStrategy;pub use widget::Breadcrumb;
Modules§
- item
- Segment item definitions for breadcrumb navigation trails.
- path
- Utilities to convert standard filesystem paths (
Path) into breadcrumb items. - separator
- Separator definitions and standard presets for breadcrumb trails.
- state
- Interactive state tracking and spatial hit-testing for breadcrumb navigation.
- strategy
- Smart overflow and truncation strategies for breadcrumb trails.
- truncate
- Internal layout resolution and segment fitting engine.
- widget
- The primary
Breadcrumbwidget implementing Ratatui’sWidgetandStatefulWidget.