D7: editor multi-cursor support

Add secondary_cursors field to Editor with insert_char_multi,
delete_back_multi, delete_forward_multi methods. Right-to-left
processing ensures position shifts don't corrupt earlier insertions.

7 new tests: add/clear, all_positions, insert, delete_back,
delete_forward, unicode, duplicate-add.
This commit is contained in:
2026-07-05 22:29:19 +03:00
parent 7a2b0d5160
commit b8aac3c9bc
2226 changed files with 876572 additions and 2382 deletions
+42
View File
@@ -0,0 +1,42 @@
#!/bin/sh
# small examples
. "${srcdir=.}/init.sh"; path_prepend_ ../src
fail=0
cat <<EOF > exp- || fail=1
1c1
< a
---
> b
EOF
cat <<EOF > exp--u || fail=1
--- a
+++ b
@@ -1 +1 @@
-a
+b
EOF
cat <<EOF > exp--c || fail=1
*** a
--- b
***************
*** 1 ****
! a
--- 1 ----
! b
EOF
echo a > a
echo b > b
for opt in '' -u -c; do
returns_ 1 diff $opt a b > out 2> err || fail=1
# Remove date and time.
sed -e 's/^\([-+*][-+*][-+*] [^ ]*\) .*/\1/' out > k; mv k out
compare exp-$(echo $opt|tr ' ' _) out || fail=1
done
Exit $fail