зеркало из
https://github.com/glebtv/tui-textarea.git
synced 2026-09-03 14:26:17 +03:00
fix examples to invert ratatui and tui-rs
Этот коммит содержится в:
50
Cargo.toml
50
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 = [
|
||||
|
||||
@@ -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, "),
|
||||
|
||||
@@ -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<()> {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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<()> {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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() {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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, "),
|
||||
@@ -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<()> {
|
||||
@@ -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 {
|
||||
@@ -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 {
|
||||
@@ -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<()> {
|
||||
|
||||
Ссылка в новой задаче
Block a user