diff options
Diffstat (limited to 'src/plugins/clangcodemodel/clangcompletionassistprocessor.h')
-rw-r--r-- | src/plugins/clangcodemodel/clangcompletionassistprocessor.h | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/src/plugins/clangcodemodel/clangcompletionassistprocessor.h b/src/plugins/clangcodemodel/clangcompletionassistprocessor.h index f712246406f..c76987c8f04 100644 --- a/src/plugins/clangcodemodel/clangcompletionassistprocessor.h +++ b/src/plugins/clangcodemodel/clangcompletionassistprocessor.h @@ -34,20 +34,16 @@ #include "clangcompletionassistinterface.h" #include <cpptools/cppcompletionassistprocessor.h> - #include <texteditor/texteditor.h> -#include <QCoreApplication> +#include <clangbackendipc/codecompletion.h> -namespace ClangBackEnd { -class CodeCompletion; -} +#include <QCoreApplication> namespace ClangCodeModel { namespace Internal { -using CodeCompletions = QVector<ClangBackEnd::CodeCompletion>; -using ClangBackEnd::CodeCompletion; +using ClangBackEnd::CodeCompletions; class ClangCompletionAssistProcessor : public CppTools::CppCompletionAssistProcessor { @@ -59,7 +55,7 @@ public: TextEditor::IAssistProposal *perform(const TextEditor::AssistInterface *interface) override; - void asyncCompletionsAvailable(const CodeCompletions &completions); + bool handleAvailableAsyncCompletions(const CodeCompletions &completions); const TextEditor::TextEditorWidget *textEditorWidget() const; @@ -81,11 +77,17 @@ private: int order = 0, const QVariant &data = QVariant()); - void sendFileContent(const QString &projectFilePath, const QByteArray &modifiedFileContent); - void sendCompletionRequest(int position, const QByteArray &modifiedFileContent); + struct UnsavedFileContentInfo { + QByteArray unsavedContent; + bool isDocumentModified = false; + }; + UnsavedFileContentInfo unsavedFileContent(const QByteArray &customFileContent) const; + + void sendFileContent(const QString &projectPartId, const QByteArray &customFileContent); + void sendCompletionRequest(int position, const QByteArray &customFileContent); - void onCompletionsAvailable(const CodeCompletions &completions); - void onFunctionHintCompletionsAvailable(const CodeCompletions &completions); + void handleAvailableCompletions(const CodeCompletions &completions); + bool handleAvailableFunctionHintCompletions(const CodeCompletions &completions); private: QScopedPointer<const ClangCompletionAssistInterface> m_interface; |