diff --git a/src/plugins/languageclient/languageclientcompletionassist.cpp b/src/plugins/languageclient/languageclientcompletionassist.cpp index 7919de0de81..7b2d4b02d45 100644 --- a/src/plugins/languageclient/languageclientcompletionassist.cpp +++ b/src/plugins/languageclient/languageclientcompletionassist.cpp @@ -347,11 +347,16 @@ public: {} // IAssistProposal interface - bool hasItemsToPropose(const QString &/*text*/, AssistReason reason) const override + bool hasItemsToPropose(const QString &prefix, AssistReason reason) const override { if (m_model->size() <= 0 || m_document.isNull()) return false; + if (!prefix.isEmpty()) { + m_model->filter(prefix); + m_model->setPrefilterPrefix(prefix); + } + return m_model->keepPerfectMatch(reason) || !Utils::anyOf(m_model->items(), [this](AssistProposalItemInterface *item){ if (const auto lcItem = dynamic_cast(item))