summaryrefslogtreecommitdiffstats
path: root/src/cmds_edit.c
diff options
context:
space:
mode:
authorAndrés <andmarti@gmail.com>2021-03-17 09:35:48 -0300
committerAndrés <andmarti@gmail.com>2021-03-17 09:35:48 -0300
commitc1407bb096ea499d19d11a587024409f2dd640b3 (patch)
tree56b5fcc88246d3af8a9818511b77c063bb2d2d3f /src/cmds_edit.c
parent4fc2270e774de8f06dd1e479404d20c66d85ce7a (diff)
EDIT_MODE: Added 'd^' 'dg_' 'c^' 'cg_' commands
Diffstat (limited to 'src/cmds_edit.c')
-rw-r--r--src/cmds_edit.c17
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;