refactor: Reuse getContext{Before,After}() instead of duplicating logic (#95)

getContextAfter(int lineNumber, int cursorPosition) and
getContextBefore(int lineNumber, int cursorPosition) are currently not
tested. Thus as little logic as possible should live there.
This commit is contained in:
Povilas Kanapickas 2025-03-05 20:43:51 +02:00 committed by GitHub
parent 3dc0d910bf
commit e218699e64
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -264,14 +264,8 @@ QString DocumentContextReader::getContextBefore(int lineNumber, int cursorPositi
if (Settings::codeCompletionSettings().readFullFile()) { if (Settings::codeCompletionSettings().readFullFile()) {
return readWholeFileBefore(lineNumber, cursorPosition); return readWholeFileBefore(lineNumber, cursorPosition);
} else { } else {
int effectiveStartLine; int linesCount = Settings::codeCompletionSettings().readStringsBeforeCursor();
int beforeCursor = Settings::codeCompletionSettings().readStringsBeforeCursor(); return getContextBefore(lineNumber, cursorPosition, linesCount);
if (m_copyrightInfo.found) {
effectiveStartLine = qMax(m_copyrightInfo.endLine + 1, lineNumber - beforeCursor);
} else {
effectiveStartLine = qMax(0, lineNumber - beforeCursor);
}
return getContextBetween(effectiveStartLine, -1, lineNumber, cursorPosition);
} }
} }
@ -280,10 +274,8 @@ QString DocumentContextReader::getContextAfter(int lineNumber, int cursorPositio
if (Settings::codeCompletionSettings().readFullFile()) { if (Settings::codeCompletionSettings().readFullFile()) {
return readWholeFileAfter(lineNumber, cursorPosition); return readWholeFileAfter(lineNumber, cursorPosition);
} else { } else {
int endLine = qMin( int linesCount = Settings::codeCompletionSettings().readStringsAfterCursor();
m_document->blockCount() - 1, return getContextAfter(lineNumber, cursorPosition, linesCount);
lineNumber + Settings::codeCompletionSettings().readStringsAfterCursor());
return getContextBetween(lineNumber, cursorPosition, endLine, -1);
} }
} }