Expand description
photon-ui — Blazing fast minimal TUI
This crate provides a lightweight, high-performance terminal UI framework
built on top of crossterm. It features a custom differential renderer,
ANSI-aware text wrapping, OSC 8 hyperlink support, and a component-based
architecture.
§Quick start
use photon_ui::{
Component,
RenderError,
Rendered,
TUI,
TestTerminal,
components::Text,
};
let mut tui = TUI::new(Box::new(TestTerminal::new(80, 24)));
tui.mount(Box::new(Text::new("Hello, world!", 0, 0)));
tui.render_frame().unwrap();Re-exports§
pub use events::Event;pub use events::Key;pub use events::Modifiers;pub use events::matches_key;pub use keybindings::KeybindingsManager;pub use keybindings::default_bindings;pub use renderer::InputResult;pub use renderer::RenderError;pub use renderer::RenderStrategy;pub use renderer::Rendered;pub use renderer::Renderer;pub use terminal::Terminal;pub use terminal::TestTerminal;pub use tui::Anchor;pub use tui::Overlay;pub use tui::OverlayConstraints;pub use tui::OverlayPosition;pub use tui::TUI;
Modules§
- autocomplete
- components
- events
- fuzzy
- image
- keybindings
- kill_
ring - layout
- renderer
- terminal
- theme
- The Beam Design Language theme system for photon-ui.
- tui
- undo_
stack - utils
- word_
navigation
Structs§
- KeyEvent
- Represents a key event.