From 37fa6abe9d5dc459dc9855ea10f06afa72717c98 Mon Sep 17 00:00:00 2001 From: a-kenji Date: Mon, 7 Aug 2023 15:30:11 +0200 Subject: [PATCH] build(deps): upgrade crossterm to 0.27 (#380) --- Cargo.toml | 2 +- src/backend/crossterm.rs | 62 +++++++++++++++++++--------------------- src/lib.rs | 8 +++--- 3 files changed, 34 insertions(+), 38 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 4d3de028..03c292ff 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -38,7 +38,7 @@ rustdoc-args = ["--cfg", "docsrs"] [dependencies] bitflags = "2.3" cassowary = "0.3" -crossterm = { version = "0.26", optional = true } +crossterm = { version = "0.27", optional = true } indoc = "2.0" paste = "1.0.2" serde = { version = "1", optional = true, features = ["derive"] } diff --git a/src/backend/crossterm.rs b/src/backend/crossterm.rs index d54b4f28..297a964f 100644 --- a/src/backend/crossterm.rs +++ b/src/backend/crossterm.rs @@ -88,7 +88,7 @@ where for (x, y, cell) in content { // Move the cursor if the previous location was not (x - 1, y) if !matches!(last_pos, Some(p) if x == p.0 + 1 && y == p.1) { - map_error(queue!(self.buffer, MoveTo(x, y)))?; + queue!(self.buffer, MoveTo(x, y))?; } last_pos = Some((x, y)); if cell.modifier != modifier { @@ -101,38 +101,38 @@ where } if cell.fg != fg { let color = CColor::from(cell.fg); - map_error(queue!(self.buffer, SetForegroundColor(color)))?; + queue!(self.buffer, SetForegroundColor(color))?; fg = cell.fg; } if cell.bg != bg { let color = CColor::from(cell.bg); - map_error(queue!(self.buffer, SetBackgroundColor(color)))?; + queue!(self.buffer, SetBackgroundColor(color))?; bg = cell.bg; } if cell.underline_color != underline_color { let color = CColor::from(cell.underline_color); - map_error(queue!(self.buffer, SetUnderlineColor(color)))?; + queue!(self.buffer, SetUnderlineColor(color))?; underline_color = cell.underline_color; } - map_error(queue!(self.buffer, Print(&cell.symbol)))?; + queue!(self.buffer, Print(&cell.symbol))?; } - map_error(queue!( + queue!( self.buffer, SetForegroundColor(CColor::Reset), SetBackgroundColor(CColor::Reset), SetUnderlineColor(CColor::Reset), SetAttribute(CAttribute::Reset) - )) + ) } fn hide_cursor(&mut self) -> io::Result<()> { - map_error(execute!(self.buffer, Hide)) + execute!(self.buffer, Hide) } fn show_cursor(&mut self) -> io::Result<()> { - map_error(execute!(self.buffer, Show)) + execute!(self.buffer, Show) } fn get_cursor(&mut self) -> io::Result<(u16, u16)> { @@ -141,7 +141,7 @@ where } fn set_cursor(&mut self, x: u16, y: u16) -> io::Result<()> { - map_error(execute!(self.buffer, MoveTo(x, y))) + execute!(self.buffer, MoveTo(x, y)) } fn clear(&mut self) -> io::Result<()> { @@ -149,7 +149,7 @@ where } fn clear_region(&mut self, clear_type: ClearType) -> io::Result<()> { - map_error(execute!( + execute!( self.buffer, Clear(match clear_type { ClearType::All => crossterm::terminal::ClearType::All, @@ -158,12 +158,12 @@ where ClearType::CurrentLine => crossterm::terminal::ClearType::CurrentLine, ClearType::UntilNewLine => crossterm::terminal::ClearType::UntilNewLine, }) - )) + ) } fn append_lines(&mut self, n: u16) -> io::Result<()> { for _ in 0..n { - map_error(queue!(self.buffer, Print("\n")))?; + queue!(self.buffer, Print("\n"))?; } self.buffer.flush() } @@ -180,10 +180,6 @@ where } } -fn map_error(error: crossterm::Result<()>) -> io::Result<()> { - error.map_err(|e| io::Error::new(io::ErrorKind::Other, e.to_string())) -} - impl From for CColor { fn from(color: Color) -> Self { match color { @@ -227,54 +223,54 @@ impl ModifierDiff { //use crossterm::Attribute; let removed = self.from - self.to; if removed.contains(Modifier::REVERSED) { - map_error(queue!(w, SetAttribute(CAttribute::NoReverse)))?; + queue!(w, SetAttribute(CAttribute::NoReverse))?; } if removed.contains(Modifier::BOLD) { - map_error(queue!(w, SetAttribute(CAttribute::NormalIntensity)))?; + queue!(w, SetAttribute(CAttribute::NormalIntensity))?; if self.to.contains(Modifier::DIM) { - map_error(queue!(w, SetAttribute(CAttribute::Dim)))?; + queue!(w, SetAttribute(CAttribute::Dim))?; } } if removed.contains(Modifier::ITALIC) { - map_error(queue!(w, SetAttribute(CAttribute::NoItalic)))?; + queue!(w, SetAttribute(CAttribute::NoItalic))?; } if removed.contains(Modifier::UNDERLINED) { - map_error(queue!(w, SetAttribute(CAttribute::NoUnderline)))?; + queue!(w, SetAttribute(CAttribute::NoUnderline))?; } if removed.contains(Modifier::DIM) { - map_error(queue!(w, SetAttribute(CAttribute::NormalIntensity)))?; + queue!(w, SetAttribute(CAttribute::NormalIntensity))?; } if removed.contains(Modifier::CROSSED_OUT) { - map_error(queue!(w, SetAttribute(CAttribute::NotCrossedOut)))?; + queue!(w, SetAttribute(CAttribute::NotCrossedOut))?; } if removed.contains(Modifier::SLOW_BLINK) || removed.contains(Modifier::RAPID_BLINK) { - map_error(queue!(w, SetAttribute(CAttribute::NoBlink)))?; + queue!(w, SetAttribute(CAttribute::NoBlink))?; } let added = self.to - self.from; if added.contains(Modifier::REVERSED) { - map_error(queue!(w, SetAttribute(CAttribute::Reverse)))?; + queue!(w, SetAttribute(CAttribute::Reverse))?; } if added.contains(Modifier::BOLD) { - map_error(queue!(w, SetAttribute(CAttribute::Bold)))?; + queue!(w, SetAttribute(CAttribute::Bold))?; } if added.contains(Modifier::ITALIC) { - map_error(queue!(w, SetAttribute(CAttribute::Italic)))?; + queue!(w, SetAttribute(CAttribute::Italic))?; } if added.contains(Modifier::UNDERLINED) { - map_error(queue!(w, SetAttribute(CAttribute::Underlined)))?; + queue!(w, SetAttribute(CAttribute::Underlined))?; } if added.contains(Modifier::DIM) { - map_error(queue!(w, SetAttribute(CAttribute::Dim)))?; + queue!(w, SetAttribute(CAttribute::Dim))?; } if added.contains(Modifier::CROSSED_OUT) { - map_error(queue!(w, SetAttribute(CAttribute::CrossedOut)))?; + queue!(w, SetAttribute(CAttribute::CrossedOut))?; } if added.contains(Modifier::SLOW_BLINK) { - map_error(queue!(w, SetAttribute(CAttribute::SlowBlink)))?; + queue!(w, SetAttribute(CAttribute::SlowBlink))?; } if added.contains(Modifier::RAPID_BLINK) { - map_error(queue!(w, SetAttribute(CAttribute::RapidBlink)))?; + queue!(w, SetAttribute(CAttribute::RapidBlink))?; } Ok(()) diff --git a/src/lib.rs b/src/lib.rs index 044954eb..c19d7250 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -12,8 +12,8 @@ //! Add the following to your `Cargo.toml`: //! ```toml //! [dependencies] -//! crossterm = "0.26" -//! ratatui = "0.20" +//! crossterm = "0.27" +//! ratatui = "0.22" //! ``` //! //! The crate is using the `crossterm` backend by default that works on most platforms. But if for @@ -22,8 +22,8 @@ //! //! ```toml //! [dependencies] -//! termion = "1.5" -//! ratatui = { version = "0.20", default-features = false, features = ['termion'] } +//! termion = "2.0.1" +//! ratatui = { version = "0.22", default-features = false, features = ['termion'] } //! ``` //! //! The same logic applies for all other available backends.