config: add search-bindings.delete-to-{start,end} key bindings

Defaults to ctrl+u and ctrl+k respectively.

Closes #1972
This commit is contained in:
Adrian fxj9a 2025-03-03 14:27:30 +01:00 committed by Daniel Eklöf
parent 9e6d334bd8
commit 6d39f66eb7
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
7 changed files with 47 additions and 0 deletions

View file

@ -1265,6 +1265,29 @@ execute_binding(struct seat *seat, struct terminal *term,
return true;
}
case BIND_ACTION_SEARCH_DELETE_TO_START: {
if (term->search.cursor > 0) {
memmove(&term->search.buf[0],
&term->search.buf[term->search.cursor],
(term->search.len - term->search.cursor)
* sizeof(char32_t));
term->search.len -= term->search.cursor;
term->search.cursor = 0;
*update_search_result = *redraw = true;
}
return true;
}
case BIND_ACTION_SEARCH_DELETE_TO_END: {
if (term->search.cursor < term->search.len) {
term->search.buf[term->search.cursor] = '\0';
term->search.len = term->search.cursor;
*update_search_result = *redraw = true;
}
return true;
}
case BIND_ACTION_SEARCH_EXTEND_CHAR: {
struct coord target;
if (search_extend_find_char_right(term, &target)) {