mirror of
https://github.com/Palm1r/QodeAssist.git
synced 2025-05-28 03:10:28 -04:00
refactor: Pass LLMClientInterface to QodeAssistClient (#122)
Contructing LLMClientInterface in constructor of QodeAssistClient when initializing base class severely limits what can be done. In particular, no members can be referred to, because nothing of the class instance itself has been initialized at that point of time.
This commit is contained in:
parent
6b86637dcb
commit
3839d6896c
@ -44,13 +44,8 @@ using namespace Core;
|
|||||||
|
|
||||||
namespace QodeAssist {
|
namespace QodeAssist {
|
||||||
|
|
||||||
QodeAssistClient::QodeAssistClient(
|
QodeAssistClient::QodeAssistClient(LLMClientInterface *clientInterface)
|
||||||
LLMCore::IProviderRegistry &providerRegistry, LLMCore::IPromptProvider *promptProvider)
|
: LanguageClient::Client(clientInterface)
|
||||||
: LanguageClient::Client(new LLMClientInterface(
|
|
||||||
Settings::generalSettings(),
|
|
||||||
Settings::codeCompletionSettings(),
|
|
||||||
providerRegistry,
|
|
||||||
promptProvider))
|
|
||||||
, m_recentCharCount(0)
|
, m_recentCharCount(0)
|
||||||
{
|
{
|
||||||
setName("Qode Assist");
|
setName("Qode Assist");
|
||||||
|
@ -24,6 +24,7 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
#include "LLMClientInterface.hpp"
|
||||||
#include "LSPCompletion.hpp"
|
#include "LSPCompletion.hpp"
|
||||||
#include <languageclient/client.h>
|
#include <languageclient/client.h>
|
||||||
#include <llmcore/IPromptProvider.hpp>
|
#include <llmcore/IPromptProvider.hpp>
|
||||||
@ -34,8 +35,7 @@ namespace QodeAssist {
|
|||||||
class QodeAssistClient : public LanguageClient::Client
|
class QodeAssistClient : public LanguageClient::Client
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
explicit QodeAssistClient(
|
explicit QodeAssistClient(LLMClientInterface *clientInterface);
|
||||||
LLMCore::IProviderRegistry &providerRegistry, LLMCore::IPromptProvider *promptProvider);
|
|
||||||
~QodeAssistClient() override;
|
~QodeAssistClient() override;
|
||||||
|
|
||||||
void openDocument(TextEditor::TextDocument *document) override;
|
void openDocument(TextEditor::TextDocument *document) override;
|
||||||
|
@ -138,8 +138,11 @@ public:
|
|||||||
void restartClient()
|
void restartClient()
|
||||||
{
|
{
|
||||||
LanguageClient::LanguageClientManager::shutdownClient(m_qodeAssistClient);
|
LanguageClient::LanguageClientManager::shutdownClient(m_qodeAssistClient);
|
||||||
m_qodeAssistClient
|
m_qodeAssistClient = new QodeAssistClient(new LLMClientInterface(
|
||||||
= new QodeAssistClient(LLMCore::ProvidersManager::instance(), &m_promptProvider);
|
Settings::generalSettings(),
|
||||||
|
Settings::codeCompletionSettings(),
|
||||||
|
LLMCore::ProvidersManager::instance(),
|
||||||
|
&m_promptProvider));
|
||||||
}
|
}
|
||||||
|
|
||||||
bool delayedInitialize() final
|
bool delayedInitialize() final
|
||||||
|
Loading…
Reference in New Issue
Block a user