From 867d22e419afe769f05ad26b61c6ea5ea1432c3c Mon Sep 17 00:00:00 2001 From: Robin Haberkorn Date: Sat, 22 Mar 2025 13:45:28 +0300 Subject: harmonized all word-movement and deletion commands: they move/delete until the beginning of words now * All commands and their documentations were inconsistent. * ^W rubbed out to the beginning of words. * Shift+Right (fnkeys.tes) moved to the beginning of the next word if invoked at the beginning of a word and to the end of the next word otherwise. * (and and by extension) moved to the end of the next word. * The cheat sheet would claim that moves to the beginning of the next word. * Video TECO's command would differ again from everything else. With positive arguments, it moved to the beginning of words, while with negative it moved to end of words. I decided not to copy this behavior. * It has been decided to adopt a consistent beginning-of-words policy. -W therefore differs from Video TECO in moving to the beginning of the current or previous word. * teco_find_words() is now based on parsing the document pointer, instead of relying on SCI_WORDENDPOSITION, since the latter cannot actually be used to skip strictly non-word characters. This requires a constant amount of Scintilla messages but will require fewer messages only when moving for more than 3 words. * The semantics of are therefore now consistent with Vim and Emacs as well. * Shift+Right/Left is still based on SCI_WORDENDPOSITION, so it's behavior differs slightly from for instance at the end of lines, as it will stop at linebreaks. * Unfortunately, these changes will break lots of macros, among others the M#rf, M#sp and git.blame macros ("Useful macros" from the wiki). --- doc/grosciteco.tes | 4 ++-- doc/sciteco.7.template | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) (limited to 'doc') diff --git a/doc/grosciteco.tes b/doc/grosciteco.tes index e5be8a9..f1d7830 100755 --- a/doc/grosciteco.tes +++ b/doc/grosciteco.tes @@ -135,7 +135,7 @@ EBN[input] !cmd.xF! L F< !cmd.xX! - :M#sw .(W).X.w + :M#sw .,1,.ESSCI_WORDENDPOSITIONX.w Ocmd.xXQ.w !cmd.xXsciteco_topic! !* @@ -272,7 +272,7 @@ EBN[input] !cmd.C! :M#sw 0A-^^u"= !* FIXME: This can be CuXXXX_XXXX (decomposed, e.g. for cyrillic ะน) *! - C 16 \U.w  W + C 16 \U.w  LR | .(:M#sa).X.w 0Q[glyphs.Q.w]U.w ' diff --git a/doc/sciteco.7.template b/doc/sciteco.7.template index b274715..30f53ba 100644 --- a/doc/sciteco.7.template +++ b/doc/sciteco.7.template @@ -503,10 +503,11 @@ Non-empty string arguments .br (modifier \fIdisabled\fP) T};T{ -Rub out last word according to Scintilla's definition of a word +Rub out to beginning of last word according to Scintilla's definition of a word as set by .SCITECO_TOPIC SCI_SETWORDCHARS -.BR SCI_SETWORDCHARS . +.BR SCI_SETWORDCHARS , +analogous to \fBY\fP command. T} \^;\^;\^;T{ Miscelleaneous -- cgit v1.2.3