vim: ! support (#23169)

Closes #22885
Closes #12565 

This doesn't yet add history in the command palette, which is painfully
missing.

Release Notes:

- vim: Added `:!`, `:<range>!` and `:r!` support
- vim: Added `!` operator in normal/visual mode
This commit is contained in:
Conrad Irwin 2025-01-16 21:19:15 -07:00 committed by GitHub
parent 21e7765a48
commit f94efb5008
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 452 additions and 12 deletions

View file

@ -160,6 +160,7 @@ impl Vim {
Some(Operator::AutoIndent) => {
self.indent_motion(motion, times, IndentDirection::Auto, cx)
}
Some(Operator::ShellCommand) => self.shell_command_motion(motion, times, cx),
Some(Operator::Lowercase) => {
self.change_case_motion(motion, times, CaseTarget::Lowercase, cx)
}
@ -195,6 +196,9 @@ impl Vim {
Some(Operator::AutoIndent) => {
self.indent_object(object, around, IndentDirection::Auto, cx)
}
Some(Operator::ShellCommand) => {
self.shell_command_object(object, around, cx);
}
Some(Operator::Rewrap) => self.rewrap_object(object, around, cx),
Some(Operator::Lowercase) => {
self.change_case_object(object, around, CaseTarget::Lowercase, cx)