Add a VisualBlock mode

Instead of trying to extend the Mode::Visual special case, just split
out into three different modes.
This commit is contained in:
Conrad Irwin 2023-08-15 08:48:01 -06:00
parent 404b1aa65a
commit 1cc0798aea
16 changed files with 94 additions and 90 deletions

View file

@ -149,7 +149,7 @@ pub(crate) fn motion(motion: Motion, cx: &mut WindowContext) {
let operator = Vim::read(cx).active_operator();
match Vim::read(cx).state.mode {
Mode::Normal => normal_motion(motion, operator, times, cx),
Mode::Visual { .. } => visual_motion(motion, times, cx),
Mode::Visual | Mode::VisualLine | Mode::VisualBlock => visual_motion(motion, times, cx),
Mode::Insert => {
// Shouldn't execute a motion in insert mode. Ignoring
}