blob: 85e38882f839d3ef8f6ad4c48c41cbd4c2e6fb72 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
use crossterm::event::{self, Event};
use std::io;
use pfc::{ui, Calculator, Signal};
fn main() -> io::Result<()> {
let mut terminal = ui::init_terminal()?;
let mut calculator = Calculator::default();
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(());
}
}
}
}();
ui::cleanup_terminal(terminal)?;
result
}
|