kakoune/test/normal
Johannes Altmanninger 516759bb2f Make selection undo skip over entries that are nop after buffer change
After buffer modification - in particular after deletion - adjacent
selection history entries may correspond to the same effective
selection when applied to the current buffer. This means that we
sometimes need to press <c-h> multiple times to make one visible
change. This is not what the user expects, so let's keep walking the
selection history until we hit an actual change.

Alternatively, we could minimize the selection history after buffer
changes but I think that would make the it worse after content
undo+redo.
2022-12-27 18:24:55 +01:00
..
align Rename 'unit' test directory to 'normal' as they are the normal mode tests 2017-06-09 10:48:37 +01:00
align-tab Rename 'unit' test directory to 'normal' as they are the normal mode tests 2017-06-09 10:48:37 +01:00
all test: Allow expect-style UI tests, testing any var 2019-10-13 14:57:24 -04:00
append test: Allow expect-style UI tests, testing any var 2019-10-13 14:57:24 -04:00
append-at-eol Rename 'unit' test directory to 'normal' as they are the normal mode tests 2017-06-09 10:48:37 +01:00
change Rename 'unit' test directory to 'normal' as they are the normal mode tests 2017-06-09 10:48:37 +01:00
clear-selections test: Allow expect-style UI tests, testing any var 2019-10-13 14:57:24 -04:00
codepoint-width test: Allow expect-style UI tests, testing any var 2019-10-13 14:57:24 -04:00
concat-paste-line Expand env vars as list of strings 2020-03-02 20:53:28 +11:00
convert-spaces-to-tabs Rename 'unit' test directory to 'normal' as they are the normal mode tests 2017-06-09 10:48:37 +01:00
convert-tabs-to-spaces Rename 'unit' test directory to 'normal' as they are the normal mode tests 2017-06-09 10:48:37 +01:00
copy-sel-above test: Allow expect-style UI tests, testing any var 2019-10-13 14:57:24 -04:00
copy-sel-below test: Allow expect-style UI tests, testing any var 2019-10-13 14:57:24 -04:00
copy-sel-below-multi-line test: Allow expect-style UI tests, testing any var 2019-10-13 14:57:24 -04:00
deindent Rename 'unit' test directory to 'normal' as they are the normal mode tests 2017-06-09 10:48:37 +01:00
delete Rename 'unit' test directory to 'normal' as they are the normal mode tests 2017-06-09 10:48:37 +01:00
extend-lines Make x just select the full lines 2022-07-05 08:43:40 +10:00
extra-word-chars test: Allow expect-style UI tests, testing any var 2019-10-13 14:57:24 -04:00
facedesc-invalid-syntax Rename 'unit' test directory to 'normal' as they are the normal mode tests 2017-06-09 10:48:37 +01:00
find-char-backward test: Allow expect-style UI tests, testing any var 2019-10-13 14:57:24 -04:00
find-char-backward-extending test: Allow expect-style UI tests, testing any var 2019-10-13 14:57:24 -04:00
find-char-forward test: Allow expect-style UI tests, testing any var 2019-10-13 14:57:24 -04:00
find-char-forward-extending test: Allow expect-style UI tests, testing any var 2019-10-13 14:57:24 -04:00
goto test: Allow expect-style UI tests, testing any var 2019-10-13 14:57:24 -04:00
goto-extending test: Allow expect-style UI tests, testing any var 2019-10-13 14:57:24 -04:00
indent Rename 'unit' test directory to 'normal' as they are the normal mode tests 2017-06-09 10:48:37 +01:00
insert Rename 'unit' test directory to 'normal' as they are the normal mode tests 2017-06-09 10:48:37 +01:00
insert-at-line-start Rename 'unit' test directory to 'normal' as they are the normal mode tests 2017-06-09 10:48:37 +01:00
insert-replace Rename 'unit' test directory to 'normal' as they are the normal mode tests 2017-06-09 10:48:37 +01:00
jump Add count support to jumps (<c-o> and <c-i>). Add jumps tests 2017-11-13 08:38:43 +01:00
keep-cmd Use grep -E as OpenBSD grep does not like | in regexp otherwise 2021-12-14 15:27:27 +05:30
keep-cmd-reg Use grep -E as OpenBSD grep does not like | in regexp otherwise 2021-12-14 15:27:27 +05:30
lower-case test: Allow expect-style UI tests, testing any var 2019-10-13 14:57:24 -04:00
match-char test: Allow expect-style UI tests, testing any var 2019-10-13 14:57:24 -04:00
move test: Allow expect-style UI tests, testing any var 2019-10-13 14:57:24 -04:00
next-big-word test: Allow expect-style UI tests, testing any var 2019-10-13 14:57:24 -04:00
next-big-word-extending test: Allow expect-style UI tests, testing any var 2019-10-13 14:57:24 -04:00
next-match test: Allow expect-style UI tests, testing any var 2019-10-13 14:57:24 -04:00
next-match-appending test: Allow expect-style UI tests, testing any var 2019-10-13 14:57:24 -04:00
next-word test: Allow expect-style UI tests, testing any var 2019-10-13 14:57:24 -04:00
next-word-extending test: Allow expect-style UI tests, testing any var 2019-10-13 14:57:24 -04:00
object Support count argument for [s and ]s 2020-08-02 11:30:14 +02:00
open-above Rename 'unit' test directory to 'normal' as they are the normal mode tests 2017-06-09 10:48:37 +01:00
open-below Rename 'unit' test directory to 'normal' as they are the normal mode tests 2017-06-09 10:48:37 +01:00
open-multiple-above Insert: Do not move end of line on open line (o/O) 2018-03-04 10:32:21 +11:00
open-multiple-below Insert: Do not move end of line on open line (o/O) 2018-03-04 10:32:21 +11:00
paste-after Rename 'unit' test directory to 'normal' as they are the normal mode tests 2017-06-09 10:48:37 +01:00
paste-all-after Add tests for <a-p>/<a-P>/<a-R> 2021-09-30 20:12:48 +10:00
paste-all-before Add tests for <a-p>/<a-P>/<a-R> 2021-09-30 20:12:48 +10:00
paste-all-replace Add tests for <a-p>/<a-P>/<a-R> 2021-09-30 20:12:48 +10:00
paste-before Remove avoidance of end of lines 2018-02-25 00:05:05 +11:00
pipe Rename 'unit' test directory to 'normal' as they are the normal mode tests 2017-06-09 10:48:37 +01:00
pipe-reg Support explicit register for :, |, ! and $ commands 2020-10-20 21:56:51 +11:00
pipe-to Rename 'unit' test directory to 'normal' as they are the normal mode tests 2017-06-09 10:48:37 +01:00
pipe-to-reg Support explicit register for :, |, ! and $ commands 2020-10-20 21:56:51 +11:00
previous-big-word test: Allow expect-style UI tests, testing any var 2019-10-13 14:57:24 -04:00
previous-big-word-extending test: Allow expect-style UI tests, testing any var 2019-10-13 14:57:24 -04:00
previous-word test: Allow expect-style UI tests, testing any var 2019-10-13 14:57:24 -04:00
previous-word-extending test: Allow expect-style UI tests, testing any var 2019-10-13 14:57:24 -04:00
previous-word-no-underscore test: Allow expect-style UI tests, testing any var 2019-10-13 14:57:24 -04:00
record-macro Rename 'unit' test directory to 'normal' as they are the normal mode tests 2017-06-09 10:48:37 +01:00
redo Rename 'unit' test directory to 'normal' as they are the normal mode tests 2017-06-09 10:48:37 +01:00
reload Rename 'unit' test directory to 'normal' as they are the normal mode tests 2017-06-09 10:48:37 +01:00
repeat-insert Change a on end of line behaviour to be consistent 2018-07-05 08:00:14 +10:00
repeat-select Expand env vars as list of strings 2020-03-02 20:53:28 +11:00
replace Rename 'unit' test directory to 'normal' as they are the normal mode tests 2017-06-09 10:48:37 +01:00
replace-lines Rename 'unit' test directory to 'normal' as they are the normal mode tests 2017-06-09 10:48:37 +01:00
replay-complex-insert Add test case for replaying insert with normal mode commands 2017-11-08 14:49:19 +08:00
replay-macro Change a on end of line behaviour to be consistent 2018-07-05 08:00:14 +10:00
restore-selections test: Allow expect-style UI tests, testing any var 2019-10-13 14:57:24 -04:00
rotate Move user mappings to <space> and keep/remove selection to , 2022-07-05 08:43:40 +10:00
rotate-content Move rotate selection and rotate selection contents to ) and <a-)> 2018-03-25 11:39:26 +11:00
save-selections test: Allow expect-style UI tests, testing any var 2019-10-13 14:57:24 -04:00
search test: Allow expect-style UI tests, testing any var 2019-10-13 14:57:24 -04:00
search-extending test: Allow expect-style UI tests, testing any var 2019-10-13 14:57:24 -04:00
search-reverse test: Allow expect-style UI tests, testing any var 2019-10-13 14:57:24 -04:00
search-reverse-extending test: Allow expect-style UI tests, testing any var 2019-10-13 14:57:24 -04:00
search-reverse-rightmost test: Allow expect-style UI tests, testing any var 2019-10-13 14:57:24 -04:00
select test: Allow expect-style UI tests, testing any var 2019-10-13 14:57:24 -04:00
select-horizontal-whitespace Add test for selecting horizontal whitespace 2021-02-25 11:03:18 -05:00
select-line test: Allow expect-style UI tests, testing any var 2019-10-13 14:57:24 -04:00
selection-undo Make selection undo skip over entries that are nop after buffer change 2022-12-27 18:24:55 +01:00
split test: Allow expect-style UI tests, testing any var 2019-10-13 14:57:24 -04:00
split-at-begin test: Allow expect-style UI tests, testing any var 2019-10-13 14:57:24 -04:00
split-multiple-lines test: Allow expect-style UI tests, testing any var 2019-10-13 14:57:24 -04:00
switch-case test: Allow expect-style UI tests, testing any var 2019-10-13 14:57:24 -04:00
to-char-backward test: Allow expect-style UI tests, testing any var 2019-10-13 14:57:24 -04:00
to-char-backward-extending test: Allow expect-style UI tests, testing any var 2019-10-13 14:57:24 -04:00
to-char-forward test: Allow expect-style UI tests, testing any var 2019-10-13 14:57:24 -04:00
to-char-forward-extending test: Allow expect-style UI tests, testing any var 2019-10-13 14:57:24 -04:00
trim test: Allow expect-style UI tests, testing any var 2019-10-13 14:57:24 -04:00
trim-drop-empty test: Allow expect-style UI tests, testing any var 2019-10-13 14:57:24 -04:00
trim-lines Make x just select the full lines 2022-07-05 08:43:40 +10:00
undo Rename 'unit' test directory to 'normal' as they are the normal mode tests 2017-06-09 10:48:37 +01:00
undo-after-replace-lines Rename 'unit' test directory to 'normal' as they are the normal mode tests 2017-06-09 10:48:37 +01:00
upper-case test: Allow expect-style UI tests, testing any var 2019-10-13 14:57:24 -04:00
user-modes Remove <scope> from user-modes commands 2018-03-02 09:28:27 +01:00
yank Rename 'unit' test directory to 'normal' as they are the normal mode tests 2017-06-09 10:48:37 +01:00