From 9593dbef9b1781eb3cb278ed6b0267e88996da03 Mon Sep 17 00:00:00 2001 From: phantom Date: Wed, 19 Jul 2023 22:30:51 -0700 Subject: [PATCH 1/3] updated ratatui version to 0.22 --- Cargo.toml | 2 +- examples/demo.rs | 20 ++++++++++++++++---- src/lib.rs | 11 ++++++++--- 3 files changed, 25 insertions(+), 8 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 15d9e94..532e88e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -17,7 +17,7 @@ travis-ci = { repository = "gin66/tui-logger" } log = "0.4" chrono = { version = "0.4", default-features = false, features = ["clock"] } tui = { version = "0.19", default-features = false, package = "tui", optional = true } -ratatui = { version = "0.21", default-features = false, package = "ratatui", optional = true } +ratatui = { version = "0.22", default-features = false, package = "ratatui", optional = true } tracing = {version = "0.1.37", optional = true} tracing-subscriber = {version = "0.3", optional = true} lazy_static = "1.0" diff --git a/examples/demo.rs b/examples/demo.rs index 58a62b6..90e4dfe 100644 --- a/examples/demo.rs +++ b/examples/demo.rs @@ -12,14 +12,26 @@ use termion::{ }; #[cfg(feature = "ratatui-support")] -use ratatui as tui; +use ratatui::prelude::*; +#[cfg(feature = "ratatui-support")] +use ratatui::widgets::*; + +#[cfg(feature = "ratatui-support")] +use ratatui::backend::CrosstermBackend as SelectedBackend; +#[cfg(not(feature = "ratatui-support"))] use tui::backend::Backend; -use tui::backend::TermionBackend; +#[cfg(not(feature = "ratatui-support"))] +use tui::backend::TermionBackend as SelectedBackend; +#[cfg(not(feature = "ratatui-support"))] use tui::layout::{Constraint, Direction, Layout, Rect}; +#[cfg(not(feature = "ratatui-support"))] use tui::style::{Color, Modifier, Style}; +#[cfg(not(feature = "ratatui-support"))] use tui::widgets::{Block, Borders, Gauge, Tabs}; +#[cfg(not(feature = "ratatui-support"))] use tui::Frame; +#[cfg(not(feature = "ratatui-support"))] use tui::Terminal; use tui_logger::*; @@ -61,7 +73,7 @@ fn main() -> std::result::Result<(), std::io::Error> { let stdout = io::stdout().into_raw_mode().unwrap(); let stdout = MouseTerminal::from(stdout); let stdout = AlternateScreen::from(stdout); - TermionBackend::new(stdout) + SelectedBackend::new(stdout) }; let mut terminal = Terminal::new(backend).unwrap(); @@ -178,7 +190,7 @@ fn draw_frame(t: &mut Frame, size: Rect, app: &mut App) { #[cfg(not(feature = "ratatui-support"))] let tabs: Vec = vec!["V1".into(), "V2".into(), "V3".into(), "V4".into()]; #[cfg(feature = "ratatui-support")] - let tabs: Vec = vec!["V1".into(), "V2".into(), "V3".into(), "V4".into()]; + let tabs: Vec = vec!["V1".into(), "V2".into(), "V3".into(), "V4".into()]; let sel = app.selected_tab; if app.states.len() <= sel { diff --git a/src/lib.rs b/src/lib.rs index 4d61dc8..3a936e8 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -201,18 +201,23 @@ use std::mem; use std::sync::Arc; #[cfg(feature = "ratatui-support")] -use ratatui as tui; +use ratatui::prelude::*; +#[cfg(feature = "ratatui-support")] +use ratatui::widgets::*; use chrono::{DateTime, Local}; use log::{Level, LevelFilter, Log, Metadata, Record}; use parking_lot::Mutex; + +#[cfg(not(feature = "ratatui-support"))] use tui::buffer::Buffer; +#[cfg(not(feature = "ratatui-support"))] use tui::layout::{Constraint, Direction, Layout, Rect}; +#[cfg(not(feature = "ratatui-support"))] use tui::style::{Modifier, Style}; -#[cfg(feature = "ratatui-support")] -use tui::text::Line; #[cfg(not(feature = "ratatui-support"))] use tui::text::Spans as Line; +#[cfg(not(feature = "ratatui-support"))] use tui::widgets::{Block, BorderType, Borders, Widget}; mod circular; From 7ac8adbd4483c9fb74367fc00b4354e4f2a26702 Mon Sep 17 00:00:00 2001 From: phantom Date: Wed, 19 Jul 2023 22:35:32 -0700 Subject: [PATCH 2/3] fixed clippy warnings --- src/lib.rs | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 3a936e8..734ceca 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -528,6 +528,7 @@ impl Log for TuiLogger { } /// A simple `Drain` to log any event directly. +#[derive(Default)] pub struct Drain; impl Drain { @@ -864,7 +865,7 @@ impl<'b> Widget for TuiLoggerTargetWidget<'b> { cell.set_style(cell_style); cell.symbol = sym.to_string(); } - buf.set_stringn(la_left + 5, la_top + i as u16, &":", la_width, self.style); + buf.set_stringn(la_left + 5, la_top + i as u16, ":", la_width, self.style); buf.set_stringn( la_left + 6, la_top + i as u16, @@ -1156,11 +1157,9 @@ impl<'b> Widget for TuiLoggerWidget<'b> { if *level < evt.level { continue; } - } else { - if let Some(level) = state.config.default_display_level { - if level < evt.level { - continue; - } + } else if let Some(level) = state.config.default_display_level { + if level < evt.level { + continue; } } if state.focus_selected { From c3ef34e48d52a804f29555adc8508c94f0521433 Mon Sep 17 00:00:00 2001 From: phantom Date: Thu, 20 Jul 2023 11:47:32 -0700 Subject: [PATCH 3/3] fixed termion ratatui demo --- Cargo.toml | 4 ++-- examples/demo.rs | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 532e88e..ae34b95 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -17,7 +17,7 @@ travis-ci = { repository = "gin66/tui-logger" } log = "0.4" chrono = { version = "0.4", default-features = false, features = ["clock"] } tui = { version = "0.19", default-features = false, package = "tui", optional = true } -ratatui = { version = "0.22", default-features = false, package = "ratatui", optional = true } +ratatui = { version = "0.22.0", default-features = false, package = "ratatui", optional = true } tracing = {version = "0.1.37", optional = true} tracing-subscriber = {version = "0.3", optional = true} lazy_static = "1.0" @@ -33,6 +33,6 @@ env_logger = "0.10.0" default = ["tui","tui/termion"] tui-rs = ["tui"] slog-support = ["slog"] -ratatui-support = ["ratatui"] +ratatui-support = ["ratatui","ratatui/termion"] tracing-support = ["tracing", "tracing-subscriber"] diff --git a/examples/demo.rs b/examples/demo.rs index 90e4dfe..c846292 100644 --- a/examples/demo.rs +++ b/examples/demo.rs @@ -15,14 +15,13 @@ use termion::{ use ratatui::prelude::*; #[cfg(feature = "ratatui-support")] use ratatui::widgets::*; - #[cfg(feature = "ratatui-support")] -use ratatui::backend::CrosstermBackend as SelectedBackend; +use ratatui::backend::TermionBackend; #[cfg(not(feature = "ratatui-support"))] use tui::backend::Backend; #[cfg(not(feature = "ratatui-support"))] -use tui::backend::TermionBackend as SelectedBackend; +use tui::backend::TermionBackend; #[cfg(not(feature = "ratatui-support"))] use tui::layout::{Constraint, Direction, Layout, Rect}; #[cfg(not(feature = "ratatui-support"))] @@ -33,6 +32,7 @@ use tui::widgets::{Block, Borders, Gauge, Tabs}; use tui::Frame; #[cfg(not(feature = "ratatui-support"))] use tui::Terminal; + use tui_logger::*; struct App { @@ -73,7 +73,7 @@ fn main() -> std::result::Result<(), std::io::Error> { let stdout = io::stdout().into_raw_mode().unwrap(); let stdout = MouseTerminal::from(stdout); let stdout = AlternateScreen::from(stdout); - SelectedBackend::new(stdout) + TermionBackend::new(stdout) }; let mut terminal = Terminal::new(backend).unwrap();