Fix . repeat for remapping surrounds/exchange actions (#26101)

Closes #ISSUE

cc @thomasheartman

Release Notes:

- vim: Fixes `.` repeat for remapped surrounds/exchange actions
This commit is contained in:
Conrad Irwin 2025-03-04 21:47:12 -07:00 committed by GitHub
parent 47f8f891c8
commit ec4719146a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 40 additions and 19 deletions

View file

@ -561,4 +561,41 @@ impl Operator {
| Operator::ToggleComments => false,
}
}
pub fn starts_dot_recording(&self) -> bool {
match self {
Operator::Change
| Operator::Delete
| Operator::Replace
| Operator::Indent
| Operator::Outdent
| Operator::AutoIndent
| Operator::Lowercase
| Operator::Uppercase
| Operator::OppositeCase
| Operator::ToggleComments
| Operator::ReplaceWithRegister
| Operator::Rewrap
| Operator::ShellCommand
| Operator::AddSurrounds { target: None }
| Operator::ChangeSurrounds { target: None }
| Operator::DeleteSurrounds
| Operator::Exchange => true,
Operator::Yank
| Operator::Object { .. }
| Operator::FindForward { .. }
| Operator::FindBackward { .. }
| Operator::Sneak { .. }
| Operator::SneakBackward { .. }
| Operator::Mark
| Operator::Digraph { .. }
| Operator::Literal { .. }
| Operator::AddSurrounds { .. }
| Operator::ChangeSurrounds { .. }
| Operator::Jump { .. }
| Operator::Register
| Operator::RecordRegister
| Operator::ReplayRegister => false,
}
}
}