LanguageClient: move completion rerequest logic

...from the code assistant to the language client specific assist
implementation. This further reduces the complexity of the code
assistant.

Change-Id: I08ba5eecea826d3ccfe7f1f5a8791a085299d6ef
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
David Schulz
2022-11-17 14:53:47 +01:00
parent 8ff969d149
commit 0bd6d7a69f
14 changed files with 181 additions and 139 deletions

View File

@@ -81,7 +81,9 @@ private:
class ClangdCompletionAssistProcessor : public LanguageClientCompletionAssistProcessor
{
public:
ClangdCompletionAssistProcessor(ClangdClient *client, const QString &snippetsGroup);
ClangdCompletionAssistProcessor(ClangdClient *client,
const IAssistProvider *provider,
const QString &snippetsGroup);
~ClangdCompletionAssistProcessor();
private:
@@ -164,7 +166,7 @@ IAssistProcessor *ClangdCompletionAssistProvider::createProcessor(
: QString();
qCDebug(clangdLogCompletion) << "creating proper completion processor"
<< (snippetsGroup.isEmpty() ? "without" : "with") << "snippets";
return new ClangdCompletionAssistProcessor(m_client, snippetsGroup);
return new ClangdCompletionAssistProcessor(m_client, this, snippetsGroup);
}
bool ClangdCompletionAssistProvider::isActivationCharSequence(const QString &sequence) const
@@ -554,8 +556,9 @@ QList<AssistProposalItemInterface *> CustomAssistProcessor::completeIncludePath(
}
ClangdCompletionAssistProcessor::ClangdCompletionAssistProcessor(ClangdClient *client,
const IAssistProvider *provider,
const QString &snippetsGroup)
: LanguageClientCompletionAssistProcessor(client, snippetsGroup)
: LanguageClientCompletionAssistProcessor(client, provider, snippetsGroup)
, m_client(client)
{
m_timer.start();