Simulate helix line wrapping (#32763)

In helix the `f`, `F`, `t`, `T`, left and right motions wrap lines. I
added that by default.

Release Notes:

- vim: The `use_multiline_find` setting is replaced by binding to the
correct action in the keymap:
    ```
"f": ["vim::PushFindForward", { "before": false, "multiline": true }],
"t": ["vim::PushFindForward", { "before": true, "multiline": true }],
"shift-f": ["vim::PushFindBackward", { "after": false, "multiline": true
}],
"shift-t": ["vim::PushFindBackward", { "after": true, "multiline": true
}],
    ```
- helix: `f`/`t`/`shift-f`/`shift-t`/`h`/`l`/`left`/`right` are now
multiline by default (like helix)
This commit is contained in:
fantacell 2025-06-24 18:51:41 +02:00 committed by GitHub
parent 7be57baef0
commit 95cf153ad7
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 60 additions and 104 deletions

View file

@ -86,9 +86,11 @@ pub enum Operator {
},
FindForward {
before: bool,
multiline: bool,
},
FindBackward {
after: bool,
multiline: bool,
},
Sneak {
first_char: Option<char>,
@ -994,12 +996,12 @@ impl Operator {
Operator::Replace => "r",
Operator::Digraph { .. } => "^K",
Operator::Literal { .. } => "^V",
Operator::FindForward { before: false } => "f",
Operator::FindForward { before: true } => "t",
Operator::FindForward { before: false, .. } => "f",
Operator::FindForward { before: true, .. } => "t",
Operator::Sneak { .. } => "s",
Operator::SneakBackward { .. } => "S",
Operator::FindBackward { after: false } => "F",
Operator::FindBackward { after: true } => "T",
Operator::FindBackward { after: false, .. } => "F",
Operator::FindBackward { after: true, .. } => "T",
Operator::AddSurrounds { .. } => "ys",
Operator::ChangeSurrounds { .. } => "cs",
Operator::DeleteSurrounds => "ds",