From 3e09d9a3001084bc306c391dfadb89df60e63171 Mon Sep 17 00:00:00 2001 From: rhysd Date: Fri, 17 Jun 2022 10:54:11 +0900 Subject: [PATCH] improve message in error example and remove unnecessary block in single input example --- examples/editor.rs | 13 ++++++------- examples/single_line.rs | 5 ----- 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/examples/editor.rs b/examples/editor.rs index e5afc0f..91541ec 100644 --- a/examples/editor.rs +++ b/examples/editor.rs @@ -3,6 +3,7 @@ use crossterm::terminal::{ disable_raw_mode, enable_raw_mode, is_raw_mode_enabled, EnterAlternateScreen, LeaveAlternateScreen, }; +use std::borrow::Cow; use std::env; use std::fs; use std::io; @@ -70,7 +71,7 @@ struct Editor<'a> { current: usize, buffers: Vec>, term: Terminal>, - message: Option<&'static str>, + message: Option>, } impl<'a> Editor<'a> { @@ -133,7 +134,7 @@ impl<'a> Editor<'a> { f.render_widget(status, chunks[1]); let message = if let Some(message) = self.message.take() { - Spans::from(message) + Spans::from(Span::raw(message)) } else { Spans::from(vec![ Span::raw("Press "), @@ -159,10 +160,8 @@ impl<'a> Editor<'a> { ctrl: true, .. } => { - self.current += 1; - if self.current >= self.buffers.len() { - self.current = 0; - } + self.current = (self.current + 1) % self.buffers.len(); + self.message = Some(format!("Switched to buffer #{}", self.current + 1).into()); } Input { key: Key::Char('s'), @@ -170,7 +169,7 @@ impl<'a> Editor<'a> { .. } => { self.buffers[self.current].save()?; - self.message = Some("Saved!"); + self.message = Some("Saved!".into()); } input => { let buffer = &mut self.buffers[self.current]; diff --git a/examples/single_line.rs b/examples/single_line.rs index b47aa0a..1dbb838 100644 --- a/examples/single_line.rs +++ b/examples/single_line.rs @@ -36,11 +36,6 @@ fn main() -> io::Result<()> { let mut term = Terminal::new(backend)?; let mut textarea = TextArea::default(); - textarea.set_block( - Block::default() - .borders(Borders::ALL) - .title("Single Line Input"), - ); textarea.set_cursor_line_style(Style::default()); let layout = Layout::default().constraints([Constraint::Length(3), Constraint::Min(1)].as_slice());