diff --git a/src/core/Command.h b/src/core/Command.h index 1e0b880..dce4880 100644 --- a/src/core/Command.h +++ b/src/core/Command.h @@ -48,6 +48,7 @@ public: SCROLL_WINDOW_DOWN_HALF_SCREEN, SCROLL_WINDOW_UP_WHOLE_SCREEN, SCROLL_WINDOW_DOWN_WHOLE_SCREEN, + ENTER_COMMAND_LINE_PROMPT, COMMAND_COUNT, }; diff --git a/src/core/DefaultCommandMap.cc b/src/core/DefaultCommandMap.cc index 23367df..44e4c41 100644 --- a/src/core/DefaultCommandMap.cc +++ b/src/core/DefaultCommandMap.cc @@ -49,6 +49,7 @@ void DefaultCommandMap::build() dcm->add("j", Command::GO_DOWN, nullptr, false); dcm->add("k", Command::GO_UP, nullptr, false); dcm->add("l", Command::GO_RIGHT, nullptr, false); + dcm->add(":", Command::ENTER_COMMAND_LINE_PROMPT, nullptr, false); dcm->add("x", Command::DELETE_CHAR, nullptr, false); dcm->add("X", Command::DELETE_CHAR_BACK, nullptr, false); diff --git a/src/gui/Window.cc b/src/gui/Window.cc index 96f6fb4..548124d 100644 --- a/src/gui/Window.cc +++ b/src/gui/Window.cc @@ -288,11 +288,6 @@ void Window::handle_keypress(uint32_t keyval) m_command_input.clear(); m_command_invalid = false; } - else if (keycode == ':') - { - m_command_buffer_pane->clear(); - change_focus(m_command_buffer_pane); - } else { m_command_input.push_back(ctrl_keyval); @@ -441,6 +436,10 @@ void Window::execute_command(const Command & command) case Command::SCROLL_WINDOW_DOWN_WHOLE_SCREEN: m_focused_buffer_pane->scroll_window_down(ScrollMode::WHOLE_SCREEN); break; + case Command::ENTER_COMMAND_LINE_PROMPT: + m_command_buffer_pane->clear(); + change_focus(m_command_buffer_pane); + break; } }