<meta http-equiv="content-type" content="text/html; charset=utf-8"><div>Hey List,</div><div><br></div><div>I made a series of fixes, tweaks and additions to the editor. These fix minor issues that were inconvenient and generally follow the expectations set by most "normal" editors. All of this is in the redacted branch now. Below is a list;</div>
<div><br></div><div><br></div>[End] wasn't going to the end of the line if invoked on the last line, it was off by 1 character. I expected this fix to break things as the "-1" in "if (end==wstring::npos) end=m_Text.size()-1;" must have had a purpose but I haven't yet found a issue with this fix.<div>
<br><div>[Backspace] Wouldn't block-delete if the cursor was at the start of the file (which would also be the start of the block, of course)</div><div><br></div><div>[Shift+ up]&[Shift+ left] would unselect the selection at hitting the start of the file or line (respectively)</div>
<div><br></div><div>[up] wouldn't jump to the start of the line if invoked on the first line</div><div>[down] wouldn't g to the end of the line if invoked on the last line</div><div><br></div><div>[Ctrl+a] to select everything</div>
<div><br></div><div>[delete] to delete the selection if used while there is one, like backspace</div><div><br></div><div>[ctrl+v] now replaces the selection by the contents of the copy-past buffer if there is a selection</div>
<div><br></div><div>[left] without shift when there is a selection now jumps to the start of that selection (in addition to unselecting)</div><div>[right] without shift when there is a selection now jumps to the end of that selection (in addition to unselecting)</div>
<div><br></div><div>Fixed weirdness due to the selection state and the shift state no longer being as closely tied which meant that shift could stop working after certain kinds of edits when shift was held down continually (I think this was already a problem, just more rare).</div>
<div><br></div><div>In any case where a block of text is removed the cursor now jumps to where the start of that block was, instead of moving back by the length of the block when the cursor was beyond the start. This is both more simple and safer and it preserves the old behaviour in situations that were already possible to get into.</div>
<div><br></div><div>There is still some weirdness here and there but these were the main ones that were annoying me. I hope git is smart enough to let people try these without getting the [ctrl + t] experiment in expression highlighting if they don't want that one. One thing to consider would be whether the combination of [Ctrl+a] and [backspace] (or delete) wouldn't eliminate the need for a "clear all text" hotkey, freeing up one key again.</div>
<div><br></div><div>Yours,</div><div>Kas.</div></div>