zyedidia / micro

A modern and intuitive terminal-based text editor
https://micro-editor.github.io
MIT License
25.24k stars 1.18k forks source link

actions: Perform `CursorDown` with selection like GUI editors do #3540

Open JoeKar opened 2 days ago

JoeKar commented 2 days ago

3091 introduced a small regression in case the actual selection included the new line character, which was ignored on CursorDown.

This PR shall fix this by moving the cursor to the start of the line and performing a down move of two instead of one line. This additionally aligns with the behavior of other editors and respects the already highlighted next line. In case a selection was active while no new line character was included as the last character the cursor will be moved to the right once, to place it behind the last selected character, which mimics the behavior of GUI editors.

Fixes #3476