aboutsummaryrefslogtreecommitdiff
path: root/src/tui.rs
diff options
context:
space:
mode:
authorShav Kinderlehrer <[email protected]>2024-03-05 23:34:55 -0500
committerShav Kinderlehrer <[email protected]>2024-03-05 23:34:55 -0500
commit022574877dbabc1fbb386dc3b59765de528107c9 (patch)
treee662b3808cd9903ecb76d6a61029ac69de701aa8 /src/tui.rs
downloadmolehole-022574877dbabc1fbb386dc3b59765de528107c9.tar.gz
molehole-022574877dbabc1fbb386dc3b59765de528107c9.zip
Initial commit
Diffstat (limited to 'src/tui.rs')
-rw-r--r--src/tui.rs20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/tui.rs b/src/tui.rs
new file mode 100644
index 0000000..7f27ca3
--- /dev/null
+++ b/src/tui.rs
@@ -0,0 +1,20 @@
+use std::io::{self, stdout, Stdout};
+
+use crossterm::{execute, terminal::*};
+use ratatui::prelude::*;
+
+pub type Tui = Terminal<CrosstermBackend<Stdout>>;
+
+pub fn init() -> io::Result<Tui> {
+ execute!(stdout(), EnterAlternateScreen)?;
+ enable_raw_mode()?;
+
+ Terminal::new(CrosstermBackend::new(stdout()))
+}
+
+pub fn restore() -> io::Result<()> {
+ execute!(stdout(), LeaveAlternateScreen)?;
+ disable_raw_mode()?;
+
+ Ok(())
+}