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:* βœ