From 0bfaf351aa425c6cd820a94edc58796f0769cab2 Mon Sep 17 00:00:00 2001 From: Joachim Nilsson Date: Thu, 22 Mar 2018 08:42:32 +0100 Subject: [PATCH] Add support for Ctrl+Right and Ctrl+Left, forward/back word Signed-off-by: Joachim Nilsson --- src/editline.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/editline.c b/src/editline.c index e48602c..6d82b84 100644 --- a/src/editline.c +++ b/src/editline.c @@ -930,6 +930,20 @@ static el_status_t meta(void) if (c == '[' || c == 'O') { switch (tty_get()) { case EOF: return CSeof; + case '1': + { + char seq[4] = { 0 }; + + for (c = 0; c < 3; c++) + seq[c] = tty_get(); + + if (!strncmp(seq, ";5C", 3)) + return fd_word(); /* Ctrl+Right */ + if (!strncmp(seq, ";5D", 3)) + return bk_word(); /* Ctrl+Left */ + + break; + } case '2': tty_get(); return CSstay; /* Insert */ case '3': tty_get(); return del_char(); /* Delete */ case '5': tty_get(); return CSstay; /* PgUp */