diff options
author | stijn <stinos@zoho.com> | 2015-05-28 13:41:36 +0200 |
---|---|---|
committer | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2015-05-30 13:38:24 +0300 |
commit | 9a522dda6e699bfa329dd44ec7fd215f38533122 (patch) | |
tree | d7e084dc000d2a37a22f3f362a3aa8436b31d445 /lib/mp-readline/readline.c | |
parent | 100004eeaf6c24f6c1b6e009ea60c991e29a8692 (diff) | |
download | micropython-9a522dda6e699bfa329dd44ec7fd215f38533122.tar.gz micropython-9a522dda6e699bfa329dd44ec7fd215f38533122.zip |
lib/mp-readline: Add implementation for deleting a character
xterm and others use the ESC[~3 sequence when pressing the delete key
Diffstat (limited to 'lib/mp-readline/readline.c')
-rw-r--r-- | lib/mp-readline/readline.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/mp-readline/readline.c b/lib/mp-readline/readline.c index ff897115a3..1334eb91d9 100644 --- a/lib/mp-readline/readline.c +++ b/lib/mp-readline/readline.c @@ -228,6 +228,12 @@ home_key: } else if (rl.escape_seq_buf[0] == '4' || rl.escape_seq_buf[0] == '8') { end_key: redraw_step_forward = rl.line->len - rl.cursor_pos; + } else if (rl.escape_seq_buf[0] == '3') { + // delete + if (rl.cursor_pos >= rl.orig_line_len && rl.cursor_pos < rl.line->len) { + vstr_cut_out_bytes(rl.line, rl.cursor_pos, 1); + redraw_from_cursor = true; + } } else { DEBUG_printf("(ESC [ %c %d)", rl.escape_seq_buf[0], c); } |