feat: add support code completion via acp

This commit is contained in:
Petr Mironychev
2026-07-22 10:27:33 +02:00
parent 442263a6a7
commit 583b5de14c
34 changed files with 2310 additions and 1414 deletions

View File

@@ -0,0 +1,42 @@
// 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 "IDocumentReader.hpp"
namespace QodeAssist::Context {
class ICompletionEnricher
{
public:
virtual ~ICompletionEnricher() = default;
virtual QString enrichmentFor(
const DocumentInfo &documentInfo,
const QString &prefix,
int line,
int column,
int maxTokens)
= 0;
};
class SemanticContextEnricher : public ICompletionEnricher
{
public:
QString enrichmentFor(
const DocumentInfo &documentInfo,
const QString &prefix,
int line,
int column,
int maxTokens) override;
};
QString clampSectionsToTokenBudget(const QStringList &sections, int maxTokens);
QStringList identifiersNearCursor(const QString &prefix, int maxIdentifiers);
} // namespace QodeAssist::Context