Logging (#8)
- Add `Logger`, `Config` - Back to `nixos-unstable` - `nix flake update`
This commit is contained in:
@@ -1,22 +1,26 @@
|
||||
use std::io::{stdout, Stdout};
|
||||
use std::io;
|
||||
|
||||
use color_eyre::eyre::Result;
|
||||
use crossterm::{execute, terminal::*};
|
||||
use crossterm::{
|
||||
cursor, execute,
|
||||
terminal::{EnterAlternateScreen, LeaveAlternateScreen},
|
||||
};
|
||||
use ratatui::{backend::CrosstermBackend, Terminal as RatatuiTerminal};
|
||||
|
||||
pub type Terminal = RatatuiTerminal<CrosstermBackend<Stdout>>;
|
||||
pub type Terminal = RatatuiTerminal<CrosstermBackend<io::Stdout>>;
|
||||
|
||||
pub fn init() -> Result<Terminal> {
|
||||
enable_raw_mode()?;
|
||||
execute!(stdout(), EnterAlternateScreen)?;
|
||||
let mut terminal = RatatuiTerminal::new(CrosstermBackend::new(stdout()))?;
|
||||
pub fn setup() -> Result<Terminal> {
|
||||
let mut stdout = std::io::stdout();
|
||||
crossterm::terminal::enable_raw_mode()?;
|
||||
execute!(stdout, EnterAlternateScreen, cursor::Hide)?;
|
||||
let mut terminal = RatatuiTerminal::new(CrosstermBackend::new(stdout))?;
|
||||
terminal.clear()?;
|
||||
terminal.hide_cursor()?;
|
||||
Ok(terminal)
|
||||
}
|
||||
|
||||
pub fn restore() -> Result<()> {
|
||||
execute!(stdout(), LeaveAlternateScreen)?;
|
||||
disable_raw_mode()?;
|
||||
pub fn teardown() -> Result<()> {
|
||||
execute!(io::stdout(), LeaveAlternateScreen, cursor::Show)?;
|
||||
crossterm::terminal::disable_raw_mode()?;
|
||||
Ok(())
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user