From bfd251f813aee284d9cd3886a5aeffdb58497ea6 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Fri, 2 Oct 2015 06:48:26 -0700 Subject: linenoise: insert previous line command. * linenoise/linenoise.c (edit): Extended Ctrl-X Ctrl-R/r command added. * txr.1: Documented. --- linenoise/linenoise.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'linenoise') diff --git a/linenoise/linenoise.c b/linenoise/linenoise.c index de12bdb4..b5b9908f 100644 --- a/linenoise/linenoise.c +++ b/linenoise/linenoise.c @@ -1782,6 +1782,20 @@ static int edit(lino_t *l, const char *prompt) } } break; + case CTL('R'): case 'r': + extended = 0; + if (extend_num < 0) + extend_num = 1; + if (l->history_len > extend_num) { + char *prev_line = l->history[l->history_len - 1 + - extend_num]; + int res = edit_insert_str(l, prev_line, strlen(prev_line)); + if (res) { + l->error = lino_ioerr; + goto out; + } + } + break; case CTL('Q'): extended = 0; { -- cgit v1.2.3