use std::io::Write;
use std::thread;
use std::time;
use yansi::Color;
use yansi::Paint;
struct Model {
i: usize,
}
impl nutmeg::Model for Model {
fn render(&mut self, _width: usize) -> String {
format!("count: {}", Paint::yellow(self.i))
}
}
fn main() {
let options = nutmeg::Options::default();
let mut view = nutmeg::View::new(Model { i: 0 }, options);
for i in 1..=45 {
view.update(|state| state.i += 1);
if i % 5 == 0 {
writeln!(
view,
"{}",
Paint::new(format!(
"{} {}",
Paint::new("item").italic(),
Paint::new(i).underline()
))
.wrap()
.fg(Color::White)
.bold()
.bg(Color::Blue)
)
.unwrap();
}
thread::sleep(time::Duration::from_millis(300));
}
}