fix: route normal-mode cuts through clipboard pipeline
This commit is contained in:
+6
-16
@@ -368,7 +368,6 @@ enum EditStart {
|
||||
target: char,
|
||||
selector: SelectionIntent,
|
||||
},
|
||||
Delete,
|
||||
Join,
|
||||
Paste {
|
||||
after: bool,
|
||||
@@ -8657,21 +8656,16 @@ impl Editor {
|
||||
);
|
||||
}
|
||||
Action::Delete => {
|
||||
if self.active.view.mode == Mode::Normal {
|
||||
self.edit_normal(action, 1);
|
||||
return None;
|
||||
}
|
||||
if self.active.view.mode == Mode::Insert && self.edit_snippet("", Some(action)) {
|
||||
return None;
|
||||
}
|
||||
let before = (self.active.view.mode != Mode::Insert).then(|| self.snapshot());
|
||||
let mask = self.deletion_mask(None);
|
||||
self.delete_forward(&mask);
|
||||
if let Some(before) = before {
|
||||
self.record_native(
|
||||
before,
|
||||
EditRecipe {
|
||||
start: EditStart::Delete,
|
||||
steps: Vec::new(),
|
||||
},
|
||||
);
|
||||
} else if mask.iter().any(|active| *active) {
|
||||
if mask.iter().any(|active| *active) {
|
||||
self.push_insert_step(InsertStep::Delete(mask));
|
||||
}
|
||||
}
|
||||
@@ -10689,7 +10683,7 @@ impl Editor {
|
||||
Action::DeleteWordBackward | Action::ChangeWordBackward => {
|
||||
self.word_destination(cursor, Action::DeleteWordBackward, count)
|
||||
}
|
||||
Action::SubstituteCharacter => Cursor {
|
||||
Action::Delete | Action::SubstituteCharacter => Cursor {
|
||||
row: cursor.row,
|
||||
column: cursor
|
||||
.column
|
||||
@@ -11537,10 +11531,6 @@ impl Editor {
|
||||
self.normalize_targets();
|
||||
}
|
||||
}
|
||||
EditStart::Delete => {
|
||||
self.active.view.mode = Mode::Normal;
|
||||
self.delete_forward(&[true]);
|
||||
}
|
||||
EditStart::Join => {
|
||||
self.active.view.mode = Mode::Normal;
|
||||
self.join_lines();
|
||||
|
||||
Reference in New Issue
Block a user