X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=src%2Flib%2Fcmdline_rdline.c;h=5783d6598064b0740601a797c35e10ab24d4fcdc;hb=504b523d94543a7bb7301a3b1bfe929aabf7fb36;hp=91217bea19aa5b5e6ae1be3b72ebca04f0ad2610;hpb=12df0462d324d6aaced9491955628c46b9ea853c;p=libcmdline.git diff --git a/src/lib/cmdline_rdline.c b/src/lib/cmdline_rdline.c index 91217be..5783d65 100644 --- a/src/lib/cmdline_rdline.c +++ b/src/lib/cmdline_rdline.c @@ -212,10 +212,10 @@ rdline_char_in(struct rdline *rdl, char c) return RDLINE_RES_NOT_RUNNING; cmd = vt100_parser(&rdl->vt100, c); - if (cmd == -2) + if (cmd == VT100_NOT_COMPLETE) return RDLINE_RES_SUCCESS; - if (cmd >= 0) { + if (cmd != VT100_STD_CHAR) { switch (cmd) { case CMDLINE_KEY_CTRL_B: case CMDLINE_KEY_LEFT_ARR: @@ -291,6 +291,14 @@ rdline_char_in(struct rdline *rdl, char c) display_right_buffer(rdl, 1); break; + case CMDLINE_KEY_META_D: + while (! CIRBUF_IS_EMPTY(&rdl->right) && isblank2(cirbuf_get_head(&rdl->right))) + cirbuf_del_head(&rdl->right); + while (! CIRBUF_IS_EMPTY(&rdl->right) && !isblank2(cirbuf_get_head(&rdl->right))) + cirbuf_del_head(&rdl->right); + display_right_buffer(rdl, 1); + break; + case CMDLINE_KEY_SUPPR: case CMDLINE_KEY_CTRL_D: if (cmd == CMDLINE_KEY_CTRL_D && @@ -431,6 +439,7 @@ rdline_char_in(struct rdline *rdl, char c) #ifndef NO_RDLINE_HISTORY case CMDLINE_KEY_UP_ARR: + case CMDLINE_KEY_CTRL_P: if (rdl->history_cur_line == 0) { rdline_remove_first_history_item(rdl); } @@ -452,6 +461,7 @@ rdline_char_in(struct rdline *rdl, char c) break; case CMDLINE_KEY_DOWN_ARR: + case CMDLINE_KEY_CTRL_N: if (rdl->history_cur_line - 1 < 0) break;