diff options
| author | Maxime Coste <frrrwww@gmail.com> | 2014-04-26 15:09:07 +0100 |
|---|---|---|
| committer | Maxime Coste <frrrwww@gmail.com> | 2014-04-27 12:37:41 +0100 |
| commit | b370f91025a6847fe3204e34f5e9016b34ef4f0f (patch) | |
| tree | 2b5be86a0727082149768dea05f3c0f5cafc9480 /src/input_handler.cc | |
| parent | 0c1b27cfa7d85f08677e7784580c2869ad6602cd (diff) | |
Add -init switch to :prompt to set the initial text
Fixes #97
Diffstat (limited to 'src/input_handler.cc')
| -rw-r--r-- | src/input_handler.cc | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/input_handler.cc b/src/input_handler.cc index 49c02367..d7274b6d 100644 --- a/src/input_handler.cc +++ b/src/input_handler.cc @@ -353,13 +353,15 @@ class Prompt : public InputMode { public: Prompt(InputHandler& input_handler, const String& prompt, - ColorPair colors, Completer completer, PromptCallback callback) + String initstr, ColorPair colors, Completer completer, + PromptCallback callback) : InputMode(input_handler), m_prompt(prompt), m_prompt_colors(colors), m_completer(completer), m_callback(callback) { m_history_it = ms_history[m_prompt].end(); if (context().options()["autoshowcompl"].get<bool>()) refresh_completions(CompletionFlags::Fast); + m_line_editor.reset(std::move(initstr)); display(); } @@ -1259,11 +1261,13 @@ void InputHandler::repeat_last_insert() kak_assert(dynamic_cast<InputModes::Normal*>(m_mode.get()) != nullptr); } -void InputHandler::prompt(const String& prompt, ColorPair prompt_colors, - Completer completer, PromptCallback callback) +void InputHandler::prompt(const String& prompt, String initstr, + ColorPair prompt_colors, Completer completer, + PromptCallback callback) { - change_input_mode(new InputModes::Prompt(*this, prompt, prompt_colors, - completer, callback)); + change_input_mode(new InputModes::Prompt(*this, prompt, initstr, + prompt_colors, completer, + callback)); } void InputHandler::set_prompt_colors(ColorPair prompt_colors) |
