summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2015-09-27 22:59:05 -0700
committerKaz Kylheku <kaz@kylheku.com>2015-09-27 22:59:05 -0700
commitea3f3ce459932a4e05cf51fe353acf7e90f36bae (patch)
treec728e27cc2358d96a332733e3773aa98ab939cb1
parent35396ddf01daef0d3dea12f2ed960d9693d58eed (diff)
downloadtxr-ea3f3ce459932a4e05cf51fe353acf7e90f36bae.tar.gz
txr-ea3f3ce459932a4e05cf51fe353acf7e90f36bae.tar.bz2
txr-ea3f3ce459932a4e05cf51fe353acf7e90f36bae.zip
linenoise: backspace also causes parenthesis jump.
* linenoise/linenoise.c (edit): Do paren_jump after backspace * txr.1: Documented.
-rw-r--r--linenoise/linenoise.c1
-rw-r--r--txr.14
2 files changed, 5 insertions, 0 deletions
diff --git a/linenoise/linenoise.c b/linenoise/linenoise.c
index 57797178..cafa7e0a 100644
--- a/linenoise/linenoise.c
+++ b/linenoise/linenoise.c
@@ -1848,6 +1848,7 @@ static int edit(lino_t *l, const char *prompt)
case BACKSPACE: /* backspace */
case CTL('H'):
edit_backspace(l);
+ paren_jump(l);
break;
case CTL('D'): /* remove char at right of cursor, or if the
line is empty, act as end-of-file. */
diff --git a/txr.1 b/txr.1
index 696a1b10..95437fd0 100644
--- a/txr.1
+++ b/txr.1
@@ -34168,6 +34168,10 @@ character and then returns to the original position a brief moment later. If a
new character is typed during the brief time delay, the delay is immediately
canceled, so as not to hinder rapid typing.
+This back-and-forth jump behavior also occurs when a character is erased using
+Backspace, and the the cursor ends up immediately to the right of a
+parenthesis.
+
Note that the matching is unsophisticated; it doesn't observe the
lexical conventions and syntax of the \*(TL programming language. For
instance, a closing parenthesis outside a string literal may match