diff options
author | Nimrod | 2022-10-21 06:08:37 +0000 |
---|---|---|
committer | GitHub | 2022-10-21 06:08:37 +0000 |
commit | bad49ef2d095cca88a9e0bd39da329b86bda3d75 (patch) | |
tree | 7622d4e3677131da912e09e9572ceb404ed1caf3 /helix-term | |
parent | f486f34ebe0e21f0e109e24037e73182b2cf510a (diff) |
Fix unexpected behavior in delete_word_backward and delete_word_forward (#4392)
Diffstat (limited to 'helix-term')
-rw-r--r-- | helix-term/src/commands.rs | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/helix-term/src/commands.rs b/helix-term/src/commands.rs index a8dafc33..c5ee72d2 100644 --- a/helix-term/src/commands.rs +++ b/helix-term/src/commands.rs @@ -3238,8 +3238,8 @@ pub mod insert { let text = doc.text().slice(..); let selection = doc.selection(view.id).clone().transform(|range| { - let cursor = Range::point(range.cursor(text)); - let next = movement::move_prev_word_start(text, cursor, count); + let anchor = movement::move_prev_word_start(text, range, count).from(); + let next = Range::new(anchor, range.cursor(text)); exclude_cursor(text, next, range) }); delete_selection_insert_mode(doc, view, &selection); @@ -3252,10 +3252,11 @@ pub mod insert { let (view, doc) = current!(cx.editor); let text = doc.text().slice(..); - let selection = doc - .selection(view.id) - .clone() - .transform(|range| movement::move_next_word_start(text, range, count)); + let selection = doc.selection(view.id).clone().transform(|range| { + let head = movement::move_next_word_end(text, range, count).to(); + Range::new(range.cursor(text), head) + }); + delete_selection_insert_mode(doc, view, &selection); lsp::signature_help_impl(cx, SignatureHelpInvoked::Automatic); |