summaryrefslogtreecommitdiff
path: root/src/normal.cc
diff options
context:
space:
mode:
authorMaxime Coste <frrrwww@gmail.com>2015-05-18 13:56:13 +0100
committerMaxime Coste <frrrwww@gmail.com>2015-05-18 13:56:58 +0100
commitbb7800b1a648bc41793d9d4fcd95dcd089762793 (patch)
tree5cd76d1f4fca2c0fb4898974e599b65ae398101c /src/normal.cc
parent9f502848ad69edd50396ca4129e0ec4e3d0ede2e (diff)
Preserve window position in regex_prompt
Fixes #271
Diffstat (limited to 'src/normal.cc')
-rw-r--r--src/normal.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/normal.cc b/src/normal.cc
index 765c7017..de54976f 100644
--- a/src/normal.cc
+++ b/src/normal.cc
@@ -556,6 +556,7 @@ void paste_all(Context& context, NormalParams params)
template<typename T>
void regex_prompt(Context& context, const String prompt, T func)
{
+ CharCoord position = context.has_window() ? context.window().position() : CharCoord{};
SelectionList selections = context.selections();
context.input_handler().prompt(prompt, "", get_face("Prompt"), complete_nothing,
[=](StringView str, PromptEvent event, Context& context) mutable {
@@ -565,6 +566,9 @@ void regex_prompt(Context& context, const String prompt, T func)
context.ui().info_hide();
selections.update();
context.selections_write_only() = selections;
+ if (context.has_window())
+ context.window().set_position(position);
+
context.input_handler().set_prompt_face(get_face("Prompt"));
if (event == PromptEvent::Abort)
return;