CppTools: Extract base class CppCompletionAssistProcessor

As as side effect, this also brings some more pragma completions for the
builtin-in completion engine, e.g. "pragma once" or "pragma omp atomic".

Change-Id: If3ef22076c331c653b78a87cfff836c1da38c8fb
Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
This commit is contained in:
Nikolai Kosjar
2015-01-16 10:48:09 +01:00
parent 6d22df7d3f
commit df1bbb07d1
8 changed files with 151 additions and 70 deletions

View File

@@ -560,37 +560,7 @@ ClangCompletionAssistInterface::ClangCompletionAssistInterface(ClangCompleter::P
}
ClangCompletionAssistProcessor::ClangCompletionAssistProcessor()
: m_preprocessorCompletions(QStringList()
<< QLatin1String("define")
<< QLatin1String("error")
<< QLatin1String("include")
<< QLatin1String("line")
<< QLatin1String("pragma")
<< QLatin1String("pragma once")
<< QLatin1String("pragma omp atomic")
<< QLatin1String("pragma omp parallel")
<< QLatin1String("pragma omp for")
<< QLatin1String("pragma omp ordered")
<< QLatin1String("pragma omp parallel for")
<< QLatin1String("pragma omp section")
<< QLatin1String("pragma omp sections")
<< QLatin1String("pragma omp parallel sections")
<< QLatin1String("pragma omp single")
<< QLatin1String("pragma omp master")
<< QLatin1String("pragma omp critical")
<< QLatin1String("pragma omp barrier")
<< QLatin1String("pragma omp flush")
<< QLatin1String("pragma omp threadprivate")
<< QLatin1String("undef")
<< QLatin1String("if")
<< QLatin1String("ifdef")
<< QLatin1String("ifndef")
<< QLatin1String("elif")
<< QLatin1String("else")
<< QLatin1String("endif"))
, m_model(new ClangAssistProposalModel)
, m_hintProposal(0)
: m_model(new ClangAssistProposalModel)
{
}

View File

@@ -35,13 +35,13 @@
#include <cplusplus/Icons.h>
#include <cpptools/cppcompletionassistprocessor.h>
#include <cpptools/cppcompletionassistprovider.h>
#include <cpptools/cppmodelmanager.h>
#include <texteditor/codeassist/assistproposalitem.h>
#include <texteditor/codeassist/completionassistprovider.h>
#include <texteditor/codeassist/assistinterface.h>
#include <texteditor/codeassist/iassistprocessor.h>
#include <QStringList>
#include <QTextCursor>
@@ -102,7 +102,7 @@ private:
Internal::PchInfo::Ptr m_savedPchPointer;
};
class CLANG_EXPORT ClangCompletionAssistProcessor : public TextEditor::IAssistProcessor
class CLANG_EXPORT ClangCompletionAssistProcessor : public CppTools::CppCompletionAssistProcessor
{
Q_DECLARE_TR_FUNCTIONS(ClangCodeModel::Internal::ClangCompletionAssistProcessor)
@@ -132,13 +132,8 @@ private:
const QVariant &data = QVariant());
private:
int m_startPosition;
QScopedPointer<const ClangCompletionAssistInterface> m_interface;
QList<TextEditor::AssistProposalItem *> m_completions;
CPlusPlus::Icons m_icons;
QStringList m_preprocessorCompletions;
QScopedPointer<Internal::ClangAssistProposalModel> m_model;
TextEditor::IAssistProposal *m_hintProposal;
};
} // namespace Clang