aboutsummaryrefslogtreecommitdiffhomepage
path: root/lib
diff options
context:
space:
mode:
authorRobin Haberkorn <robin.haberkorn@googlemail.com>2015-03-16 19:41:03 +0100
committerRobin Haberkorn <robin.haberkorn@googlemail.com>2015-03-16 19:44:29 +0100
commit64ee41446def1605a71d49fce6461b8ff3f5c0d2 (patch)
tree78acef7be5dcd510354d61b81d2f6ca84963cbe0 /lib
parent746d7d1caf0fd0fb767a359f0eb5534ae2d8e653 (diff)
downloadsciteco-64ee41446def1605a71d49fce6461b8ff3f5c0d2.tar.gz
implemented function key masking (context-sensitive function key macros)
* fnkeys.tes has been updated to enable the command line editing macros (cursor keys, etc.) only in the "start" state. This avoids the annoying effect of inserting the macros into string arguments where they have no effect and must be rubbed out again.
Diffstat (limited to 'lib')
-rw-r--r--lib/fnkeys.tes20
1 files changed, 18 insertions, 2 deletions
diff --git a/lib/fnkeys.tes b/lib/fnkeys.tes
index 87674e8..4ad653d 100644
--- a/lib/fnkeys.tes
+++ b/lib/fnkeys.tes
@@ -10,24 +10,32 @@
"> Q.c\IC) | -Q.c\IR) '
}}
-! Make DELETE an alternative to ESCAPE !
+! Make DELETE an ESCAPE surrogate.
+ Macro is enabled everywhere. !
@[DC]{}
! Make SHIFT+DELETE a rubout/re-insert key.
- This reverses the ^G modifier for BACKSPACE !
+ This reverses the ^G modifier for BACKSPACE.
+ The macro is enabled everywhere. !
@[SDC]{}
+! Command line editing macros.
+ They are enabled only in the start state (i.e. they
+ have no effect in string arguments, etc.). !
+
@[HOME]{
.ESLINEFROMPOSITIONESPOSITIONFROMLINEU.p
Q.pU.l <Q.l-."U 1; ' Q.l-.AU.c Q.c- "N Q.c-9"N Q.lU.p 1; '' %.l>
Q.p-.M#c
}
@[HOME]{(M[HOME]}
+1U[HOME]
@[END]{
.ESLINEFROMPOSITIONESGETLINEENDPOSITION-.M#c
}
@[END]{(M[END]}
+1U[END]
@[NPAGE]{
.ESLINEFROMPOSITION+(ESLINESONSCREEN)
@@ -35,32 +43,38 @@
Q.p"< Z | Q.p '-.M#c
}
@[NPAGE]{(M[NPAGE]}
+1U[NPAGE]
@[PPAGE]{
.ESLINEFROMPOSITION-(ESLINESONSCREEN)U.l
Q.l"< 0 | Q.lESPOSITIONFROMLINE '-.M#c
}
@[PPAGE]{(M[PPAGE]}
+1U[PPAGE]
@[LEFT]{
."=0|-1'M#c
}
@[LEFT]{(M[LEFT]}
+1U[LEFT]
@[SLEFT]{
0,0,.ESWORDSTARTPOSITIONESWORDSTARTPOSITION-.M#c
}
@[SLEFT]{(M[SLEFT]}
+1U[SLEFT]
@[RIGHT]{
.-Z"=0|1'M#c
}
@[RIGHT]{(M[RIGHT]}
+1U[RIGHT]
@[SRIGHT]{
0,0,.ESWORDENDPOSITIONESWORDENDPOSITION-.M#c
}
@[SRIGHT]{(M[SRIGHT]}
+1U[SRIGHT]
@[UP]{
.ESGETCOLUMN
@@ -68,6 +82,7 @@
ESFINDCOLUMN-.M#c
}
@[UP]{(M[UP]}
+1U[UP]
@[DOWN]{
.ESGETCOLUMN
@@ -75,3 +90,4 @@
ESFINDCOLUMN-.M#c
}
@[DOWN]{(M[DOWN]}
+1U[DOWN]