diff --git a/lib/cli/tui/mod.rs b/lib/cli/tui/mod.rs index 3f86d2a..12e6bee 100644 --- a/lib/cli/tui/mod.rs +++ b/lib/cli/tui/mod.rs @@ -1,70 +1,72 @@ -mod framework { - pub mod app; - pub mod component; - pub mod events; - pub mod keyboard; - pub mod tui; -} - -use {eyre::Result, palette::rgb::Rgb, ratatui::style::Color, std::str::FromStr}; - -pub use framework::app::{App, Kb}; -pub use framework::component::{Children, Component}; -pub use framework::events::{Action, Event}; -pub use framework::keyboard::KeyBindings; -pub use framework::tui::{Frame, Tui, IO}; - -pub mod utils { - pub mod component { - pub use super::super::framework::component::{ - child_downcast, child_downcast_mut, init_children, pass_action_handler_to_children, - pass_message_to_children, update_children, - }; - } - - pub mod keyboard { - pub use super::super::framework::keyboard::{key_event_to_string, parse_key_sequence}; - } -} - -// ratatui prelude -pub mod rataui { - pub use ratatui::prelude::*; -} - -#[macro_export] -macro_rules! components { - ( $( $x:expr $( => $t:ty )* ),* ) => { - { - let mut temp_vec = Vec::new(); - $( - temp_vec.push( - Box::new($x) - as Box - ); - )* - temp_vec - } - }; -} - -#[macro_export] -macro_rules! children { - ( $( $name:expr => $value:expr ),* ) => { - { - let mut map = std::collections::HashMap::new(); - $( - map.insert( - $name.to_string(), - Box::new($value) as Box - ); - )* - map - } - }; -} - -pub fn rgb(hex: &str) -> Result { - let rgb: Rgb = Rgb::from_str(hex)?; - Ok(Color::Rgb(rgb.red, rgb.green, rgb.blue)) -} +mod framework { + pub mod app; + pub mod component; + pub mod events; + pub mod keyboard; + pub mod tui; +} + +use {eyre::Result, palette::rgb::Rgb, ratatui::style::Color, std::str::FromStr}; + +pub use framework::{ + app::{App, Kb}, + component::{Children, Component}, + events::{Action, Event}, + keyboard::KeyBindings, + tui::{Frame, Tui, IO}, +}; + +pub mod utils { + pub mod component { + pub use super::super::framework::component::{ + child_downcast, child_downcast_mut, init_children, pass_action_handler_to_children, + pass_message_to_children, update_children, + }; + } + + pub mod keyboard { + pub use super::super::framework::keyboard::{key_event_to_string, parse_key_sequence}; + } +} + +// ratatui prelude +pub mod rataui { + pub use ratatui::prelude::*; +} + +#[macro_export] +macro_rules! components { + ( $( $x:expr $( => $t:ty )* ),* ) => { + { + let mut temp_vec = Vec::new(); + $( + temp_vec.push( + Box::new($x) + as Box + ); + )* + temp_vec + } + }; +} + +#[macro_export] +macro_rules! children { + ( $( $name:expr => $value:expr ),* ) => { + { + let mut map = std::collections::HashMap::new(); + $( + map.insert( + $name.to_string(), + Box::new($value) as Box + ); + )* + map + } + }; +} + +pub fn rgb(hex: &str) -> Result { + let rgb: Rgb = Rgb::from_str(hex)?; + Ok(Color::Rgb(rgb.red, rgb.green, rgb.blue)) +}