From 330b7074ae286e60b8ff19f58b9dad97153380b6 Mon Sep 17 00:00:00 2001 From: rhysd Date: Tue, 24 Oct 2023 13:14:44 +0900 Subject: [PATCH] fix examples to invert ratatui and tui-rs --- Cargo.toml | 50 +++++++++---------- examples/editor.rs | 18 +++---- examples/minimal.rs | 6 +-- examples/modal.rs | 8 +-- examples/password.rs | 10 ++-- examples/popup_placeholder.rs | 13 ++--- examples/single_line.rs | 10 ++-- examples/split.rs | 14 +++--- examples/termion.rs | 6 +-- .../{ratatui_editor.rs => tuirs_editor.rs} | 20 ++++---- .../{ratatui_minimal.rs => tuirs_minimal.rs} | 8 +-- ...ceholder.rs => tuirs_popup_placeholder.rs} | 16 +++--- .../{ratatui_termion.rs => tuirs_termion.rs} | 6 +-- examples/variable.rs | 8 +-- 14 files changed, 97 insertions(+), 96 deletions(-) rename examples/{ratatui_editor.rs => tuirs_editor.rs} (96%) rename examples/{ratatui_minimal.rs => tuirs_minimal.rs} (90%) rename examples/{ratatui_popup_placeholder.rs => tuirs_popup_placeholder.rs} (88%) rename examples/{ratatui_termion.rs => tuirs_termion.rs} (94%) diff --git a/Cargo.toml b/Cargo.toml index 10a6470..dd416df 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -51,10 +51,6 @@ unicode-width = "0.1.11" name = "minimal" required-features = ["crossterm"] -[[example]] -name = "termion" -required-features = ["termion"] - [[example]] name = "editor" required-features = ["crossterm", "search"] @@ -67,10 +63,6 @@ required-features = ["crossterm"] name = "single_line" required-features = ["crossterm"] -[[example]] -name = "password" -required-features = ["crossterm"] - [[example]] name = "variable" required-features = ["crossterm"] @@ -79,29 +71,37 @@ required-features = ["crossterm"] name = "modal" required-features = ["crossterm"] +[[example]] +name = "password" +required-features = ["crossterm"] + [[example]] name = "popup_placeholder" required-features = ["crossterm"] -[[example]] -name = "ratatui_minimal" -required-features = ["ratatui-crossterm"] - -[[example]] -name = "ratatui_popup_placeholder" -required-features = ["ratatui-crossterm"] - -[[example]] -name = "ratatui_editor" -required-features = ["ratatui-crossterm", "search"] - -[[example]] -name = "ratatui_termion" -required-features = ["ratatui-termion"] - [[example]] name = "termwiz" -required-features = ["ratatui-termwiz"] +required-features = ["termwiz"] + +[[example]] +name = "termion" +required-features = ["termion"] + +[[example]] +name = "tuirs_minimal" +required-features = ["tuirs-crossterm"] + +[[example]] +name = "tuirs_editor" +required-features = ["tuirs-crossterm", "search"] + +[[example]] +name = "tuirs_popup_placeholder" +required-features = ["tuirs-crossterm"] + +[[example]] +name = "tuirs_termion" +required-features = ["tuirs-termion"] [workspace] members = [ diff --git a/examples/editor.rs b/examples/editor.rs index 67a80e6..0e59a19 100644 --- a/examples/editor.rs +++ b/examples/editor.rs @@ -3,6 +3,12 @@ use crossterm::terminal::{ disable_raw_mode, enable_raw_mode, is_raw_mode_enabled, EnterAlternateScreen, LeaveAlternateScreen, }; +use ratatui::backend::CrosstermBackend; +use ratatui::layout::{Constraint, Direction, Layout}; +use ratatui::style::{Color, Modifier, Style}; +use ratatui::text::{Line, Span}; +use ratatui::widgets::{Block, Borders, Paragraph}; +use ratatui::Terminal; use std::borrow::Cow; use std::env; use std::fmt::Display; @@ -10,12 +16,6 @@ use std::fs; use std::io; use std::io::{BufRead, Write}; use std::path::PathBuf; -use tui::backend::CrosstermBackend; -use tui::layout::{Constraint, Direction, Layout}; -use tui::style::{Color, Modifier, Style}; -use tui::text::{Span, Spans}; -use tui::widgets::{Block, Borders, Paragraph}; -use tui::Terminal; use tui_textarea::{CursorMove, Input, Key, TextArea}; macro_rules! error { @@ -223,9 +223,9 @@ impl<'a> Editor<'a> { // Render message at bottom let message = if let Some(message) = self.message.take() { - Spans::from(Span::raw(message)) + Line::from(Span::raw(message)) } else if search_height > 0 { - Spans::from(vec![ + Line::from(vec![ Span::raw("Press "), Span::styled("Enter", Style::default().add_modifier(Modifier::BOLD)), Span::raw(" to jump to first match and close, "), @@ -243,7 +243,7 @@ impl<'a> Editor<'a> { Span::raw(" to search previous"), ]) } else { - Spans::from(vec![ + Line::from(vec![ Span::raw("Press "), Span::styled("^Q", Style::default().add_modifier(Modifier::BOLD)), Span::raw(" to quit, "), diff --git a/examples/minimal.rs b/examples/minimal.rs index 5d26a20..ac37201 100644 --- a/examples/minimal.rs +++ b/examples/minimal.rs @@ -2,10 +2,10 @@ use crossterm::event::{DisableMouseCapture, EnableMouseCapture}; use crossterm::terminal::{ disable_raw_mode, enable_raw_mode, EnterAlternateScreen, LeaveAlternateScreen, }; +use ratatui::backend::CrosstermBackend; +use ratatui::widgets::{Block, Borders}; +use ratatui::Terminal; use std::io; -use tui::backend::CrosstermBackend; -use tui::widgets::{Block, Borders}; -use tui::Terminal; use tui_textarea::{Input, Key, TextArea}; fn main() -> io::Result<()> { diff --git a/examples/modal.rs b/examples/modal.rs index ac68cc4..5e3f1c2 100644 --- a/examples/modal.rs +++ b/examples/modal.rs @@ -2,15 +2,15 @@ use crossterm::event::{DisableMouseCapture, EnableMouseCapture}; use crossterm::terminal::{ disable_raw_mode, enable_raw_mode, EnterAlternateScreen, LeaveAlternateScreen, }; +use ratatui::backend::CrosstermBackend; +use ratatui::style::{Color, Modifier, Style}; +use ratatui::widgets::{Block, Borders}; +use ratatui::Terminal; use std::env; use std::fmt; use std::fs; use std::io; use std::io::BufRead; -use tui::backend::CrosstermBackend; -use tui::style::{Color, Modifier, Style}; -use tui::widgets::{Block, Borders}; -use tui::Terminal; use tui_textarea::{CursorMove, Input, Key, Scrolling, TextArea}; enum Mode { diff --git a/examples/password.rs b/examples/password.rs index 8f345ed..3cd0875 100644 --- a/examples/password.rs +++ b/examples/password.rs @@ -2,12 +2,12 @@ use crossterm::event::{DisableMouseCapture, EnableMouseCapture}; use crossterm::terminal::{ disable_raw_mode, enable_raw_mode, EnterAlternateScreen, LeaveAlternateScreen, }; +use ratatui::backend::CrosstermBackend; +use ratatui::layout::{Constraint, Layout}; +use ratatui::style::{Color, Style}; +use ratatui::widgets::{Block, Borders}; +use ratatui::Terminal; use std::io; -use tui::backend::CrosstermBackend; -use tui::layout::{Constraint, Layout}; -use tui::style::{Color, Style}; -use tui::widgets::{Block, Borders}; -use tui::Terminal; use tui_textarea::{Input, Key, TextArea}; fn main() -> io::Result<()> { diff --git a/examples/popup_placeholder.rs b/examples/popup_placeholder.rs index a18f656..d705761 100644 --- a/examples/popup_placeholder.rs +++ b/examples/popup_placeholder.rs @@ -2,12 +2,12 @@ use crossterm::event::{DisableMouseCapture, EnableMouseCapture}; use crossterm::terminal::{ disable_raw_mode, enable_raw_mode, EnterAlternateScreen, LeaveAlternateScreen, }; +use ratatui::backend::CrosstermBackend; +use ratatui::layout::Rect; +use ratatui::style::{Color, Style}; +use ratatui::widgets::{Block, Borders}; +use ratatui::Terminal; use std::io; -use tui::backend::CrosstermBackend; -use tui::layout::Rect; -use tui::style::{Color, Style}; -use tui::widgets::{Block, Borders}; -use tui::Terminal; use tui_textarea::{Input, Key, TextArea}; fn main() -> io::Result<()> { @@ -34,9 +34,6 @@ fn main() -> io::Result<()> { y: 5, }; textarea.set_style(Style::default().fg(Color::Yellow)); - - // set placeholder - textarea.set_placeholder_style(Style::default()); textarea.set_placeholder_text("prompt message"); loop { diff --git a/examples/single_line.rs b/examples/single_line.rs index 5b7ed42..e76d89b 100644 --- a/examples/single_line.rs +++ b/examples/single_line.rs @@ -2,12 +2,12 @@ use crossterm::event::{DisableMouseCapture, EnableMouseCapture}; use crossterm::terminal::{ disable_raw_mode, enable_raw_mode, EnterAlternateScreen, LeaveAlternateScreen, }; +use ratatui::backend::CrosstermBackend; +use ratatui::layout::{Constraint, Layout}; +use ratatui::style::{Color, Style}; +use ratatui::widgets::{Block, Borders}; +use ratatui::Terminal; use std::io; -use tui::backend::CrosstermBackend; -use tui::layout::{Constraint, Layout}; -use tui::style::{Color, Style}; -use tui::widgets::{Block, Borders}; -use tui::Terminal; use tui_textarea::{Input, Key, TextArea}; fn validate(textarea: &mut TextArea) -> bool { diff --git a/examples/split.rs b/examples/split.rs index e470649..da2ce7f 100644 --- a/examples/split.rs +++ b/examples/split.rs @@ -2,12 +2,12 @@ use crossterm::event::{DisableMouseCapture, EnableMouseCapture}; use crossterm::terminal::{ disable_raw_mode, enable_raw_mode, EnterAlternateScreen, LeaveAlternateScreen, }; +use ratatui::backend::CrosstermBackend; +use ratatui::layout::{Constraint, Direction, Layout}; +use ratatui::style::{Color, Modifier, Style}; +use ratatui::widgets::{Block, Borders}; +use ratatui::Terminal; use std::io; -use tui::backend::CrosstermBackend; -use tui::layout::{Constraint, Direction, Layout}; -use tui::style::{Color, Modifier, Style}; -use tui::widgets::{Block, Borders}; -use tui::Terminal; use tui_textarea::{Input, Key, TextArea}; fn inactivate(textarea: &mut TextArea<'_>) { @@ -54,9 +54,9 @@ fn main() -> io::Result<()> { loop { term.draw(|f| { let chunks = layout.split(f.size()); - for (textarea, chunk) in textarea.iter().zip(chunks) { + for (textarea, chunk) in textarea.iter().zip(chunks.iter()) { let widget = textarea.widget(); - f.render_widget(widget, chunk); + f.render_widget(widget, *chunk); } })?; match crossterm::event::read()?.into() { diff --git a/examples/termion.rs b/examples/termion.rs index 63ac412..3a73fe2 100644 --- a/examples/termion.rs +++ b/examples/termion.rs @@ -1,3 +1,6 @@ +use ratatui::backend::TermionBackend; +use ratatui::widgets::{Block, Borders}; +use ratatui::Terminal; use std::error::Error; use std::io; use std::sync::mpsc; @@ -7,9 +10,6 @@ use termion::event::Event as TermEvent; use termion::input::{MouseTerminal, TermRead}; use termion::raw::IntoRawMode; use termion::screen::IntoAlternateScreen; -use tui::backend::TermionBackend; -use tui::widgets::{Block, Borders}; -use tui::Terminal; use tui_textarea::{Input, Key, TextArea}; enum Event { diff --git a/examples/ratatui_editor.rs b/examples/tuirs_editor.rs similarity index 96% rename from examples/ratatui_editor.rs rename to examples/tuirs_editor.rs index 73189f9..7fa6389 100644 --- a/examples/ratatui_editor.rs +++ b/examples/tuirs_editor.rs @@ -1,16 +1,10 @@ -use crossterm_027 as crossterm; +use crossterm_025 as crossterm; use crossterm::event::{DisableMouseCapture, EnableMouseCapture}; use crossterm::terminal::{ disable_raw_mode, enable_raw_mode, is_raw_mode_enabled, EnterAlternateScreen, LeaveAlternateScreen, }; -use ratatui::backend::CrosstermBackend; -use ratatui::layout::{Constraint, Direction, Layout}; -use ratatui::style::{Color, Modifier, Style}; -use ratatui::text::{Line, Span}; -use ratatui::widgets::{Block, Borders, Paragraph}; -use ratatui::Terminal; use std::borrow::Cow; use std::env; use std::fmt::Display; @@ -18,6 +12,12 @@ use std::fs; use std::io; use std::io::{BufRead, Write}; use std::path::PathBuf; +use tui::backend::CrosstermBackend; +use tui::layout::{Constraint, Direction, Layout}; +use tui::style::{Color, Modifier, Style}; +use tui::text::{Span, Spans}; +use tui::widgets::{Block, Borders, Paragraph}; +use tui::Terminal; use tui_textarea::{CursorMove, Input, Key, TextArea}; macro_rules! error { @@ -225,9 +225,9 @@ impl<'a> Editor<'a> { // Render message at bottom let message = if let Some(message) = self.message.take() { - Line::from(Span::raw(message)) + Spans::from(Span::raw(message)) } else if search_height > 0 { - Line::from(vec![ + Spans::from(vec![ Span::raw("Press "), Span::styled("Enter", Style::default().add_modifier(Modifier::BOLD)), Span::raw(" to jump to first match and close, "), @@ -245,7 +245,7 @@ impl<'a> Editor<'a> { Span::raw(" to search previous"), ]) } else { - Line::from(vec![ + Spans::from(vec![ Span::raw("Press "), Span::styled("^Q", Style::default().add_modifier(Modifier::BOLD)), Span::raw(" to quit, "), diff --git a/examples/ratatui_minimal.rs b/examples/tuirs_minimal.rs similarity index 90% rename from examples/ratatui_minimal.rs rename to examples/tuirs_minimal.rs index e81e38f..2c41cba 100644 --- a/examples/ratatui_minimal.rs +++ b/examples/tuirs_minimal.rs @@ -1,13 +1,13 @@ -use crossterm_027 as crossterm; +use crossterm_025 as crossterm; use crossterm::event::{DisableMouseCapture, EnableMouseCapture}; use crossterm::terminal::{ disable_raw_mode, enable_raw_mode, EnterAlternateScreen, LeaveAlternateScreen, }; -use ratatui::backend::CrosstermBackend; -use ratatui::widgets::{Block, Borders}; -use ratatui::Terminal; use std::io; +use tui::backend::CrosstermBackend; +use tui::widgets::{Block, Borders}; +use tui::Terminal; use tui_textarea::{Input, Key, TextArea}; fn main() -> io::Result<()> { diff --git a/examples/ratatui_popup_placeholder.rs b/examples/tuirs_popup_placeholder.rs similarity index 88% rename from examples/ratatui_popup_placeholder.rs rename to examples/tuirs_popup_placeholder.rs index 021de04..60a9deb 100644 --- a/examples/ratatui_popup_placeholder.rs +++ b/examples/tuirs_popup_placeholder.rs @@ -1,14 +1,15 @@ +use crossterm_025 as crossterm; + use crossterm::event::{DisableMouseCapture, EnableMouseCapture}; use crossterm::terminal::{ disable_raw_mode, enable_raw_mode, EnterAlternateScreen, LeaveAlternateScreen, }; -use crossterm_027 as crossterm; -use ratatui::backend::CrosstermBackend; -use ratatui::layout::Rect; -use ratatui::style::{Color, Style}; -use ratatui::widgets::{Block, Borders}; -use ratatui::Terminal; use std::io; +use tui::backend::CrosstermBackend; +use tui::layout::Rect; +use tui::style::{Color, Style}; +use tui::widgets::{Block, Borders}; +use tui::Terminal; use tui_textarea::{Input, Key, TextArea}; fn main() -> io::Result<()> { @@ -35,6 +36,9 @@ fn main() -> io::Result<()> { y: 5, }; textarea.set_style(Style::default().fg(Color::Yellow)); + + // set placeholder + textarea.set_placeholder_style(Style::default()); textarea.set_placeholder_text("prompt message"); loop { diff --git a/examples/ratatui_termion.rs b/examples/tuirs_termion.rs similarity index 94% rename from examples/ratatui_termion.rs rename to examples/tuirs_termion.rs index 3a73fe2..63ac412 100644 --- a/examples/ratatui_termion.rs +++ b/examples/tuirs_termion.rs @@ -1,6 +1,3 @@ -use ratatui::backend::TermionBackend; -use ratatui::widgets::{Block, Borders}; -use ratatui::Terminal; use std::error::Error; use std::io; use std::sync::mpsc; @@ -10,6 +7,9 @@ use termion::event::Event as TermEvent; use termion::input::{MouseTerminal, TermRead}; use termion::raw::IntoRawMode; use termion::screen::IntoAlternateScreen; +use tui::backend::TermionBackend; +use tui::widgets::{Block, Borders}; +use tui::Terminal; use tui_textarea::{Input, Key, TextArea}; enum Event { diff --git a/examples/variable.rs b/examples/variable.rs index 91637c9..fff32bc 100644 --- a/examples/variable.rs +++ b/examples/variable.rs @@ -2,12 +2,12 @@ use crossterm::event::{DisableMouseCapture, EnableMouseCapture}; use crossterm::terminal::{ disable_raw_mode, enable_raw_mode, EnterAlternateScreen, LeaveAlternateScreen, }; +use ratatui::backend::CrosstermBackend; +use ratatui::layout::{Constraint, Direction, Layout}; +use ratatui::widgets::{Block, Borders}; +use ratatui::Terminal; use std::cmp; use std::io; -use tui::backend::CrosstermBackend; -use tui::layout::{Constraint, Direction, Layout}; -use tui::widgets::{Block, Borders}; -use tui::Terminal; use tui_textarea::{Input, Key, TextArea}; fn main() -> io::Result<()> {