diff options
author | Nathan Vegdahl | 2021-07-24 14:44:11 +0000 |
---|---|---|
committer | Nathan Vegdahl | 2021-07-24 14:44:11 +0000 |
commit | f96b8b769b3c7457935b5c02db870af97036f7b6 (patch) | |
tree | a730fd2e970d6349e0f11b450f1e58b2c79d010b /helix-core/src/surround.rs | |
parent | 20723495d3ee82047bc7584e9eca1424d1256f4c (diff) |
Switch to a cleaner range-head moving abstraction.
Also fix a bunch of bugs related to it.
Diffstat (limited to 'helix-core/src/surround.rs')
-rw-r--r-- | helix-core/src/surround.rs | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/helix-core/src/surround.rs b/helix-core/src/surround.rs index af357c96..4d3ed5f5 100644 --- a/helix-core/src/surround.rs +++ b/helix-core/src/surround.rs @@ -49,19 +49,18 @@ pub fn find_nth_pairs_pos( if Some(open) == text.get_char(pos) { // Special case: cursor is directly on a matching char. match pos { - 0 => Some((pos, search::find_nth_next(text, close, pos + 1, n, true)?)), - _ if (pos + 1) == text.len_chars() => Some(( - search::find_nth_prev(text, open, pos, n, true)?, - text.len_chars(), - )), + 0 => Some((pos, search::find_nth_next(text, close, pos + 1, n)? + 1)), + _ if (pos + 1) == text.len_chars() => { + Some((search::find_nth_prev(text, open, pos, n)?, text.len_chars())) + } // We return no match because there's no way to know which // side of the char we should be searching on. _ => None, } } else { Some(( - search::find_nth_prev(text, open, pos, n, true)?, - search::find_nth_next(text, close, pos, n, true)?, + search::find_nth_prev(text, open, pos, n)?, + search::find_nth_next(text, close, pos, n)? + 1, )) } } else { |