Allow binding to motions in insert mode (#15308)

Conrad Irwin created

Release Notes:

- vim: Allow binding motions in insert mode

Change summary

crates/vim/src/motion.rs | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)

Detailed changes

crates/vim/src/motion.rs 🔗

@@ -436,7 +436,7 @@ pub(crate) fn motion(motion: Motion, cx: &mut WindowContext) {
     let active_operator = Vim::read(cx).active_operator();
     let mut waiting_operator: Option<Operator> = None;
     match Vim::read(cx).state().mode {
-        Mode::Normal | Mode::Replace => {
+        Mode::Normal | Mode::Replace | Mode::Insert => {
             if active_operator == Some(Operator::AddSurrounds { target: None }) {
                 waiting_operator = Some(Operator::AddSurrounds {
                     target: Some(SurroundsType::Motion(motion)),
@@ -448,9 +448,6 @@ pub(crate) fn motion(motion: Motion, cx: &mut WindowContext) {
         Mode::Visual | Mode::VisualLine | Mode::VisualBlock => {
             visual_motion(motion.clone(), count, cx)
         }
-        Mode::Insert => {
-            // Shouldn't execute a motion in insert mode. Ignoring
-        }
     }
     Vim::update(cx, |vim, cx| {
         vim.clear_operator(cx);