aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/clangcodemodel
diff options
context:
space:
mode:
authorNikolai Kosjar <nikolai.kosjar@qt.io>2019-05-22 10:21:56 +0200
committerNikolai Kosjar <nikolai.kosjar@qt.io>2019-05-23 08:08:30 +0000
commit975173af11da200e94517db7085dea46d2592f26 (patch)
tree1afdd299e6e375035ac312ccd6585a631318b862 /src/plugins/clangcodemodel
parent76d44aea0d4c1c05b9fb9156c6d370f55aa71c54 (diff)
CodeAssist: Ensure perfect match for keywords
...as otherwise the completion windows stays open and gets in the way. Fixes: QTCREATORBUG-21767 Change-Id: Ib0a841b9d9de52109439f067c466478744361814 Reviewed-by: David Schulz <david.schulz@qt.io>
Diffstat (limited to 'src/plugins/clangcodemodel')
-rw-r--r--src/plugins/clangcodemodel/clangassistproposalitem.cpp6
-rw-r--r--src/plugins/clangcodemodel/clangassistproposalitem.h1
2 files changed, 7 insertions, 0 deletions
diff --git a/src/plugins/clangcodemodel/clangassistproposalitem.cpp b/src/plugins/clangcodemodel/clangassistproposalitem.cpp
index 79638b0b98..269298fa1e 100644
--- a/src/plugins/clangcodemodel/clangassistproposalitem.cpp
+++ b/src/plugins/clangcodemodel/clangassistproposalitem.cpp
@@ -489,6 +489,12 @@ QString ClangAssistProposalItem::detail() const
return detail;
}
+bool ClangAssistProposalItem::isKeyword() const
+{
+ // KeywordCompletionKind includes real keywords but also "code patterns"/snippets.
+ return m_codeCompletions[0].completionKind == CodeCompletion::KeywordCompletionKind;
+}
+
bool ClangAssistProposalItem::isSnippet() const
{
return false;
diff --git a/src/plugins/clangcodemodel/clangassistproposalitem.h b/src/plugins/clangcodemodel/clangassistproposalitem.h
index 5867b94fcb..78d37344e9 100644
--- a/src/plugins/clangcodemodel/clangassistproposalitem.h
+++ b/src/plugins/clangcodemodel/clangassistproposalitem.h
@@ -47,6 +47,7 @@ public:
QString text() const final;
QIcon icon() const final;
QString detail() const final;
+ bool isKeyword() const final;
bool isSnippet() const final;
bool isValid() const final;
quint64 hash() const final;