Ratatui Features Audit - Complete Comprehensive Catalog
These documents catalog EVERY public feature, method, function, enum variant, and constructor in the Ratatui Rust library with precise file/line references. This has the finished items; the other has the unfinished items.
Terminal & Initialization Features
| Feature Name | File/Line | Status |
|---|---|---|
| run | ratatui/src/init.rs:251 | β |
| init | ratatui/src/init.rs:298 | β |
| init_with_options | ratatui/src/init.rs:382 | β |
| restore | ratatui/src/init.rs:457 | β |
| Viewport::Fullscreen | ratatui-core/src/terminal/viewport.rs:22 | β |
| Viewport::Inline(u16) | ratatui-core/src/terminal/viewport.rs:28 | β |
| Terminal::draw | ratatui-core/src/terminal/terminal.rs:373 | β |
| Terminal::size | ratatui-core/src/terminal/terminal.rs:568 | β |
| Terminal::insert_before | ratatui-core/src/terminal/terminal.rs:648 | β |
| TerminalOptions struct | ratatui-core/src/terminal/terminal.rs:104 | β |
| Frame struct | ratatui-core/src/terminal/frame.rs:17 | β |
| Frame::render_widget | ratatui-core/src/terminal/frame.rs:93 | β |
| Frame::render_stateful_widget | ratatui-core/src/terminal/frame.rs:124 | β |
| Frame::set_cursor_position | ratatui-core/src/terminal/frame.rs:141 | β |
Layout Features
| Feature Name | File/Line | Status |
|---|---|---|
| Layout struct | ratatui-core/src/layout/layout.rs:193 | β |
| Layout::horizontal | ratatui-core/src/layout/layout.rs:285 | β |
| Layout::vertical | ratatui-core/src/layout/layout.rs:265 | β |
| Layout::constraints | ratatui-core/src/layout/layout.rs:377 | β |
| Layout::spacing | ratatui-core/src/layout/layout.rs:521 | β |
| Layout::split | ratatui-core/src/layout/layout.rs:663 | β |
| Layout::split_with_spacers | ratatui-core/src/layout/layout.rs:713 | β |
| Constraint::Min(u16) | ratatui-core/src/layout/constraint.rs:94 | β |
| Constraint::Max(u16) | ratatui-core/src/layout/constraint.rs:117 | β |
| Constraint::Length(u16) | ratatui-core/src/layout/constraint.rs:140 | β |
| Constraint::Percentage(u16) | ratatui-core/src/layout/constraint.rs:168 | β |
| Constraint::Ratio(u32, u32) | ratatui-core/src/layout/constraint.rs:192 | β |
| Constraint::Fill(u16) | ratatui-core/src/layout/constraint.rs:218 | β |
| Constraint::from_lengths | ratatui-core/src/layout/constraint.rs:230 | β |
| Constraint::from_ratios | ratatui-core/src/layout/constraint.rs:254 | β |
| Constraint::from_percentages | ratatui-core/src/layout/constraint.rs:277 | β |
| Constraint::from_maxes | ratatui-core/src/layout/constraint.rs:300 | β |
| Constraint::from_mins | ratatui-core/src/layout/constraint.rs:320 | β |
| Constraint::from_fills | ratatui-core/src/layout/constraint.rs:341 | β |
| Flex::Legacy | ratatui-core/src/layout/flex.rs:75 | β |
| Flex::Start | ratatui-core/src/layout/flex.rs:98 | β |
| Flex::End | ratatui-core/src/layout/flex.rs:120 | β |
| Flex::Center | ratatui-core/src/layout/flex.rs:142 | β |
| Flex::SpaceBetween | ratatui-core/src/layout/flex.rs:164 | β |
| Flex::SpaceEvenly | ratatui-core/src/layout/flex.rs:187 | β |
| Flex::SpaceAround | ratatui-core/src/layout/flex.rs:209 | β |
| Direction::Horizontal | ratatui-core/src/layout/direction.rs:16 | β |
| Direction::Vertical | ratatui-core/src/layout/direction.rs:20 | β |
| Position struct | ratatui-core/src/layout/position.rs:57 | β |
| Size struct | ratatui-core/src/layout/size.rs:46 | β |
| HorizontalAlignment::Left | ratatui-core/src/layout/alignment.rs:25 | β |
| HorizontalAlignment::Center | ratatui-core/src/layout/alignment.rs:26 | β |
| HorizontalAlignment::Right | ratatui-core/src/layout/alignment.rs:27 | β |
| VerticalAlignment::Top | ratatui-core/src/layout/alignment.rs:40 | β |
| VerticalAlignment::Center | ratatui-core/src/layout/alignment.rs:41 | β |
| VerticalAlignment::Bottom | ratatui-core/src/layout/alignment.rs:42 | β |
| Rect struct | ratatui-core/src/layout/rect.rs:134 | β |
| Rect::new | ratatui-core/src/layout/rect.rs:166 | β |
| Rect::area | ratatui-core/src/layout/rect.rs:190 | β |
| Rect::is_empty | ratatui-core/src/layout/rect.rs:195 | β |
| Rect::left | ratatui-core/src/layout/rect.rs:200 | β |
| Rect::right | ratatui-core/src/layout/rect.rs:205 | β |
| Rect::top | ratatui-core/src/layout/rect.rs:214 | β |
| Rect::bottom | ratatui-core/src/layout/rect.rs:219 | β |
| Rect::inner | ratatui-core/src/layout/rect.rs:228 | β |
| Rect::outer | ratatui-core/src/layout/rect.rs:248 | β |
| Rect::offset | ratatui-core/src/layout/rect.rs:276 | β |
| Rect::resize | ratatui-core/src/layout/rect.rs:289 | β |
| Rect::union | ratatui-core/src/layout/rect.rs:305 | β |
| Rect::intersection | ratatui-core/src/layout/rect.rs:322 | β |
| Rect::clamp | ratatui-core/src/layout/rect.rs:387 | β |
| Rect::rows | ratatui-core/src/layout/rect/iter.rs:4 | β |
| Rect::columns | ratatui-core/src/layout/rect/iter.rs:66 | β |
| Rect::positions | ratatui-core/src/layout/rect/iter.rs:130 | β |
Style Features
| Feature Name | File/Line | Status |
|---|---|---|
| Color::Reset | ratatui-core/src/style/color.rs:30 | β |
| Color::Black | ratatui-core/src/style/color.rs:32 | β |
| Color::Red | ratatui-core/src/style/color.rs:34 | β |
| Color::Green | ratatui-core/src/style/color.rs:36 | β |
| Color::Yellow | ratatui-core/src/style/color.rs:38 | β |
| Color::Blue | ratatui-core/src/style/color.rs:40 | β |
| Color::Magenta | ratatui-core/src/style/color.rs:42 | β |
| Color::Cyan | ratatui-core/src/style/color.rs:44 | β |
| Color::Gray | ratatui-core/src/style/color.rs:46 | β |
| Color::DarkGray | ratatui-core/src/style/color.rs:48 | β |
| Color::LightRed | ratatui-core/src/style/color.rs:50 | β |
| Color::LightGreen | ratatui-core/src/style/color.rs:52 | β |
| Color::LightYellow | ratatui-core/src/style/color.rs:54 | β |
| Color::LightBlue | ratatui-core/src/style/color.rs:56 | β |
| Color::LightMagenta | ratatui-core/src/style/color.rs:58 | β |
| Color::LightCyan | ratatui-core/src/style/color.rs:60 | β |
| Color::White | ratatui-core/src/style/color.rs:62 | β |
| Color::Rgb(u8, u8, u8) | ratatui-core/src/style/color.rs:64 | β |
| Color::Indexed(u8) | ratatui-core/src/style/color.rs:66 | β |
| Color::from_u32 | ratatui-core/src/style/color.rs:133 | β |
| Color::from_hsl | ratatui-core/src/style/color.rs:416 | β |
| Color::from_hsluv | ratatui-core/src/style/color.rs:469 | β |
| Style struct | ratatui-core/src/style.rs:239 | β |
| Style::fg | ratatui-core/src/style.rs:335 | β |
| Style::bg | ratatui-core/src/style.rs:352 | β |
| Style::underline_color | ratatui-core/src/style.rs:387 | β |
| Style::add_modifier | ratatui-core/src/style.rs:408 | β |
| Style::remove_modifier | ratatui-core/src/style.rs:430 | β |
| Modifier::BOLD | ratatui-core/src/style.rs:105 | β |
| Modifier::DIM | ratatui-core/src/style.rs:106 | β |
| Modifier::ITALIC | ratatui-core/src/style.rs:107 | β |
| Modifier::UNDERLINED | ratatui-core/src/style.rs:108 | β |
| Modifier::SLOW_BLINK | ratatui-core/src/style.rs:109 | β |
| Modifier::RAPID_BLINK | ratatui-core/src/style.rs:110 | β |
| Modifier::REVERSED | ratatui-core/src/style.rs:111 | β |
| Modifier::HIDDEN | ratatui-core/src/style.rs:112 | β |
| Modifier::CROSSED_OUT | ratatui-core/src/style.rs:113 | β |
Text Features
| Feature Name | File/Line | Status |
|---|---|---|
| Text struct | ratatui-core/src/text/text.rs:196 | β |
| Span struct | ratatui-core/src/text/span.rs:99 | β |
| Line struct | ratatui-core/src/text/line.rs:183 | β |
Symbol Sets
| Feature Name | File/Line | Status |
|---|---|---|
| half_block::UPPER | ratatui-core/src/symbols/half_block.rs:1 | β |
| half_block::LOWER | ratatui-core/src/symbols/half_block.rs:3 | β |
| half_block::FULL | ratatui-core/src/symbols/half_block.rs:5 | β |
| Marker::Dot | ratatui-core/src/symbols/marker.rs:11 | β |
| Marker::Block | ratatui-core/src/symbols/marker.rs:13 | β |
| Marker::Bar | ratatui-core/src/symbols/marker.rs:17 | β |
| Marker::Braille | ratatui-core/src/symbols/marker.rs:21 | β |
| Marker::HalfBlock | ratatui-core/src/symbols/marker.rs:25 | β |
| bar::Set struct | ratatui-core/src/symbols/bar.rs:8 | β |
| bar::THREE_LEVELS | ratatui-core/src/symbols/bar.rs:29 | β |
| bar::NINE_LEVELS | ratatui-core/src/symbols/bar.rs:41 | β |
| border::Set struct | ratatui-core/src/symbols/border.rs:12 | β |
| border::PLAIN | ratatui-core/src/symbols/border.rs:43 | β |
| border::ROUNDED | ratatui-core/src/symbols/border.rs:62 | β |
| border::DOUBLE | ratatui-core/src/symbols/border.rs:81 | β |
| border::THICK | ratatui-core/src/symbols/border.rs:100 | β |
| border::QUADRANT_OUTSIDE | ratatui-core/src/symbols/border.rs:195 | β |
| border::QUADRANT_INSIDE | ratatui-core/src/symbols/border.rs:214 | β |
| line::Set struct | ratatui-core/src/symbols/line.rs:62 | β |
| line::NORMAL | ratatui-core/src/symbols/line.rs:82 | β |
| line::DOUBLE | ratatui-core/src/symbols/line.rs:104 | β |
| line::THICK | ratatui-core/src/symbols/line.rs:118 | β |
Widgets
Paragraph Widget
| Feature Name | File/Line | Status |
|---|---|---|
| Paragraph struct | ratatui-widgets/src/paragraph.rs:80 | β |
| Paragraph::block | ratatui-widgets/src/paragraph.rs:174 | β |
| Paragraph::style | ratatui-widgets/src/paragraph.rs:198 | β |
| Paragraph::wrap | ratatui-widgets/src/paragraph.rs:115 | β |
| Paragraph::scroll | ratatui-widgets/src/paragraph.rs:161 | β |
| Paragraph::alignment | ratatui-widgets/src/paragraph.rs:199 | β |
| Wrap struct | ratatui-widgets/src/paragraph.rs:240 | β |
| Wrap::trim | ratatui-widgets/src/paragraph.rs:242 | β |
Block Widget
| Feature Name | File/Line | Status |
|---|---|---|
| Block struct | ratatui-widgets/src/block.rs:75 | β |
| Block::borders | ratatui-widgets/src/block.rs:85 | β |
| Block::border_style | ratatui-widgets/src/block.rs:89 | β |
| Block::border_set | ratatui-widgets/src/block.rs:91 | β |
| Block::padding | ratatui-widgets/src/block.rs:97 | β |
| Padding struct | ratatui-widgets/src/block/padding.rs:27 | β |
| Padding::ZERO | ratatui-widgets/src/block/padding.rs:40 | β |
| Padding::new | ratatui-widgets/src/block/padding.rs:50 | β |
| Padding::horizontal | ratatui-widgets/src/block/padding.rs:66 | β |
| Padding::vertical | ratatui-widgets/src/block/padding.rs:76 | β |
| Padding::uniform | ratatui-widgets/src/block/padding.rs:86 | β |
| Padding::proportional | ratatui-widgets/src/block/padding.rs:99 | β |
| Padding::symmetric | ratatui-widgets/src/block/padding.rs:112 | β |
| Padding::left | ratatui-widgets/src/block/padding.rs:122 | β |
| Padding::right | ratatui-widgets/src/block/padding.rs:132 | β |
| Padding::top | ratatui-widgets/src/block/padding.rs:142 | β |
| Padding::bottom | ratatui-widgets/src/block/padding.rs:152 | β |
| Borders::TOP | ratatui-widgets/src/borders.rs:33 | β |
| Borders::RIGHT | ratatui-widgets/src/borders.rs:35 | β |
| Borders::BOTTOM | ratatui-widgets/src/borders.rs:37 | β |
| Borders::LEFT | ratatui-widgets/src/borders.rs:39 | β |
| Borders::ALL | ratatui-widgets/src/borders.rs:41 | β |
| Borders::NONE | ratatui-widgets/src/borders.rs:43 | β |
| BorderType::Plain | ratatui-widgets/src/borders.rs:64 | β |
| BorderType::Rounded | ratatui-widgets/src/borders.rs:66 | β |
| BorderType::Double | ratatui-widgets/src/borders.rs:71 | β |
| BorderType::Thick | ratatui-widgets/src/borders.rs:81 | β |
| BorderType::QuadrantInside | ratatui-widgets/src/borders.rs:139 | β |
| BorderType::QuadrantOutside | ratatui-widgets/src/borders.rs:144 | β |
| TitlePosition::Top | ratatui-widgets/src/block.rs:49 | β |
| TitlePosition::Bottom | ratatui-widgets/src/block.rs:51 | β |
Table Widget
| Feature Name | File/Line | Status |
|---|---|---|
| Table struct | ratatui-widgets/src/table.rs:233 | β |
| Table::rows | ratatui-widgets/src/table.rs:235 | β |
| Table::header | ratatui-widgets/src/table.rs:238 | β |
| Table::footer | ratatui-widgets/src/table.rs:241 | β |
| Table::widths | ratatui-widgets/src/table.rs:244 | β |
| Table::column_spacing | ratatui-widgets/src/table.rs:247 | β |
| Table::row_highlight_style | ratatui-widgets/src/table.rs:256 | β |
| Table::column_highlight_style | ratatui-widgets/src/table.rs:259 | β |
| Table::cell_highlight_style | ratatui-widgets/src/table.rs:262 | β |
| Table::highlight_symbol | ratatui-widgets/src/table.rs:265 | β |
| Table::highlight_spacing | ratatui-widgets/src/table.rs:268 | β |
| Table::flex | ratatui-widgets/src/table.rs:271 | β |
| Row struct | ratatui-widgets/src/table/row.rs:75 | β |
| Cell struct | ratatui-widgets/src/table/cell.rs:51 | β |
| HighlightSpacing::Always | ratatui-widgets/src/table/highlight_spacing.rs:10 | β |
| HighlightSpacing::WhenSelected | ratatui-widgets/src/table/highlight_spacing.rs:14 | β |
| HighlightSpacing::Never | ratatui-widgets/src/table/highlight_spacing.rs:18 | β |
List Widget
| Feature Name | File/Line | Status |
|---|---|---|
| List struct | ratatui-widgets/src/list.rs:109 | β |
| List::items | ratatui-widgets/src/list.rs:113 | β |
| List::direction | ratatui-widgets/src/list.rs:117 | β |
| List::highlight_style | ratatui-widgets/src/list.rs:119 | β |
| List::highlight_symbol | ratatui-widgets/src/list.rs:121 | β |
| List::repeat_highlight_symbol | ratatui-widgets/src/list.rs:123 | β |
| List::highlight_spacing | ratatui-widgets/src/list.rs:125 | β |
| List::scroll_padding | ratatui-widgets/src/list.rs:127 | β |
| ListDirection::TopToBottom | ratatui-widgets/src/list.rs:140 | β |
| ListDirection::BottomToTop | ratatui-widgets/src/list.rs:142 | β |
| ListItem struct | ratatui-widgets/src/list/item.rs:73 | β |
BarChart Widget
| Feature Name | File/Line | Status |
|---|---|---|
| BarChart struct | ratatui-widgets/src/barchart.rs:83 | β |
| BarChart::bar_width | ratatui-widgets/src/barchart.rs:87 | β |
| BarChart::bar_gap | ratatui-widgets/src/barchart.rs:89 | β |
| BarChart::group_gap | ratatui-widgets/src/barchart.rs:91 | β |
| BarChart::bar_set | ratatui-widgets/src/barchart.rs:93 | β |
| BarChart::max | ratatui-widgets/src/barchart.rs:106 | β |
| BarChart::direction | ratatui-widgets/src/barchart.rs:108 | β |
| Bar struct | ratatui-widgets/src/barchart/bar.rs:34 | β |
| BarGroup struct | ratatui-widgets/src/barchart/bar_group.rs:21 | β |
Chart Widget
| Feature Name | File/Line | Status |
|---|---|---|
| Chart struct | ratatui-widgets/src/chart.rs:510 | β |
| Axis struct | ratatui-widgets/src/chart.rs:40 | β |
| Axis::bounds | ratatui-widgets/src/chart.rs:44 | β |
| Axis::labels | ratatui-widgets/src/chart.rs:46 | β |
| Axis::labels_alignment | ratatui-widgets/src/chart.rs:50 | β |
| Dataset struct | ratatui-widgets/src/chart.rs:320 | β |
| Dataset::marker | ratatui-widgets/src/chart.rs:326 | β |
| Dataset::graph_type | ratatui-widgets/src/chart.rs:328 | β |
| GraphType::Scatter | ratatui-widgets/src/chart.rs:161 | β |
| GraphType::Line | ratatui-widgets/src/chart.rs:167 | β |
| GraphType::Bar | ratatui-widgets/src/chart.rs:170 | β |
| LegendPosition::TopLeft | ratatui-widgets/src/chart.rs:184 | β |
| LegendPosition::Top | ratatui-widgets/src/chart.rs:179 | β |
| LegendPosition::TopRight | ratatui-widgets/src/chart.rs:182 | β |
| LegendPosition::Left | ratatui-widgets/src/chart.rs:186 | β |
| LegendPosition::Right | ratatui-widgets/src/chart.rs:187 | β |
| LegendPosition::BottomLeft | ratatui-widgets/src/chart.rs:194 | β |
| LegendPosition::Bottom | ratatui-widgets/src/chart.rs:190 | β |
| LegendPosition::BottomRight | ratatui-widgets/src/chart.rs:192 | β |
Gauge Widget
| Feature Name | File/Line | Status |
|---|---|---|
| Gauge struct | ratatui-widgets/src/gauge.rs:45 | β |
| Gauge::ratio | ratatui-widgets/src/gauge.rs:47 | β |
| Gauge::label | ratatui-widgets/src/gauge.rs:48 | β |
| Gauge::use_unicode | ratatui-widgets/src/gauge.rs:49 | β |
| Gauge::gauge_style | ratatui-widgets/src/gauge.rs:51 | β |
| LineGauge struct | ratatui-widgets/src/gauge.rs:269 | β |
| LineGauge::filled_symbol | ratatui-widgets/src/gauge.rs:274 | β |
| LineGauge::unfilled_symbol | ratatui-widgets/src/gauge.rs:275 | β |
| LineGauge::filled_style | ratatui-widgets/src/gauge.rs:276 | β |
| LineGauge::unfilled_style | ratatui-widgets/src/gauge.rs:277 | β |
Sparkline Widget
| Feature Name | File/Line | Status |
|---|---|---|
| Sparkline struct | ratatui-widgets/src/sparkline.rs:66 | β |
| RenderDirection::LeftToRight | ratatui-widgets/src/sparkline.rs:93 | β |
| RenderDirection::RightToLeft | ratatui-widgets/src/sparkline.rs:96 | β |
Scrollbar Widget
| Feature Name | File/Line | Status |
|---|---|---|
| Scrollbar struct | ratatui-widgets/src/scrollbar.rs:87 | β |
| ScrollbarOrientation::VerticalRight | ratatui-widgets/src/scrollbar.rs:112 | β |
| ScrollbarOrientation::VerticalLeft | ratatui-widgets/src/scrollbar.rs:115 | β |
| ScrollbarOrientation::HorizontalBottom | ratatui-widgets/src/scrollbar.rs:118 | β |
| ScrollbarOrientation::HorizontalTop | ratatui-widgets/src/scrollbar.rs:121 | β |
Calendar Widget
| Feature Name | File/Line | Status |
|---|---|---|
| Monthly struct | ratatui-widgets/src/calendar.rs:26 | β |
Canvas Widget
| Feature Name | File/Line | Status |
|---|---|---|
| Canvas struct | ratatui-widgets/src/canvas.rs:721 | β |
| Line shape | ratatui-widgets/src/canvas/line.rs:8 | β |
| Circle shape | ratatui-widgets/src/canvas/circle.rs:9 | β |
| Rectangle shape | ratatui-widgets/src/canvas/rectangle.rs:10 | β |
| Map struct | ratatui-widgets/src/canvas/map.rs:38 | β |
| MapResolution::Low | ratatui-widgets/src/canvas/map.rs:13 | β |
| MapResolution::High | ratatui-widgets/src/canvas/map.rs:16 | β |
Tabs Widget
| Feature Name | File/Line | Status |
|---|---|---|
| Tabs struct | ratatui-widgets/src/tabs.rs:51 | β |
Other Widgets
| Feature Name | File/Line | Status |
|---|---|---|
| Clear widget | ratatui-widgets/src/clear.rs:30 | β |
| RatatuiLogo widget | ratatui-widgets/src/logo.rs:59 | β |
| RatatuiLogo Size::Tiny | ratatui-widgets/src/logo.rs:68 | β |
| RatatuiLogo Size::Small | ratatui-widgets/src/logo.rs:71 | β |
| RatatuiLogo Size::Medium | ratatui-widgets/src/logo.rs:74 | β |
| RatatuiLogo Size::Large | ratatui-widgets/src/logo.rs:77 | β |
Buffer Features
| Feature Name | File/Line | Status |
|---|---|---|
| Buffer struct | ratatui-core/src/buffer/buffer.rs:66 | β |
| Buffer::content | ratatui-core/src/buffer/buffer.rs:107 | β |
| Buffer::get | ratatui-core/src/buffer/buffer.rs:130 | β |
| Cell struct | ratatui-core/src/buffer/cell.rs:9 | β |
Backend Features
| Feature Name | File/Line | Status |
|---|---|---|
| TestBackend | ratatui-core/src/backend/test.rs:* | β |
| CrosstermBackend | ratatui-crossterm/src/lib.rs:* | β |