diff --git a/src/keymap.rs b/src/keymap.rs index 9841f783af18c7ae9d0ffcc202f9217afb59926a..50f50cda556b65afc2c77890b1b83e3f2fa2d7e3 100644 --- a/src/keymap.rs +++ b/src/keymap.rs @@ -397,35 +397,45 @@ impl InputState { } } let cmd = match key { - KeyPress::Char(c) => if positive { - Cmd::SelfInsert(n, c) - } else { - Cmd::Unknown - }, + KeyPress::Char(c) => { + if positive { + Cmd::SelfInsert(n, c) + } else { + Cmd::Unknown + } + } KeyPress::Ctrl('A') => Cmd::Move(Movement::BeginningOfLine), - KeyPress::Ctrl('B') => if positive { - Cmd::Move(Movement::BackwardChar(n)) - } else { - Cmd::Move(Movement::ForwardChar(n)) - }, + KeyPress::Ctrl('B') => { + if positive { + Cmd::Move(Movement::BackwardChar(n)) + } else { + Cmd::Move(Movement::ForwardChar(n)) + } + } KeyPress::Ctrl('E') => Cmd::Move(Movement::EndOfLine), - KeyPress::Ctrl('F') => if positive { - Cmd::Move(Movement::ForwardChar(n)) - } else { - Cmd::Move(Movement::BackwardChar(n)) - }, + KeyPress::Ctrl('F') => { + if positive { + Cmd::Move(Movement::ForwardChar(n)) + } else { + Cmd::Move(Movement::BackwardChar(n)) + } + } KeyPress::Ctrl('G') | KeyPress::Esc | KeyPress::Meta('\x07') => Cmd::Abort, - KeyPress::Ctrl('H') | KeyPress::Backspace => if positive { - Cmd::Kill(Movement::BackwardChar(n)) - } else { - Cmd::Kill(Movement::ForwardChar(n)) - }, + KeyPress::Ctrl('H') | KeyPress::Backspace => { + if positive { + Cmd::Kill(Movement::BackwardChar(n)) + } else { + Cmd::Kill(Movement::ForwardChar(n)) + } + } KeyPress::Tab => Cmd::Complete, - KeyPress::Ctrl('K') => if positive { - Cmd::Kill(Movement::EndOfLine) - } else { - Cmd::Kill(Movement::BeginningOfLine) - }, + KeyPress::Ctrl('K') => { + if positive { + Cmd::Kill(Movement::EndOfLine) + } else { + Cmd::Kill(Movement::BeginningOfLine) + } + } KeyPress::Ctrl('L') => Cmd::ClearScreen, KeyPress::Ctrl('N') => Cmd::NextHistory, KeyPress::Ctrl('P') => Cmd::PreviousHistory, @@ -437,29 +447,37 @@ impl InputState { _ => Cmd::Unknown, } } - KeyPress::Meta('\x08') | KeyPress::Meta('\x7f') => if positive { - Cmd::Kill(Movement::BackwardWord(n, Word::Emacs)) - } else { - Cmd::Kill(Movement::ForwardWord(n, At::AfterEnd, Word::Emacs)) - }, + KeyPress::Meta('\x08') | KeyPress::Meta('\x7f') => { + if positive { + Cmd::Kill(Movement::BackwardWord(n, Word::Emacs)) + } else { + Cmd::Kill(Movement::ForwardWord(n, At::AfterEnd, Word::Emacs)) + } + } KeyPress::Meta('<') => Cmd::BeginningOfHistory, KeyPress::Meta('>') => Cmd::EndOfHistory, - KeyPress::Meta('B') | KeyPress::Meta('b') => if positive { - Cmd::Move(Movement::BackwardWord(n, Word::Emacs)) - } else { - Cmd::Move(Movement::ForwardWord(n, At::AfterEnd, Word::Emacs)) - }, + KeyPress::Meta('B') | KeyPress::Meta('b') => { + if positive { + Cmd::Move(Movement::BackwardWord(n, Word::Emacs)) + } else { + Cmd::Move(Movement::ForwardWord(n, At::AfterEnd, Word::Emacs)) + } + } KeyPress::Meta('C') | KeyPress::Meta('c') => Cmd::CapitalizeWord, - KeyPress::Meta('D') | KeyPress::Meta('d') => if positive { - Cmd::Kill(Movement::ForwardWord(n, At::AfterEnd, Word::Emacs)) - } else { - Cmd::Kill(Movement::BackwardWord(n, Word::Emacs)) - }, - KeyPress::Meta('F') | KeyPress::Meta('f') => if positive { - Cmd::Move(Movement::ForwardWord(n, At::AfterEnd, Word::Emacs)) - } else { - Cmd::Move(Movement::BackwardWord(n, Word::Emacs)) - }, + KeyPress::Meta('D') | KeyPress::Meta('d') => { + if positive { + Cmd::Kill(Movement::ForwardWord(n, At::AfterEnd, Word::Emacs)) + } else { + Cmd::Kill(Movement::BackwardWord(n, Word::Emacs)) + } + } + KeyPress::Meta('F') | KeyPress::Meta('f') => { + if positive { + Cmd::Move(Movement::ForwardWord(n, At::AfterEnd, Word::Emacs)) + } else { + Cmd::Move(Movement::BackwardWord(n, Word::Emacs)) + } + } KeyPress::Meta('L') | KeyPress::Meta('l') => Cmd::DowncaseWord, KeyPress::Meta('T') | KeyPress::Meta('t') => Cmd::TransposeWords(n), KeyPress::Meta('U') | KeyPress::Meta('u') => Cmd::UpcaseWord, @@ -682,11 +700,13 @@ impl InputState { } } let cmd = match key { - KeyPress::Char(c) => if self.input_mode == InputMode::Replace { - Cmd::Overwrite(c) - } else { - Cmd::SelfInsert(1, c) - }, + KeyPress::Char(c) => { + if self.input_mode == InputMode::Replace { + Cmd::Overwrite(c) + } else { + Cmd::SelfInsert(1, c) + } + } KeyPress::Ctrl('H') | KeyPress::Backspace => Cmd::Kill(Movement::BackwardChar(1)), KeyPress::Tab => Cmd::Complete, KeyPress::Esc => { diff --git a/src/lib.rs b/src/lib.rs index 90b3ac2c208b4ee13858220c7bd424e8c50d9dc7..f6b276c7da1768c350928f7203feb102c4579919 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -469,14 +469,16 @@ fn readline_edit<H: Helper>( Cmd::Overwrite(c) => { try!(s.edit_overwrite_char(c)); } - Cmd::EndOfFile => if !input_state.is_emacs_mode() && !s.line.is_empty() { - try!(s.edit_move_end()); - break; - } else if s.line.is_empty() { - return Err(error::ReadlineError::Eof); - } else { - try!(s.edit_delete(1)) - }, + Cmd::EndOfFile => { + if !input_state.is_emacs_mode() && !s.line.is_empty() { + try!(s.edit_move_end()); + break; + } else if s.line.is_empty() { + return Err(error::ReadlineError::Eof); + } else { + try!(s.edit_delete(1)) + } + } Cmd::Move(Movement::EndOfLine) => { // Move to the end of line. try!(s.edit_move_end()) @@ -521,10 +523,12 @@ fn readline_edit<H: Helper>( try!(s.edit_yank(&input_state, text, anchor, n)) } } - Cmd::ViYankTo(ref mvt) => if let Some(text) = s.line.copy(mvt) { - let mut kill_ring = editor.kill_ring.lock().unwrap(); - kill_ring.kill(&text, Mode::Append) - }, + Cmd::ViYankTo(ref mvt) => { + if let Some(text) = s.line.copy(mvt) { + let mut kill_ring = editor.kill_ring.lock().unwrap(); + kill_ring.kill(&text, Mode::Append) + } + } // TODO CTRL-_ // undo Cmd::AcceptLine => { #[cfg(test)] diff --git a/src/line_buffer.rs b/src/line_buffer.rs index ae3fe70c8bf9ad30aff2e6a99dd47801eb55cb20..de80a55c27a03d157b887895c2de941c899fd923 100644 --- a/src/line_buffer.rs +++ b/src/line_buffer.rs @@ -693,23 +693,29 @@ impl LineBuffer { } match *mvt { Movement::WholeLine => Some(self.buf.clone()), - Movement::BeginningOfLine => if self.pos == 0 { - None - } else { - Some(self.buf[..self.pos].to_owned()) - }, - Movement::ViFirstPrint => if self.pos == 0 { - None - } else if let Some(pos) = self.next_word_pos(0, At::Start, Word::Big, 1) { - Some(self.buf[pos..self.pos].to_owned()) - } else { - None - }, - Movement::EndOfLine => if self.pos == self.buf.len() { - None - } else { - Some(self.buf[self.pos..].to_owned()) - }, + Movement::BeginningOfLine => { + if self.pos == 0 { + None + } else { + Some(self.buf[..self.pos].to_owned()) + } + } + Movement::ViFirstPrint => { + if self.pos == 0 { + None + } else if let Some(pos) = self.next_word_pos(0, At::Start, Word::Big, 1) { + Some(self.buf[pos..self.pos].to_owned()) + } else { + None + } + } + Movement::EndOfLine => { + if self.pos == self.buf.len() { + None + } else { + Some(self.buf[self.pos..].to_owned()) + } + } Movement::BackwardWord(n, word_def) => { if let Some(pos) = self.prev_word_pos(self.pos, word_def, n) { Some(self.buf[pos..self.pos].to_owned()) @@ -741,16 +747,20 @@ impl LineBuffer { None } } - Movement::BackwardChar(n) => if let Some(pos) = self.prev_pos(n) { - Some(self.buf[pos..self.pos].to_owned()) - } else { - None - }, - Movement::ForwardChar(n) => if let Some(pos) = self.next_pos(n) { - Some(self.buf[self.pos..pos].to_owned()) - } else { - None - }, + Movement::BackwardChar(n) => { + if let Some(pos) = self.prev_pos(n) { + Some(self.buf[pos..self.pos].to_owned()) + } else { + None + } + } + Movement::ForwardChar(n) => { + if let Some(pos) = self.next_pos(n) { + Some(self.buf[self.pos..pos].to_owned()) + } else { + None + } + } } } diff --git a/src/test/mod.rs b/src/test/mod.rs index 8642b03746d587ced0ef094d63f0cf52d72fd6c2..a15121a70692973b94a739dd2ac74144fb1a0f1a 100644 --- a/src/test/mod.rs +++ b/src/test/mod.rs @@ -47,7 +47,8 @@ fn complete_line() { &completer, None, &Config::default(), - ).unwrap(); + ) + .unwrap(); assert_eq!(Some(Cmd::AcceptLine), cmd); assert_eq!("rust", s.line.as_str()); assert_eq!(4, s.line.pos());