From d97285e4dc3e07a1a85e37f64753aa359e40a01d Mon Sep 17 00:00:00 2001 From: gwenn <gtreguier@gmail.com> Date: Tue, 28 Feb 2017 19:22:24 +0100 Subject: [PATCH] Fix delete/change last word --- src/line_buffer.rs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/line_buffer.rs b/src/line_buffer.rs index c27b51cc..aec7a357 100644 --- a/src/line_buffer.rs +++ b/src/line_buffer.rs @@ -387,7 +387,7 @@ impl LineBuffer { } } if wp == 0 { - if word_def == Word::Emacs { + if word_def == Word::Emacs || at == At::AfterEnd { Some(self.buf.len()) } else { match gi { @@ -1073,6 +1073,12 @@ mod test { assert_eq!("a c", s.buf); assert_eq!(1, s.pos); assert_eq!(Some(" ß".to_string()), text); + + let mut s = LineBuffer::init("test", 0); + let text = s.delete_word(At::AfterEnd, Word::Vi, 1); + assert_eq!("", s.buf); + assert_eq!(0, s.pos); + assert_eq!(Some("test".to_string()), text); } #[test] -- GitLab