From f7e64e9c6a7dd22d16ac15adf4f86714b5b993ef Mon Sep 17 00:00:00 2001 From: David Vazgenovich Shakaryan Date: Sun, 1 Feb 2026 01:51:20 -0800 Subject: add readline-style text manipulation --- main.lua | 30 ++++++++++++++++++++++++------ 1 file changed, 24 insertions(+), 6 deletions(-) (limited to 'main.lua') diff --git a/main.lua b/main.lua index dd046de..6a7974a 100644 --- a/main.lua +++ b/main.lua @@ -176,16 +176,34 @@ input.define_mapping('MENU', { }, }) input.define_mapping('SEARCH', { - ['ANY_UNICODE'] = {rt.search_input_char, 'complex'}, - ['BS'] = {rt.search_input_bs, 'repeat'}, - ['DEL'] = {rt.search_input_del, 'repeat'}, - ['ENTER'] = {rt.end_search}, ['ESC'] = {rt.cancel_search}, ['Ctrl+c'] = {rt.cancel_search}, - ['LEFT'] = {rt.search_cursor_left, 'repeat'}, - ['RIGHT'] = {rt.search_cursor_right, 'repeat'}, + ['ANY_UNICODE'] = {rt.search_text_insert_char, 'complex'}, + ['BS'] = {rt.search_text_del_prev_char, 'repeat'}, + ['DEL'] = {rt.search_text_del_next_char, 'repeat'}, + ['Alt+BS'] = {rt.search_text_del_prev_word, 'repeat'}, + ['Alt+DEL'] = {rt.search_text_del_next_word, 'repeat'}, + ['Ctrl+h'] = {rt.search_text_del_prev_char, 'repeat'}, + ['Ctrl+d'] = {rt.search_text_del_next_char, 'repeat'}, + ['Ctrl+w'] = {rt.search_text_del_prev_word, 'repeat'}, + ['Alt+d'] = {rt.search_text_del_next_word, 'repeat'}, + ['Ctrl+u'] = {rt.search_text_del_to_start}, + ['Ctrl+k'] = {rt.search_text_del_to_end}, + ['Ctrl+t'] = {rt.search_text_transpose_chars, 'repeat'}, + ['Alt+t'] = {rt.search_text_transpose_words, 'repeat'}, + + ['LEFT'] = {rt.search_cursor_prev_char, 'repeat'}, + ['RIGHT'] = {rt.search_cursor_next_char, 'repeat'}, + ['Alt+LEFT'] = {rt.search_cursor_prev_word, 'repeat'}, + ['Alt+RIGHT'] = {rt.search_cursor_next_word, 'repeat'}, + ['Ctrl+b'] = {rt.search_cursor_prev_char, 'repeat'}, + ['Ctrl+f'] = {rt.search_cursor_next_char, 'repeat'}, + ['Alt+b'] = {rt.search_cursor_prev_word, 'repeat'}, + ['Alt+f'] = {rt.search_cursor_next_word, 'repeat'}, + ['HOME'] = {rt.search_cursor_start}, + ['END'] = {rt.search_cursor_end}, ['Ctrl+a'] = {rt.search_cursor_start}, ['Ctrl+e'] = {rt.search_cursor_end}, -- cgit v1.2.3-70-g09d2