scoria 0.1.0

Beautiful TUI components for building terminal interfaces πŸŽ‡
Documentation

What is Scoria?

Scoria is volcanic rockβ€”the building blocks ejected from a forge. This crate provides the building blocks for terminal UIs: spinners, progress bars, text inputs, lists, tables, and more.


Components

Component Description
Spinner Animated loading indicators (8 styles)
Progress Progress bars (4 styles)
TextInput Text input with cursor navigation
List Scrollable selection lists
Table Data tables with alignment
Tabs Tab navigation
Viewport Scrollable content areas

Quick Start

use scoria::{Spinner, SpinnerStyle, Progress};

// Spinner
let mut spinner = Spinner::new(SpinnerStyle::Dots).title("Loading...");
spinner.tick();
println!("{}", spinner.view());

// Progress bar
let bar = Progress::new()
    .progress(0.6)
    .width(40)
    .show_percentage();
println!("{}", bar.view());
// β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘  60%

Installation

cargo add scoria

Ecosystem

Part of the Molten Labs open source ecosystem:

Crate Description
molten_brand Design tokens & colors
glyphs ANSI escape sequences
lacquer Terminal styling
tuyere TUI framework
scoria TUI components (you are here)
chant Shell glamour
aglow Markdown renderer
censer Pretty logging

License

MIT OR Apache-2.0