aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2019-11-06 15:58:27 -0500
committerJesse Luehrs <doy@tozt.net>2019-11-06 15:58:27 -0500
commit8c5858e36b5da21b2e49acbe5cbfb7ea095735b6 (patch)
tree80e4bc758da394fafc02ec31c91abb9bd72a6a1e /src
parentb143853814276e2cf6f6211bcd6e09877164aec4 (diff)
downloadteleterm-8c5858e36b5da21b2e49acbe5cbfb7ea095735b6.tar.gz
teleterm-8c5858e36b5da21b2e49acbe5cbfb7ea095735b6.zip
bump deps
Diffstat (limited to 'src')
-rw-r--r--src/cmd/play.rs52
-rw-r--r--src/cmd/record.rs4
-rw-r--r--src/cmd/stream.rs4
-rw-r--r--src/cmd/watch.rs90
-rw-r--r--src/key_reader.rs9
-rw-r--r--src/term.rs3
6 files changed, 89 insertions, 73 deletions
diff --git a/src/cmd/play.rs b/src/cmd/play.rs
index cd78f36..8c30bef 100644
--- a/src/cmd/play.rs
+++ b/src/cmd/play.rs
@@ -261,8 +261,8 @@ enum FileState {
struct PlaySession {
file: FileState,
player: Player,
- raw_screen: Option<crossterm::RawScreen>,
- alternate_screen: Option<crossterm::AlternateScreen>,
+ raw_screen: Option<crossterm::screen::RawScreen>,
+ alternate_screen: Option<crossterm::screen::AlternateScreen>,
key_reader: crate::key_reader::KeyReader,
last_frame_time: std::time::Duration,
last_frame_screen: Option<vt100::Screen>,
@@ -292,41 +292,41 @@ impl PlaySession {
}
}
- fn keypress(&mut self, e: &crossterm::InputEvent) -> Result<bool> {
+ fn keypress(&mut self, e: &crossterm::input::InputEvent) -> Result<bool> {
match e {
- crossterm::InputEvent::Keyboard(crossterm::KeyEvent::Char(
- 'q',
- )) => return Ok(true),
- crossterm::InputEvent::Keyboard(crossterm::KeyEvent::Char(
- ' ',
- )) => {
+ crossterm::input::InputEvent::Keyboard(
+ crossterm::input::KeyEvent::Char('q'),
+ ) => return Ok(true),
+ crossterm::input::InputEvent::Keyboard(
+ crossterm::input::KeyEvent::Char(' '),
+ ) => {
self.player.toggle_pause();
self.redraw()?;
}
- crossterm::InputEvent::Keyboard(crossterm::KeyEvent::Char(
- '+',
- )) => {
+ crossterm::input::InputEvent::Keyboard(
+ crossterm::input::KeyEvent::Char('+'),
+ ) => {
self.player.playback_ratio_incr();
}
- crossterm::InputEvent::Keyboard(crossterm::KeyEvent::Char(
- '-',
- )) => {
+ crossterm::input::InputEvent::Keyboard(
+ crossterm::input::KeyEvent::Char('-'),
+ ) => {
self.player.playback_ratio_decr();
}
- crossterm::InputEvent::Keyboard(crossterm::KeyEvent::Char(
- '=',
- )) => {
+ crossterm::input::InputEvent::Keyboard(
+ crossterm::input::KeyEvent::Char('='),
+ ) => {
self.player.playback_ratio_reset();
}
- crossterm::InputEvent::Keyboard(crossterm::KeyEvent::Char(
- '<',
- )) => {
+ crossterm::input::InputEvent::Keyboard(
+ crossterm::input::KeyEvent::Char('<'),
+ ) => {
self.player.back();
self.redraw()?;
}
- crossterm::InputEvent::Keyboard(crossterm::KeyEvent::Char(
- '>',
- )) => {
+ crossterm::input::InputEvent::Keyboard(
+ crossterm::input::KeyEvent::Char('>'),
+ ) => {
self.player.forward();
self.redraw()?;
}
@@ -519,13 +519,13 @@ impl PlaySession {
fn poll_input(&mut self) -> component_future::Poll<(), Error> {
if self.raw_screen.is_none() {
self.raw_screen = Some(
- crossterm::RawScreen::into_raw_mode()
+ crossterm::screen::RawScreen::into_raw_mode()
.context(crate::error::ToRawMode)?,
);
}
if self.alternate_screen.is_none() {
self.alternate_screen = Some(
- crossterm::AlternateScreen::to_alternate(false)
+ crossterm::screen::AlternateScreen::to_alternate(false)
.context(crate::error::ToAlternateScreen)?,
);
}
diff --git a/src/cmd/record.rs b/src/cmd/record.rs
index d25df4e..ec0a7ce 100644
--- a/src/cmd/record.rs
+++ b/src/cmd/record.rs
@@ -75,7 +75,7 @@ struct RecordSession {
sent_local: usize,
needs_flush: bool,
done: bool,
- raw_screen: Option<crossterm::RawScreen>,
+ raw_screen: Option<crossterm::screen::RawScreen>,
}
impl RecordSession {
@@ -168,7 +168,7 @@ impl RecordSession {
}) => {
if self.raw_screen.is_none() {
self.raw_screen = Some(
- crossterm::RawScreen::into_raw_mode()
+ crossterm::screen::RawScreen::into_raw_mode()
.context(crate::error::ToRawMode)?,
);
}
diff --git a/src/cmd/stream.rs b/src/cmd/stream.rs
index b4f1a26..503a5ad 100644
--- a/src/cmd/stream.rs
+++ b/src/cmd/stream.rs
@@ -128,7 +128,7 @@ struct StreamSession<
needs_flush: bool,
connected: bool,
done: bool,
- raw_screen: Option<crossterm::RawScreen>,
+ raw_screen: Option<crossterm::screen::RawScreen>,
}
impl<S: tokio::io::AsyncRead + tokio::io::AsyncWrite + Send + 'static>
@@ -246,7 +246,7 @@ impl<S: tokio::io::AsyncRead + tokio::io::AsyncWrite + Send + 'static>
}) => {
if self.raw_screen.is_none() {
self.raw_screen = Some(
- crossterm::RawScreen::into_raw_mode()
+ crossterm::screen::RawScreen::into_raw_mode()
.context(crate::error::ToRawMode)?,
);
}
diff --git a/src/cmd/watch.rs b/src/cmd/watch.rs
index 0e4e197..01340ff 100644
--- a/src/cmd/watch.rs
+++ b/src/cmd/watch.rs
@@ -112,11 +112,11 @@ pub fn config(
enum State<S: tokio::io::AsyncRead + tokio::io::AsyncWrite + Send + 'static> {
Temporary,
LoggingIn {
- alternate_screen: crossterm::AlternateScreen,
+ alternate_screen: crossterm::screen::AlternateScreen,
},
Choosing {
sessions: crate::session_list::SessionList,
- alternate_screen: crossterm::AlternateScreen,
+ alternate_screen: crossterm::screen::AlternateScreen,
},
Watching {
client: Box<crate::client::Client<S>>,
@@ -197,7 +197,7 @@ struct WatchSession<
> + Send,
>,
state: State<S>,
- raw_screen: Option<crossterm::RawScreen>,
+ raw_screen: Option<crossterm::screen::RawScreen>,
needs_redraw: bool,
}
@@ -242,12 +242,12 @@ impl<S: tokio::io::AsyncRead + tokio::io::AsyncWrite + Send + 'static>
fn loading_keypress(
&mut self,
- e: &crossterm::InputEvent,
+ e: &crossterm::input::InputEvent,
) -> Result<bool> {
match e {
- crossterm::InputEvent::Keyboard(crossterm::KeyEvent::Char(
- 'q',
- )) => {
+ crossterm::input::InputEvent::Keyboard(
+ crossterm::input::KeyEvent::Char('q'),
+ ) => {
return Ok(true);
}
_ => {}
@@ -284,7 +284,10 @@ impl<S: tokio::io::AsyncRead + tokio::io::AsyncWrite + Send + 'static>
Ok(())
}
- fn list_keypress(&mut self, e: &crossterm::InputEvent) -> Result<bool> {
+ fn list_keypress(
+ &mut self,
+ e: &crossterm::input::InputEvent,
+ ) -> Result<bool> {
let sessions =
if let State::Choosing { sessions, .. } = &mut self.state {
sessions
@@ -293,30 +296,32 @@ impl<S: tokio::io::AsyncRead + tokio::io::AsyncWrite + Send + 'static>
};
match e {
- crossterm::InputEvent::Keyboard(crossterm::KeyEvent::Char(
- ' ',
- )) => {
+ crossterm::input::InputEvent::Keyboard(
+ crossterm::input::KeyEvent::Char(' '),
+ ) => {
self.list_client
.send_message(crate::protocol::Message::list_sessions());
}
- crossterm::InputEvent::Keyboard(crossterm::KeyEvent::Char(
- 'q',
- )) => {
+ crossterm::input::InputEvent::Keyboard(
+ crossterm::input::KeyEvent::Char('q'),
+ ) => {
return Ok(true);
}
- crossterm::InputEvent::Keyboard(crossterm::KeyEvent::Char(
- '<',
- )) => {
+ crossterm::input::InputEvent::Keyboard(
+ crossterm::input::KeyEvent::Char('<'),
+ ) => {
sessions.prev_page();
self.needs_redraw = true;
}
- crossterm::InputEvent::Keyboard(crossterm::KeyEvent::Char(
- '>',
- )) => {
+ crossterm::input::InputEvent::Keyboard(
+ crossterm::input::KeyEvent::Char('>'),
+ ) => {
sessions.next_page();
self.needs_redraw = true;
}
- crossterm::InputEvent::Keyboard(crossterm::KeyEvent::Char(c)) => {
+ crossterm::input::InputEvent::Keyboard(
+ crossterm::input::KeyEvent::Char(c),
+ ) => {
if let Some(id) = sessions.id_for(*c) {
let client = crate::client::Client::watch(
(self.make_connector)(),
@@ -325,9 +330,13 @@ impl<S: tokio::io::AsyncRead + tokio::io::AsyncWrite + Send + 'static>
id,
);
self.state.watching(client);
- crossterm::terminal()
- .clear(crossterm::ClearType::All)
- .context(crate::error::WriteTerminalCrossterm)?;
+ crossterm::execute!(
+ std::io::stdout(),
+ crossterm::terminal::Clear(
+ crossterm::terminal::ClearType::All
+ )
+ )
+ .context(crate::error::WriteTerminalCrossterm)?;
}
}
_ => {}
@@ -375,11 +384,14 @@ impl<S: tokio::io::AsyncRead + tokio::io::AsyncWrite + Send + 'static>
Ok(())
}
- fn watch_keypress(&mut self, e: &crossterm::InputEvent) -> Result<bool> {
+ fn watch_keypress(
+ &mut self,
+ e: &crossterm::input::InputEvent,
+ ) -> Result<bool> {
match e {
- crossterm::InputEvent::Keyboard(crossterm::KeyEvent::Char(
- 'q',
- )) => {
+ crossterm::input::InputEvent::Keyboard(
+ crossterm::input::KeyEvent::Char('q'),
+ ) => {
self.reconnect(false)?;
}
_ => {}
@@ -410,9 +422,11 @@ impl<S: tokio::io::AsyncRead + tokio::io::AsyncWrite + Send + 'static>
}
fn display_loading_screen(&self) -> Result<()> {
- crossterm::terminal()
- .clear(crossterm::ClearType::All)
- .context(crate::error::WriteTerminalCrossterm)?;
+ crossterm::execute!(
+ std::io::stdout(),
+ crossterm::terminal::Clear(crossterm::terminal::ClearType::All)
+ )
+ .context(crate::error::WriteTerminalCrossterm)?;
println!("loading...\r");
if let Some(err) = self.list_client.last_error() {
@@ -478,9 +492,11 @@ impl<S: tokio::io::AsyncRead + tokio::io::AsyncWrite + Send + 'static>
- watch_width
- 3;
- crossterm::terminal()
- .clear(crossterm::ClearType::All)
- .context(crate::error::WriteTerminalCrossterm)?;
+ crossterm::execute!(
+ std::io::stdout(),
+ crossterm::terminal::Clear(crossterm::terminal::ClearType::All)
+ )
+ .context(crate::error::WriteTerminalCrossterm)?;
println!("welcome to teleterm\r");
println!("available sessions:\r");
println!("\r");
@@ -595,7 +611,7 @@ impl<S: tokio::io::AsyncRead + tokio::io::AsyncWrite + Send + 'static>
fn poll_input(&mut self) -> component_future::Poll<(), Error> {
if self.raw_screen.is_none() {
self.raw_screen = Some(
- crossterm::RawScreen::into_raw_mode()
+ crossterm::screen::RawScreen::into_raw_mode()
.context(crate::error::ToRawMode)?,
);
}
@@ -675,8 +691,8 @@ impl<S: tokio::io::AsyncRead + tokio::io::AsyncWrite + Send + 'static>
}
}
-fn new_alternate_screen() -> Result<crossterm::AlternateScreen> {
- crossterm::AlternateScreen::to_alternate(false)
+fn new_alternate_screen() -> Result<crossterm::screen::AlternateScreen> {
+ crossterm::screen::AlternateScreen::to_alternate(false)
.context(crate::error::ToAlternateScreen)
}
diff --git a/src/key_reader.rs b/src/key_reader.rs
index 1e1251a..9a35e2d 100644
--- a/src/key_reader.rs
+++ b/src/key_reader.rs
@@ -1,8 +1,9 @@
use crate::prelude::*;
pub struct KeyReader {
- events:
- Option<tokio::sync::mpsc::UnboundedReceiver<crossterm::InputEvent>>,
+ events: Option<
+ tokio::sync::mpsc::UnboundedReceiver<crossterm::input::InputEvent>,
+ >,
quit: Option<tokio::sync::oneshot::Sender<()>>,
}
@@ -16,13 +17,13 @@ impl KeyReader {
}
impl futures::stream::Stream for KeyReader {
- type Item = crossterm::InputEvent;
+ type Item = crossterm::input::InputEvent;
type Error = Error;
fn poll(&mut self) -> futures::Poll<Option<Self::Item>, Self::Error> {
if self.events.is_none() {
let task = futures::task::current();
- let reader = crossterm::input().read_sync();
+ let reader = crossterm::input::input().read_sync();
let (events_tx, events_rx) =
tokio::sync::mpsc::unbounded_channel();
let mut events_tx = events_tx.wait();
diff --git a/src/term.rs b/src/term.rs
index c8e795f..13a0a73 100644
--- a/src/term.rs
+++ b/src/term.rs
@@ -14,8 +14,7 @@ pub struct Size {
impl Size {
pub fn get() -> Result<Self> {
- let (cols, rows) = crossterm::terminal()
- .size()
+ let (cols, rows) = crossterm::terminal::size()
.context(crate::error::GetTerminalSize)?;
Ok(Self { rows, cols })
}