From 47caf05f9410baeb6d02aec73823cc9275324fd8 Mon Sep 17 00:00:00 2001 From: eidheim Date: Tue, 8 Jun 2021 14:33:39 +0200 Subject: [PATCH] Language client: improved is_possible_jsx_property --- src/source_language_protocol.cpp | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/source_language_protocol.cpp b/src/source_language_protocol.cpp index b035db6..079948c 100644 --- a/src/source_language_protocol.cpp +++ b/src/source_language_protocol.cpp @@ -1615,7 +1615,7 @@ void Source::LanguageProtocolView::setup_autocomplete() { return false; }; - std::function is_possible_jsx_property = [](const Gtk::TextIter &) { return false; }; + std::function is_possible_jsx_property = [](Gtk::TextIter) { return false; }; if(language && language->get_id() == "js") { autocomplete->is_restart_key = [](guint keyval) { if(keyval == '.' || keyval == ' ') @@ -1623,9 +1623,8 @@ void Source::LanguageProtocolView::setup_autocomplete() { return false; }; - is_possible_jsx_property = [this](const Gtk::TextIter &iter) { - Gtk::TextIter found_iter; - return *iter == ' ' && find_open_symbol_backward(iter, found_iter, '<', '>'); + is_possible_jsx_property = [this](Gtk::TextIter iter) { + return (*iter == ' ' || iter.ends_line() || (*iter == '>' && iter.backward_char())) && find_open_symbol_backward(iter, iter, '<', '>'); }; } @@ -1682,13 +1681,13 @@ void Source::LanguageProtocolView::setup_autocomplete() { autocomplete_enable_snippets = true; return true; } - if(is_possible_jsx_property(prefix_start)) { + if(is_possible_argument()) { + autocomplete_show_arguments = true; LockGuard lock(autocomplete->prefix_mutex); autocomplete->prefix = ""; return true; } - if(is_possible_argument()) { - autocomplete_show_arguments = true; + if(is_possible_jsx_property(prefix_start)) { LockGuard lock(autocomplete->prefix_mutex); autocomplete->prefix = ""; return true;