diff options
Diffstat (limited to 'src/input_handler.cc')
| -rw-r--r-- | src/input_handler.cc | 42 |
1 files changed, 21 insertions, 21 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&) {} } |
