From 694a2de36951a145636dede5a0cad9e2179089e8 Mon Sep 17 00:00:00 2001 From: Sam Anthony Date: Thu, 2 Feb 2023 13:34:34 -0330 Subject: use closure rather than run() function --- src/main.rs | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) (limited to 'src/main.rs') diff --git a/src/main.rs b/src/main.rs index 18fb6e7..85e3888 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,24 +1,24 @@ use crossterm::event::{self, Event}; use std::io; -use tui::{backend::Backend, Terminal}; use pfc::{ui, Calculator, Signal}; fn main() -> io::Result<()> { let mut terminal = ui::init_terminal()?; - let result = run(Calculator::default(), &mut terminal); - ui::cleanup_terminal(terminal)?; - result -} + let mut calculator = Calculator::default(); -fn run(mut calculator: Calculator, terminal: &mut Terminal) -> io::Result<()> { - loop { - terminal.draw(|f| calculator.draw(f))?; + let result = || -> io::Result<()> { + loop { + terminal.draw(|f| calculator.draw(f))?; - if let Event::Key(key) = event::read()? { - if let Signal::Exit = calculator.handle_input(key) { - return Ok(()); + if let Event::Key(key) = event::read()? { + if let Signal::Exit = calculator.handle_input(key) { + return Ok(()); + } } } - } + }(); + + ui::cleanup_terminal(terminal)?; + result } -- cgit v1.2.3