vim+sourceview: Fix extending selection left
requested to merge blackwolf12333/gnome-builder:fix_vim_visual_select_previous_character_movement into main
When using vim keybindings to enter visual "selection" mode and moving the cursor back immediately after entering visual mode the selection would become empty because both marks are at the same position. The expected behavior is for the selection to extend to the previous character.
Example:
This is som|e| text
When the cursor is on e
and we enter visual mode, the insert and
selection marks are where the | symbols are, insert is the left-hand | and
selection the right-hand |.
When we then use h
to move the cursor left we would end up in the
following situation:
This is som||e text
So now the insert and selection mark are in the same position, this makes the selection empty.
We also expected to move to the situation below:
This is so|me| text
Such that the selection is extended to the left to include m
.