mirror of
https://github.com/ratatui-org/ratatui
synced 2025-02-16 22:18:51 +00:00
* build: bump MSRV to 1.65 The latest version of the time crate requires Rust 1.65.0 ``` cargo +1.64.0-x86_64-apple-darwin test --no-default-features \ --features serde,crossterm,all-widgets --lib --tests --examples error: package `time v0.3.21` cannot be built because it requires rustc 1.65.0 or newer, while the currently active rustc version is 1.64.0 ``` * feat(backend): add termwiz backend and demo * ci(termwiz): add termwiz to makefile.toml --------- Co-authored-by: Josh McKinney <joshka@users.noreply.github.com> Co-authored-by: Prabir Shrestha <mail@prabir.me>
37 lines
860 B
Rust
37 lines
860 B
Rust
mod app;
|
|
#[cfg(feature = "crossterm")]
|
|
mod crossterm;
|
|
#[cfg(feature = "termion")]
|
|
mod termion;
|
|
#[cfg(feature = "termwiz")]
|
|
mod termwiz;
|
|
|
|
mod ui;
|
|
|
|
#[cfg(feature = "crossterm")]
|
|
use crate::crossterm::run;
|
|
#[cfg(feature = "termion")]
|
|
use crate::termion::run;
|
|
#[cfg(feature = "termwiz")]
|
|
use crate::termwiz::run;
|
|
|
|
use argh::FromArgs;
|
|
use std::{error::Error, time::Duration};
|
|
|
|
/// Demo
|
|
#[derive(Debug, FromArgs)]
|
|
struct Cli {
|
|
/// time in ms between two ticks.
|
|
#[argh(option, default = "250")]
|
|
tick_rate: u64,
|
|
/// whether unicode symbols are used to improve the overall look of the app
|
|
#[argh(option, default = "true")]
|
|
enhanced_graphics: bool,
|
|
}
|
|
|
|
fn main() -> Result<(), Box<dyn Error>> {
|
|
let cli: Cli = argh::from_env();
|
|
let tick_rate = Duration::from_millis(cli.tick_rate);
|
|
run(tick_rate, cli.enhanced_graphics)?;
|
|
Ok(())
|
|
}
|