mirror of
https://github.com/Palm1r/QodeAssist.git
synced 2025-05-28 03:10:28 -04:00
refactor: Don't use global state in ContextManager::isSpecifyCompletion (#112)
Using global state makes testing things way harder.
This commit is contained in:
parent
3aae923d43
commit
44b3b0cc0c
@ -161,7 +161,7 @@ void LLMClientInterface::handleCompletion(const QJsonObject &request)
|
|||||||
auto &completeSettings = Settings::codeCompletionSettings();
|
auto &completeSettings = Settings::codeCompletionSettings();
|
||||||
auto &generalSettings = Settings::generalSettings();
|
auto &generalSettings = Settings::generalSettings();
|
||||||
|
|
||||||
bool isPreset1Active = Context::ContextManager::instance().isSpecifyCompletion(request);
|
bool isPreset1Active = Context::ContextManager::isSpecifyCompletion(request, generalSettings);
|
||||||
|
|
||||||
const auto providerName = !isPreset1Active ? generalSettings.ccProvider()
|
const auto providerName = !isPreset1Active ? generalSettings.ccProvider()
|
||||||
: generalSettings.ccPreset1Provider();
|
: generalSettings.ccPreset1Provider();
|
||||||
@ -280,10 +280,11 @@ LLMCore::ContextData LLMClientInterface::prepareContext(
|
|||||||
void LLMClientInterface::sendCompletionToClient(
|
void LLMClientInterface::sendCompletionToClient(
|
||||||
const QString &completion, const QJsonObject &request, bool isComplete)
|
const QString &completion, const QJsonObject &request, bool isComplete)
|
||||||
{
|
{
|
||||||
bool isPreset1Active = Context::ContextManager::instance().isSpecifyCompletion(request);
|
auto &generalSettings = Settings::generalSettings();
|
||||||
|
bool isPreset1Active = Context::ContextManager::isSpecifyCompletion(request, generalSettings);
|
||||||
|
|
||||||
auto templateName = !isPreset1Active ? Settings::generalSettings().ccTemplate()
|
auto templateName = !isPreset1Active ? generalSettings.ccTemplate()
|
||||||
: Settings::generalSettings().ccPreset1Template();
|
: generalSettings.ccPreset1Template();
|
||||||
|
|
||||||
auto promptTemplate = LLMCore::PromptTemplateManager::instance().getFimTemplateByName(
|
auto promptTemplate = LLMCore::PromptTemplateManager::instance().getFimTemplateByName(
|
||||||
templateName);
|
templateName);
|
||||||
|
@ -70,7 +70,7 @@ ContentFile ContextManager::createContentFile(const QString &filePath) const
|
|||||||
return contentFile;
|
return contentFile;
|
||||||
}
|
}
|
||||||
|
|
||||||
ProgrammingLanguage ContextManager::getDocumentLanguage(const QJsonObject &request) const
|
ProgrammingLanguage ContextManager::getDocumentLanguage(const QJsonObject &request)
|
||||||
{
|
{
|
||||||
QJsonObject params = request["params"].toObject();
|
QJsonObject params = request["params"].toObject();
|
||||||
QJsonObject doc = params["doc"].toObject();
|
QJsonObject doc = params["doc"].toObject();
|
||||||
@ -88,10 +88,9 @@ ProgrammingLanguage ContextManager::getDocumentLanguage(const QJsonObject &reque
|
|||||||
return Context::ProgrammingLanguageUtils::fromMimeType(textDocument->mimeType());
|
return Context::ProgrammingLanguageUtils::fromMimeType(textDocument->mimeType());
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ContextManager::isSpecifyCompletion(const QJsonObject &request)
|
bool ContextManager::isSpecifyCompletion(
|
||||||
|
const QJsonObject &request, const Settings::GeneralSettings &generalSettings)
|
||||||
{
|
{
|
||||||
auto &generalSettings = Settings::generalSettings();
|
|
||||||
|
|
||||||
Context::ProgrammingLanguage documentLanguage = getDocumentLanguage(request);
|
Context::ProgrammingLanguage documentLanguage = getDocumentLanguage(request);
|
||||||
Context::ProgrammingLanguage preset1Language = Context::ProgrammingLanguageUtils::fromString(
|
Context::ProgrammingLanguage preset1Language = Context::ProgrammingLanguageUtils::fromString(
|
||||||
generalSettings.preset1Language.displayForIndex(generalSettings.preset1Language()));
|
generalSettings.preset1Language.displayForIndex(generalSettings.preset1Language()));
|
||||||
|
@ -24,6 +24,7 @@
|
|||||||
|
|
||||||
#include "ContentFile.hpp"
|
#include "ContentFile.hpp"
|
||||||
#include "ProgrammingLanguage.hpp"
|
#include "ProgrammingLanguage.hpp"
|
||||||
|
#include "settings/GeneralSettings.hpp"
|
||||||
|
|
||||||
namespace QodeAssist::Context {
|
namespace QodeAssist::Context {
|
||||||
|
|
||||||
@ -35,8 +36,10 @@ public:
|
|||||||
static ContextManager &instance();
|
static ContextManager &instance();
|
||||||
QString readFile(const QString &filePath) const;
|
QString readFile(const QString &filePath) const;
|
||||||
QList<ContentFile> getContentFiles(const QStringList &filePaths) const;
|
QList<ContentFile> getContentFiles(const QStringList &filePaths) const;
|
||||||
ProgrammingLanguage getDocumentLanguage(const QJsonObject &request) const;
|
|
||||||
bool isSpecifyCompletion(const QJsonObject &request);
|
static ProgrammingLanguage getDocumentLanguage(const QJsonObject &request);
|
||||||
|
static bool isSpecifyCompletion(
|
||||||
|
const QJsonObject &request, const Settings::GeneralSettings &generalSettings);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
explicit ContextManager(QObject *parent = nullptr);
|
explicit ContextManager(QObject *parent = nullptr);
|
||||||
|
Loading…
Reference in New Issue
Block a user