From 2c5cc189c53d03cea6a17939a78f3b4d296be98c Mon Sep 17 00:00:00 2001 From: AnotherTest Date: Thu, 20 Aug 2020 08:07:27 +0430 Subject: [PATCH] LibLine: Initialize the search editor when entering search Prior to this, no keybinding were installed on the search editor, and so editing wasn't really possible. Also fixes making infinite search editors. --- Libraries/LibLine/InternalFunctions.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Libraries/LibLine/InternalFunctions.cpp b/Libraries/LibLine/InternalFunctions.cpp index 8aeeedce0a..680bd62d0a 100644 --- a/Libraries/LibLine/InternalFunctions.cpp +++ b/Libraries/LibLine/InternalFunctions.cpp @@ -232,6 +232,7 @@ void Editor::enter_search() m_notifier->set_enabled(false); m_search_editor = Editor::construct(Configuration { Configuration::Eager }); // Has anyone seen 'Inception'? + m_search_editor->initialize(); add_child(*m_search_editor); m_search_editor->on_display_refresh = [this](Editor& search_editor) { @@ -239,7 +240,6 @@ void Editor::enter_search() builder.append(Utf32View { search_editor.buffer().data(), search_editor.buffer().size() }); search(builder.build()); refresh_display(); - return; }; // Whenever the search editor gets a ^R, cycle between history entries. @@ -257,7 +257,9 @@ void Editor::enter_search() search_editor.m_refresh_needed = true; return false; // Do not process this key event } - return true; + + search_editor.erase_character_backwards(); + return false; }); // ^L - This is a source of issues, as the search editor refreshes first,