From e75f7ddb1b99f3612971bedd099ad12882fc2f2b Mon Sep 17 00:00:00 2001 From: AnotherTest Date: Tue, 26 May 2020 15:21:44 +0430 Subject: [PATCH] LibLine: Send over some properties when being inspected --- Libraries/LibLine/Editor.cpp | 18 ++++++++++++++++++ Libraries/LibLine/Editor.h | 3 +++ 2 files changed, 21 insertions(+) diff --git a/Libraries/LibLine/Editor.cpp b/Libraries/LibLine/Editor.cpp index 4952f9a3da..2fe2900429 100644 --- a/Libraries/LibLine/Editor.cpp +++ b/Libraries/LibLine/Editor.cpp @@ -324,6 +324,24 @@ auto Editor::get_line(const String& prompt) -> Result return m_input_error.has_value() ? Result { m_input_error.value() } : Result { m_returned_line }; } +void Editor::save_to(JsonObject& object) +{ + Core::Object::save_to(object); + object.set("is_searching", m_is_searching); + object.set("is_editing", m_is_editing); + object.set("cursor_offset", m_cursor); + object.set("needs_refresh", m_refresh_needed); + object.set("unprocessed_characters", m_incomplete_data.size()); + object.set("history_size", m_history.size()); + object.set("current_prompt", m_new_prompt); + object.set("was_interrupted", m_was_interrupted); + JsonObject display_area; + display_area.set("top_left_x", m_origin_x); + display_area.set("top_left_y", m_origin_y); + display_area.set("line_count", num_lines()); + object.set("used_display_area", move(display_area)); +} + void Editor::handle_read_event() { char keybuf[16]; diff --git a/Libraries/LibLine/Editor.h b/Libraries/LibLine/Editor.h index 785af92dfa..c3f8db1cb7 100644 --- a/Libraries/LibLine/Editor.h +++ b/Libraries/LibLine/Editor.h @@ -165,6 +165,9 @@ public: private: explicit Editor(Configuration configuration = {}); + // ^Core::Object + virtual void save_to(JsonObject&) override; + struct KeyCallback { KeyCallback(Function cb) : callback(move(cb))