diff --git a/src/plugins/languageclient/languageclientcompletionassist.cpp b/src/plugins/languageclient/languageclientcompletionassist.cpp index 0b1388a3480..2a1ff2c0949 100644 --- a/src/plugins/languageclient/languageclientcompletionassist.cpp +++ b/src/plugins/languageclient/languageclientcompletionassist.cpp @@ -34,7 +34,6 @@ #include #include #include -#include #include #include #include @@ -322,36 +321,6 @@ public: }; -class LanguageClientCompletionAssistProcessor final : public IAssistProcessor -{ -public: - LanguageClientCompletionAssistProcessor(Client *client, - const CompletionItemsTransformer &itemsTransformer, - const CompletionApplyHelper &applyHelper, - const ProposalHandler &proposalHandler, - const QString &snippetsGroup); - ~LanguageClientCompletionAssistProcessor() override; - IAssistProposal *perform(const AssistInterface *interface) override; - bool running() override; - bool needsRestart() const override { return true; } - void cancel() override; - -private: - void handleCompletionResponse(const CompletionRequest::Response &response); - - QPointer m_document; - Utils::FilePath m_filePath; - QPointer m_client; - Utils::optional m_currentRequest; - QMetaObject::Connection m_postponedUpdateConnection; - const CompletionItemsTransformer m_itemsTransformer; - const CompletionApplyHelper m_applyHelper; - const ProposalHandler m_proposalHandler; - const QString m_snippetsGroup; - int m_pos = -1; - int m_basePos = -1; -}; - LanguageClientCompletionAssistProcessor::LanguageClientCompletionAssistProcessor(Client *client, const CompletionItemsTransformer &itemsTransformer, const CompletionApplyHelper &applyHelper, const ProposalHandler &proposalHandler, const QString &snippetsGroup) diff --git a/src/plugins/languageclient/languageclientcompletionassist.h b/src/plugins/languageclient/languageclientcompletionassist.h index 9d0869c2b00..6beb20042ed 100644 --- a/src/plugins/languageclient/languageclientcompletionassist.h +++ b/src/plugins/languageclient/languageclientcompletionassist.h @@ -25,8 +25,11 @@ #pragma once +#include "languageclient_global.h" + #include #include +#include #include @@ -49,7 +52,8 @@ using CompletionApplyHelper = std::function; using ProposalHandler = std::function; -class LanguageClientCompletionAssistProvider : public TextEditor::CompletionAssistProvider +class LANGUAGECLIENT_EXPORT LanguageClientCompletionAssistProvider + : public TextEditor::CompletionAssistProvider { Q_OBJECT @@ -80,4 +84,35 @@ private: Client *m_client = nullptr; // not owned }; +class LANGUAGECLIENT_EXPORT LanguageClientCompletionAssistProcessor + : public TextEditor::IAssistProcessor +{ +public: + LanguageClientCompletionAssistProcessor(Client *client, + const CompletionItemsTransformer &itemsTransformer, + const CompletionApplyHelper &applyHelper, + const ProposalHandler &proposalHandler, + const QString &snippetsGroup); + ~LanguageClientCompletionAssistProcessor() override; + TextEditor::IAssistProposal *perform(const TextEditor::AssistInterface *interface) override; + bool running() override; + bool needsRestart() const override { return true; } + void cancel() override; + +private: + void handleCompletionResponse(const LanguageServerProtocol::CompletionRequest::Response &response); + + QPointer m_document; + Utils::FilePath m_filePath; + QPointer m_client; + Utils::optional m_currentRequest; + QMetaObject::Connection m_postponedUpdateConnection; + const CompletionItemsTransformer m_itemsTransformer; + const CompletionApplyHelper m_applyHelper; + const ProposalHandler m_proposalHandler; + const QString m_snippetsGroup; + int m_pos = -1; + int m_basePos = -1; +}; + } // namespace LanguageClient