summaryrefslogtreecommitdiff
path: root/src/input_handler.cc
diff options
context:
space:
mode:
authorMaxime Coste <frrrwww@gmail.com>2014-04-26 15:09:07 +0100
committerMaxime Coste <frrrwww@gmail.com>2014-04-27 12:37:41 +0100
commitb370f91025a6847fe3204e34f5e9016b34ef4f0f (patch)
tree2b5be86a0727082149768dea05f3c0f5cafc9480 /src/input_handler.cc
parent0c1b27cfa7d85f08677e7784580c2869ad6602cd (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.cc14
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)