diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/readline.rs | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/readline.rs b/src/readline.rs index 56fe91d..2077da2 100644 --- a/src/readline.rs +++ b/src/readline.rs @@ -95,15 +95,15 @@ impl ReadlineState { event: &crossterm::KeyEvent, ) -> std::result::Result<futures::Async<String>, Error> { match *event { + crossterm::KeyEvent::Char('\n') => { + self.echo_char('\n').context(WriteToTerminal)?; + return Ok(futures::Async::Ready(self.buffer.clone())); + } crossterm::KeyEvent::Char(c) => { - if self.cursor != self.buffer.len() && c != '\n' { + if self.cursor != self.buffer.len() { self.echo(b"\x1b[@").context(WriteToTerminal)?; } self.echo_char(c).context(WriteToTerminal)?; - - if c == '\n' { - return Ok(futures::Async::Ready(self.buffer.clone())); - } self.buffer.insert(self.cursor, c); self.cursor += 1; } |