diff --git a/termite.cc b/termite.cc index 59ad50d..5f77658 100644 --- a/termite.cc +++ b/termite.cc @@ -922,25 +922,16 @@ GtkTreeModel *create_completion_model(VteTerminal *vte) { } void search(VteTerminal *vte, const char *pattern, bool reverse) { - std::function terminal_search; - if (!reverse) { - terminal_search = [vte]() { - return vte_terminal_search_find_next(vte); - }; - } else { - terminal_search = [vte]() { - return vte_terminal_search_find_previous(vte); - }; - }; + auto terminal_search = reverse ? vte_terminal_search_find_previous : vte_terminal_search_find_next; GRegex *regex = vte_terminal_search_get_gregex(vte); if (regex) g_regex_unref(regex); regex = g_regex_new(pattern, (GRegexCompileFlags)0, (GRegexMatchFlags)0, nullptr); vte_terminal_search_set_gregex(vte, regex); - if (!terminal_search()) { + if (!terminal_search(vte)) { vte_terminal_select_none(vte); - terminal_search(); + terminal_search(vte); } vte_terminal_copy_primary(vte);