diff --git a/kate/ollie_ghost.cpp b/kate/ollie_ghost.cpp index 128c62f..8c0ab56 100644 --- a/kate/ollie_ghost.cpp +++ b/kate/ollie_ghost.cpp @@ -371,6 +371,11 @@ void OllieGhostProvider::requestCompletion() process->closeWriteChannel(); } +// === Completion post-processing helpers (mirrors agent/complete.go) === + +static QString stripCompletionNoise(const QString &s); +static QString stripPrefixEcho(const QString &result, const QString &prefix = QString()); + void OllieGhostProvider::onCompletionReply(const QString &result) { if (result.trimmed().isEmpty()) @@ -530,8 +535,10 @@ static QString stripCompletionNoise(const QString &s) return filtered.join('\n'); } -static QString stripPrefixEcho(const QString &prefix, const QString &result) +static QString stripPrefixEcho(const QString &result, const QString &prefix) { + if (prefix.isEmpty()) + return result; int tailMax = 200; if (prefix.size() < tailMax) tailMax = prefix.size();