textDeleteLinesDocument function
TextCommandResult
textDeleteLinesDocument({
- required TextDocument document,
- required TextLineStateSnapshot state,
Implementation
TextCommandResult textDeleteLinesDocument({
required TextDocument document,
required TextLineStateSnapshot state,
}) {
final clampedState = _clampLineStateSnapshotToDocument(state, document);
final span = _selectedLineSpan(clampedState);
final startLine = span.endLine < document.lineCount - 1
? span.startLine
: math.max(0, span.startLine - 1);
final endLine = span.endLine < document.lineCount - 1
? span.endLine + 2
: document.lineCount;
return _documentResultFromWindowedLineCommand(
document: document,
state: clampedState,
startLine: startLine,
endLine: endLine,
apply: (lines, localState) =>
textDeleteLines(lines: lines, state: localState),
);
}