From 0dc449944d379cdc4ebaa0930ab316bccd0ebd5c Mon Sep 17 00:00:00 2001 From: Leandro Melo <leandro.melo@nokia.com> Date: Wed, 18 May 2011 14:08:19 +0200 Subject: [PATCH] c++ editor: Fix automatic completion for includes Reviewed-by: Roberto Raggi --- src/plugins/cpptools/cppcompletionassist.cpp | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/plugins/cpptools/cppcompletionassist.cpp b/src/plugins/cpptools/cppcompletionassist.cpp index b4c6da6c1f8..4eac92047d6 100644 --- a/src/plugins/cpptools/cppcompletionassist.cpp +++ b/src/plugins/cpptools/cppcompletionassist.cpp @@ -748,8 +748,22 @@ bool CppCompletionAssistProcessor::accepts() const const int tokenIdx = SimpleLexer::tokenBefore(tokens, qMax(0, tc.positionInBlock() - 1)); const Token tk = (tokenIdx == -1) ? Token() : tokens.at(tokenIdx); - if (!tk.isComment() && !tk.isLiteral()) + if (!tk.isComment() && !tk.isLiteral()) { return true; + } else if (tk.isLiteral() + && tokens.size() == 3 + && tokens.at(0).kind() == T_POUND + && tokens.at(1).kind() == T_IDENTIFIER) { + const QString &line = tc.block().text(); + const Token &idToken = tokens.at(1); + const QStringRef &identifier = + line.midRef(idToken.begin(), idToken.end() - idToken.begin()); + if (identifier == QLatin1String("include") + || identifier == QLatin1String("include_next") + || (m_objcEnabled && identifier == QLatin1String("import"))) { + return true; + } + } } } } -- GitLab