commit 167131d5b470df96c57a279d9e1e3813870d1bcd from: Omar Polo date: Sat Jul 24 15:01:36 2021 UTC mini-scroll-up/down bound to M-v/C-v in the minibuffer commit - 738a231a5fb74c88b78181ed3fa18d016d0ecaca commit + 167131d5b470df96c57a279d9e1e3813870d1bcd blob - 02bc69712b041bfec75c628922b9315b3d025d6a blob + 48638c81dd69c3990a39403314a7501e8e8e5e10 --- cmd.c +++ cmd.c @@ -910,4 +910,34 @@ void cmd_other_window(struct buffer *buffer) { ui_other_window(); +} + +void +cmd_mini_scroll_up(struct buffer *buffer) +{ + if (!in_minibuffer) + return; + + buffer = &ministate.compl.buffer; + if (buffer->current_line == NULL) + return; + + buffer->current_line->parent->type = LINE_COMPL; + cmd_scroll_up(buffer); + buffer->current_line->parent->type = LINE_COMPL_CURRENT; +} + +void +cmd_mini_scroll_down(struct buffer *buffer) +{ + if (!in_minibuffer) + return; + + buffer = &ministate.compl.buffer; + if (buffer->current_line == NULL) + return; + + buffer->current_line->parent->type = LINE_COMPL; + cmd_scroll_down(buffer); + buffer->current_line->parent->type = LINE_COMPL_CURRENT; } blob - 35769ebca2a61cf58ef95670cdfa49afe8698247 blob + 82bf0ee3d076105ab765fec36921a23e3d470c4f --- cmd.h +++ cmd.h @@ -29,6 +29,8 @@ CMD(cmd_mini_goto_end, "Select the last completion.") CMD(cmd_mini_kill_line, "Delete from point until the end of the line."); CMD(cmd_mini_next_history_element, "Load the next history element."); CMD(cmd_mini_previous_history_element, "Load the previous history element."); +CMD(cmd_mini_scroll_down, "Scroll completions up by one visual page"); +CMD(cmd_mini_scroll_up, "Scroll completions up by one visual page"); CMD(cmd_move_beginning_of_line, "Move point at the beginning of the current visual line."); CMD(cmd_move_end_of_line, "Move point at the end of the current visual line."); CMD(cmd_next_button, "Move point to the next link."); blob - 5cc7dcd9be593acbe18b86fdf7ce51ef6f83cb95 blob + ceb09e2d60e4c7ae711c1e9e31f46408a5b5b8ea --- defaults.c +++ defaults.c @@ -375,6 +375,11 @@ load_default_keys(void) minibuffer_set_key("", cmd_previous_completion); minibuffer_set_key("", cmd_next_completion); + minibuffer_set_key("C-v", cmd_mini_scroll_down); + minibuffer_set_key("M-v", cmd_mini_scroll_up); + minibuffer_set_key("", cmd_mini_scroll_down); + minibuffer_set_key("", cmd_mini_scroll_up); + minibuffer_set_key("M-<", cmd_mini_goto_beginning); minibuffer_set_key("M->", cmd_mini_goto_end);