summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMaxime Coste <mawww@kakoune.org>2023-11-13 19:19:53 +1100
committerMaxime Coste <mawww@kakoune.org>2023-11-13 19:22:33 +1100
commitfc7be678ed0ec71880a58a55de285c88bbd64bec (patch)
treefaa665369197a5a49fb294d72b20d9474ed1e335 /src
parent2261b48e35eac3d62346745e0c2beef7f72fb37d (diff)
Change window_range to emit each element as a separate string
Diffstat (limited to 'src')
-rw-r--r--src/input_handler.cc42
-rw-r--r--src/main.cc5
2 files changed, 24 insertions, 23 deletions
diff --git a/src/input_handler.cc b/src/input_handler.cc
index 5b60026e..a5a25413 100644
--- a/src/input_handler.cc
+++ b/src/input_handler.cc
@@ -1115,32 +1115,32 @@ private:
const String& line = m_line_editor.line();
m_completions = completer(context(), flags, line,
line.byte_count_to(m_line_editor.cursor_pos()));
- const bool menu = (bool)(m_completions.flags & Completions::Flags::Menu);
- if (context().has_client())
- {
- if (m_completions.candidates.empty())
- return context().client().menu_hide();
+ if (not context().has_client())
+ return;
- Vector<DisplayLine> items;
- for (auto& candidate : m_completions.candidates)
- items.push_back({ candidate, {} });
+ if (m_completions.candidates.empty())
+ return context().client().menu_hide();
- const auto menu_style = (m_flags & PromptFlags::Search) ? MenuStyle::Search : MenuStyle::Prompt;
- context().client().menu_show(items, {}, menu_style);
+ Vector<DisplayLine> items;
+ for (auto& candidate : m_completions.candidates)
+ items.push_back({ candidate, {} });
- if (menu)
- context().client().menu_select(0);
+ const auto menu_style = (m_flags & PromptFlags::Search) ? MenuStyle::Search : MenuStyle::Prompt;
+ context().client().menu_show(items, {}, menu_style);
- auto prefix = line.substr(m_completions.start, m_completions.end - m_completions.start);
- if (not menu and not contains(m_completions.candidates, prefix))
- {
- m_current_completion = m_completions.candidates.size();
- m_completions.candidates.push_back(prefix.str());
- m_prefix_in_completions = true;
- }
- else
- m_prefix_in_completions = false;
+ const bool menu = (bool)(m_completions.flags & Completions::Flags::Menu);
+ if (menu)
+ context().client().menu_select(0);
+
+ auto prefix = line.substr(m_completions.start, m_completions.end - m_completions.start);
+ if (not menu and not contains(m_completions.candidates, prefix))
+ {
+ m_current_completion = m_completions.candidates.size();
+ m_completions.candidates.push_back(prefix.str());
+ m_prefix_in_completions = true;
}
+ else
+ m_prefix_in_completions = false;
} catch (runtime_error&) {}
}
diff --git a/src/main.cc b/src/main.cc
index 1d5b8dd7..bc12f335 100644
--- a/src/main.cc
+++ b/src/main.cc
@@ -46,6 +46,7 @@ struct {
StringView notes;
} constexpr version_notes[] = { {
0,
+ "» {+b}%val{window_range}{} is now emitted as separate strings\n"
"» {+b}+{} only duplicates identical selections a single time\n"
"» {+u}daemonize-session{} command\n"
}, {
@@ -387,8 +388,8 @@ static const EnvVarDesc builtin_env_vars[] = { {
[](StringView name, const Context& context) -> Vector<String>
{
const auto& setup = context.window().last_display_setup();
- return {format("{} {} {} {}", setup.first_line, setup.first_column,
- setup.line_count, 0)};
+ return {to_string(setup.first_line), to_string(setup.first_column),
+ to_string(setup.line_count), to_string(0)};
}
}, {
"history", false,