From 3f30effd19cfd1f987357aa2bf87c3144500a555 Mon Sep 17 00:00:00 2001 From: EdJoPaTo Date: Mon, 4 Sep 2023 12:44:30 +0200 Subject: [PATCH] feat: migrate to ratatui (#26) Co-authored-by: Ben PHL --- Cargo.toml | 4 ++-- examples/example.rs | 4 ++-- src/flatten.rs | 4 ++-- src/lib.rs | 18 +++++++++--------- 4 files changed, 15 insertions(+), 15 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index a81570d..19efd3c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -12,9 +12,9 @@ include = ["src/**/*", "README.md"] # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -tui = { version = "0.19", default-features = false } +ratatui = { version = "0.23", default-features = false } unicode-width = "0.1" [dev-dependencies] crossterm = "0.27" -tui = "0.19" +ratatui = "0.23" diff --git a/examples/example.rs b/examples/example.rs index f63cbaf..70f4aa8 100644 --- a/examples/example.rs +++ b/examples/example.rs @@ -6,13 +6,13 @@ use crossterm::{ execute, terminal::{disable_raw_mode, enable_raw_mode, EnterAlternateScreen, LeaveAlternateScreen}, }; -use std::{error::Error, io}; -use tui::{ +use ratatui::{ backend::{Backend, CrosstermBackend}, style::{Color, Modifier, Style}, widgets::{Block, Borders}, Terminal, }; +use std::{error::Error, io}; use tui_tree_widget::{Tree, TreeItem}; diff --git a/src/flatten.rs b/src/flatten.rs index d73586c..31de7bb 100644 --- a/src/flatten.rs +++ b/src/flatten.rs @@ -46,11 +46,11 @@ fn internal<'a>( } #[cfg(test)] -fn get_naive_string_from_text(text: &tui::text::Text<'_>) -> String { +fn get_naive_string_from_text(text: &ratatui::text::Text<'_>) -> String { text.lines .first() .unwrap() - .0 + .spans .first() .unwrap() .content diff --git a/src/lib.rs b/src/lib.rs index 3fb1107..4e55ca3 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -2,11 +2,11 @@ use std::collections::HashSet; -use tui::buffer::Buffer; -use tui::layout::{Corner, Rect}; -use tui::style::Style; -use tui::text::Text; -use tui::widgets::{Block, StatefulWidget, Widget}; +use ratatui::buffer::Buffer; +use ratatui::layout::{Corner, Rect}; +use ratatui::style::Style; +use ratatui::text::Text; +use ratatui::widgets::{Block, StatefulWidget, Widget}; use unicode_width::UnicodeWidthStr; mod flatten; @@ -247,9 +247,9 @@ impl<'a> TreeItem<'a> { /// /// ``` /// # use tui_tree_widget::{Tree, TreeItem, TreeState}; -/// # use tui::backend::TestBackend; -/// # use tui::Terminal; -/// # use tui::widgets::{Block, Borders}; +/// # use ratatui::backend::TestBackend; +/// # use ratatui::Terminal; +/// # use ratatui::widgets::{Block, Borders}; /// # fn main() -> std::io::Result<()> { /// # let mut terminal = Terminal::new(TestBackend::new(32, 32)).unwrap(); /// let mut state = TreeState::default(); @@ -480,7 +480,7 @@ impl<'a> StatefulWidget for Tree<'a> { let max_element_width = area.width.saturating_sub(after_depth_x - x); for (j, line) in item.item.text.lines.iter().enumerate() { - buf.set_spans(after_depth_x, y + j as u16, line, max_element_width); + buf.set_line(after_depth_x, y + j as u16, line, max_element_width); } if is_selected { buf.set_style(area, self.highlight_style);