mirror of
https://github.com/Palm1r/QodeAssist.git
synced 2026-07-24 04:01:04 -04:00
62 lines
1.6 KiB
C++
62 lines
1.6 KiB
C++
// Copyright (C) 2026 Petr Mironychev
|
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
// Additional attribution terms under GPLv3 §7(b) apply — see LICENSE
|
|
|
|
#pragma once
|
|
|
|
#include <QString>
|
|
#include <QStringList>
|
|
|
|
#include "context/IDocumentReader.hpp"
|
|
#include "logger/IRequestPerformanceLogger.hpp"
|
|
#include "providers/IProviderRegistry.hpp"
|
|
#include "providers/Provider.hpp"
|
|
|
|
QT_BEGIN_NAMESPACE
|
|
class QTextDocument;
|
|
QT_END_NAMESPACE
|
|
|
|
namespace QodeAssist {
|
|
|
|
class FakeCompletionRegistry : public Providers::IProviderRegistry
|
|
{
|
|
public:
|
|
explicit FakeCompletionRegistry(Providers::Provider *provider)
|
|
: m_provider(provider)
|
|
{}
|
|
|
|
Providers::Provider *getProviderByName(const QString &) override { return m_provider; }
|
|
QStringList providersNames() const override
|
|
{
|
|
return m_provider ? QStringList{m_provider->name()} : QStringList{};
|
|
}
|
|
|
|
void setProvider(Providers::Provider *provider) { m_provider = provider; }
|
|
|
|
private:
|
|
Providers::Provider *m_provider = nullptr;
|
|
};
|
|
|
|
class FakeCompletionDocumentReader : public Context::IDocumentReader
|
|
{
|
|
public:
|
|
Context::DocumentInfo readDocument(const QString &path) const override
|
|
{
|
|
if (!document)
|
|
return {};
|
|
return {document, QStringLiteral("text/x-c++src"), path};
|
|
}
|
|
|
|
QTextDocument *document = nullptr;
|
|
};
|
|
|
|
class FakePerformanceLogger : public IRequestPerformanceLogger
|
|
{
|
|
public:
|
|
void startTimeMeasurement(const QString &) override {}
|
|
void endTimeMeasurement(const QString &) override {}
|
|
void logPerformance(const QString &, qint64) override {}
|
|
};
|
|
|
|
} // namespace QodeAssist
|