diff options
author | Andrés <andmarti@gmail.com> | 2021-03-17 09:35:48 -0300 |
---|---|---|
committer | Andrés <andmarti@gmail.com> | 2021-03-17 09:35:48 -0300 |
commit | c1407bb096ea499d19d11a587024409f2dd640b3 (patch) | |
tree | 56b5fcc88246d3af8a9818511b77c063bb2d2d3f /src/cmds_edit.c | |
parent | 4fc2270e774de8f06dd1e479404d20c66d85ce7a (diff) |
EDIT_MODE: Added 'd^' 'dg_' 'c^' 'cg_' commands
Diffstat (limited to 'src/cmds_edit.c')
-rw-r--r-- | src/cmds_edit.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/cmds_edit.c b/src/cmds_edit.c index 094ddf0..5318008 100644 --- a/src/cmds_edit.c +++ b/src/cmds_edit.c @@ -388,6 +388,23 @@ void do_editmode(struct block * sb) { inputline_pos = wcswidth(inputline, real_inputline_pos); break; + case L'^': + pos = first_nonblank_char(); + if (pos == -1) return; + del_range_wchars(inputline, pos, real_inputline_pos-1); + real_inputline_pos = pos; + inputline_pos = wcswidth(inputline, real_inputline_pos); + break; + + case L'g': + if (ui_getch_b(&wi) == -1 || wi != L'_') return; + pos = last_nonblank_char(); + if (pos == -1) return; + del_range_wchars(inputline, real_inputline_pos, pos); + real_inputline_pos = pos; + inputline_pos = wcswidth(inputline, real_inputline_pos); + break; + case L'e': // de or ce del_range_wchars(inputline, real_inputline_pos, for_word(1, 0, 0)); break; |