mirror of
https://github.com/Palm1r/QodeAssist.git
synced 2025-07-18 21:14:34 -04:00
refactor: Make DocumentContextReader::prepareContext() testable (#96)
This commit is contained in:
committed by
GitHub
parent
e218699e64
commit
69a8aa80d9
@ -244,39 +244,29 @@ CopyrightInfo DocumentContextReader::copyrightInfo() const
|
||||
return m_copyrightInfo;
|
||||
}
|
||||
|
||||
LLMCore::ContextData DocumentContextReader::prepareContext(int lineNumber, int cursorPosition) const
|
||||
LLMCore::ContextData DocumentContextReader::prepareContext(
|
||||
int lineNumber, int cursorPosition, const Settings::CodeCompletionSettings &settings) const
|
||||
{
|
||||
QString contextBefore = getContextBefore(lineNumber, cursorPosition);
|
||||
QString contextAfter = getContextAfter(lineNumber, cursorPosition);
|
||||
QString contextBefore;
|
||||
QString contextAfter;
|
||||
if (settings.readFullFile()) {
|
||||
contextBefore = readWholeFileBefore(lineNumber, cursorPosition);
|
||||
contextAfter = readWholeFileAfter(lineNumber, cursorPosition);
|
||||
} else {
|
||||
contextBefore
|
||||
= getContextBefore(lineNumber, cursorPosition, settings.readStringsBeforeCursor());
|
||||
contextAfter
|
||||
= getContextAfter(lineNumber, cursorPosition, settings.readStringsAfterCursor());
|
||||
}
|
||||
|
||||
QString fileContext;
|
||||
fileContext.append("\n ").append(getLanguageAndFileInfo());
|
||||
|
||||
if (Settings::codeCompletionSettings().useProjectChangesCache())
|
||||
if (settings.useProjectChangesCache())
|
||||
fileContext.append("\n ").append(
|
||||
ChangesManager::instance().getRecentChangesContext(m_textDocument));
|
||||
|
||||
return {.prefix = contextBefore, .suffix = contextAfter, .fileContext = fileContext};
|
||||
}
|
||||
|
||||
QString DocumentContextReader::getContextBefore(int lineNumber, int cursorPosition) const
|
||||
{
|
||||
if (Settings::codeCompletionSettings().readFullFile()) {
|
||||
return readWholeFileBefore(lineNumber, cursorPosition);
|
||||
} else {
|
||||
int linesCount = Settings::codeCompletionSettings().readStringsBeforeCursor();
|
||||
return getContextBefore(lineNumber, cursorPosition, linesCount);
|
||||
}
|
||||
}
|
||||
|
||||
QString DocumentContextReader::getContextAfter(int lineNumber, int cursorPosition) const
|
||||
{
|
||||
if (Settings::codeCompletionSettings().readFullFile()) {
|
||||
return readWholeFileAfter(lineNumber, cursorPosition);
|
||||
} else {
|
||||
int linesCount = Settings::codeCompletionSettings().readStringsAfterCursor();
|
||||
return getContextAfter(lineNumber, cursorPosition, linesCount);
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace QodeAssist::Context
|
||||
|
@ -23,6 +23,7 @@
|
||||
#include <QTextDocument>
|
||||
|
||||
#include <llmcore/ContextData.hpp>
|
||||
#include <settings/CodeCompletionSettings.hpp>
|
||||
|
||||
namespace QodeAssist::Context {
|
||||
|
||||
@ -72,11 +73,8 @@ public:
|
||||
|
||||
CopyrightInfo copyrightInfo() const;
|
||||
|
||||
LLMCore::ContextData prepareContext(int lineNumber, int cursorPosition) const;
|
||||
|
||||
private:
|
||||
QString getContextBefore(int lineNumber, int cursorPosition) const;
|
||||
QString getContextAfter(int lineNumber, int cursorPosition) const;
|
||||
LLMCore::ContextData prepareContext(
|
||||
int lineNumber, int cursorPosition, const Settings::CodeCompletionSettings &settings) const;
|
||||
|
||||
private:
|
||||
TextEditor::TextDocument *m_textDocument;
|
||||
|
Reference in New Issue
Block a user