From 67276833f9ede96dbc549c508f182c913240ac2c Mon Sep 17 00:00:00 2001 From: Albert Cervin Date: Wed, 10 May 2023 12:58:27 +0200 Subject: Implement word deletion M-d for forward, M-D for backward --- src/dged/buffer.c | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'src/dged/buffer.c') diff --git a/src/dged/buffer.c b/src/dged/buffer.c index f2e7eb9..e40281f 100644 --- a/src/dged/buffer.c +++ b/src/dged/buffer.c @@ -434,6 +434,34 @@ void buffer_backward_delete_char(struct buffer_view *view) { } } +void buffer_forward_delete_word(struct buffer_view *view) { + if (maybe_delete_region(view)) { + return; + } + + struct buffer_location start = view->dot; + buffer_forward_word(view); + struct buffer_location end = view->dot; + + buffer_goto(view, start.line, start.col); + + delete_with_undo(view->buffer, start, end); +} + +void buffer_backward_delete_word(struct buffer_view *view) { + if (maybe_delete_region(view)) { + return; + } + + struct buffer_location end = view->dot; + buffer_backward_word(view); + struct buffer_location start = view->dot; + + buffer_goto(view, start.line, start.col); + + delete_with_undo(view->buffer, start, end); +} + void buffer_backward_char(struct buffer_view *view) { moveh(view, -1); } void buffer_forward_char(struct buffer_view *view) { moveh(view, 1); } -- cgit v1.2.3