summaryrefslogtreecommitdiffstats
path: root/linenoise/linenoise.c
diff options
context:
space:
mode:
Diffstat (limited to 'linenoise/linenoise.c')
-rw-r--r--linenoise/linenoise.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/linenoise/linenoise.c b/linenoise/linenoise.c
index 7dd29aa5..1a16ac7c 100644
--- a/linenoise/linenoise.c
+++ b/linenoise/linenoise.c
@@ -1118,6 +1118,9 @@ static void paren_jump(lino_t *l)
{
size_t pos = scan_rev(l->data, l->dpos - 1);
+ if (pos == -1)
+ pos = scan_fwd(l->data, l->dpos - 1);
+
if (pos != -1) {
size_t dp = l->dpos;
l->dpos = pos;
@@ -1840,6 +1843,7 @@ static int edit(lino_t *l, const char *prompt)
}
break;
case ')': case ']': case '}':
+ case '(': case '[': case '{':
if (edit_insert(l,c)) {
l->error = lino_ioerr;
goto out;