Browse Source

Language protocol: no longer show completion window when no completion items match completion prefix in source buffer

merge-requests/398/head
eidheim 7 years ago
parent
commit
5390cfc5a4
  1. 21
      src/source_language_protocol.cc

21
src/source_language_protocol.cc

@ -1414,14 +1414,21 @@ void Source::LanguageProtocolView::setup_autocomplete() {
} }
} }
if(!label.empty()) { if(!label.empty()) {
autocomplete.rows.emplace_back(std::move(label)); std::string prefix;
autocomplete_comment.emplace_back(std::move(detail)); {
if(!documentation.empty() && documentation != autocomplete_comment.back()) { std::lock_guard<std::mutex> lock(autocomplete.prefix_mutex);
if(!autocomplete_comment.back().empty()) prefix = autocomplete.prefix;
autocomplete_comment.back() += "\n\n"; }
autocomplete_comment.back() += documentation; if(prefix.compare(0, prefix.size(), label, 0, prefix.size()) == 0) {
autocomplete.rows.emplace_back(std::move(label));
autocomplete_comment.emplace_back(std::move(detail));
if(!documentation.empty() && documentation != autocomplete_comment.back()) {
if(!autocomplete_comment.back().empty())
autocomplete_comment.back() += "\n\n";
autocomplete_comment.back() += documentation;
}
autocomplete_insert.emplace_back(std::move(insert));
} }
autocomplete_insert.emplace_back(std::move(insert));
} }
} }

Loading…
Cancel
Save