diff --git a/src/app.rs b/src/app.rs index 099fe94..221ef83 100644 --- a/src/app.rs +++ b/src/app.rs @@ -58,14 +58,21 @@ impl<'a, S: Unpin> Sute<'a, S> { } } - fn run_cmd(&mut self, cmd: String) { - if cmd == "quit" { - self.state.running = false; - } else { - info!(self.log, "Issues unknown cmd: {}", cmd); + fn run_cmd(&mut self, cmdline: String) { + let mut words = cmdline.split_ascii_whitespace(); + match words.next() { + Some("quit") => self.state.running = false, + Some("connect") => { + self.connect(cmdline) + }, + cmd => info!(self.log, "Issues unknown cmd: {:?}", cmd), } } + fn connect(&mut self, params: String) { + info!(self.log, "Called connect with {}", params); + } + fn handle_resize(&mut self, new_size: (u16,u16)) { self.state.size = new_size; } diff --git a/src/main.rs b/src/main.rs index b95f617..460d11f 100644 --- a/src/main.rs +++ b/src/main.rs @@ -26,6 +26,7 @@ mod input; mod util; mod ui; mod schema; +mod commands; use banner::BANNER; @@ -71,6 +72,7 @@ fn main() -> Result<(), io::Error> { let app = app::Sute::new(resize, log.clone(), drain, api); + let mut state = app.get_state(); let mut stream = app.to_stream(); let ui_future = async move { @@ -86,6 +88,7 @@ fn main() -> Result<(), io::Error> { terminal.resize(tui::layout::Rect::new(0, 0, x,y)).unwrap(); } + terminal.draw(|f| ui::draw_ui(f, &mut state)); loop { if let Some(mut state) = stream.next().await { if !state.running { diff --git a/src/ui/mod.rs b/src/ui/mod.rs index b32cfe7..0d8f208 100644 --- a/src/ui/mod.rs +++ b/src/ui/mod.rs @@ -26,7 +26,7 @@ pub fn draw_ui(f: &mut Frame, app: &mut SuteState) { fn draw_header(f: &mut Frame, app: &mut SuteState, layout_chunk: Rect) { f.render_widget(Block::default() - .title("Header") + .title("Status") .borders(Borders::ALL), layout_chunk); }