diff --git a/src/edit/vi.rs b/src/edit/vi.rs index 1ac3a942c2..b4ffd858e6 100644 --- a/src/edit/vi.rs +++ b/src/edit/vi.rs @@ -28,16 +28,17 @@ fn finish_change( editor: &mut E, commands: &mut cosmic_undo_2::Commands, changed: &mut bool, -) { +) -> Option { //TODO: join changes together match editor.finish_change() { Some(change) => { if !change.items.is_empty() { - commands.push(change); + commands.push(change.clone()); *changed = true; } + Some(change) } - None => {} + None => None, } } @@ -319,7 +320,7 @@ impl<'a> Edit for ViEditor<'a> { } fn finish_change(&mut self) -> Option { - self.editor.finish_change() + finish_change(&mut self.editor, &mut self.commands, &mut self.changed) } fn action(&mut self, font_system: &mut FontSystem, action: Action) {