aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorLeandro Melo <[email protected]>2011-05-18 14:08:19 +0200
committerLeandro Melo <[email protected]>2011-05-18 16:33:39 +0200
commit0dc449944d379cdc4ebaa0930ab316bccd0ebd5c (patch)
tree575dcb46d468d6a7372fe71ca4da76da8b2cb7ac /src
parent21cfa5c6ccd001349e1593e7ee9ebfb54219a9d6 (diff)
c++ editor: Fix automatic completion for includes
Reviewed-by: Roberto Raggi
Diffstat (limited to 'src')
-rw-r--r--src/plugins/cpptools/cppcompletionassist.cpp16
1 files changed, 15 insertions, 1 deletions
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;
+ }
+ }
}
}
}