textToggleLinePrefixDocument function

TextCommandResult textToggleLinePrefixDocument({
  1. required TextDocument document,
  2. required TextLineStateSnapshot state,
  3. required String prefix,
  4. bool addSpaceWhenNonEmpty = true,
  5. bool skipBlankLinesWhenChecking = true,
})

Implementation

TextCommandResult textToggleLinePrefixDocument({
  required TextDocument document,
  required TextLineStateSnapshot state,
  required String prefix,
  bool addSpaceWhenNonEmpty = true,
  bool skipBlankLinesWhenChecking = true,
}) {
  final clampedState = _clampLineStateSnapshotToDocument(state, document);
  final span = _selectedLineSpan(clampedState);
  return _documentResultFromWindowedLineCommand(
    document: document,
    state: clampedState,
    startLine: span.startLine,
    endLine: span.endLine + 1,
    apply: (lines, localState) => textToggleLinePrefix(
      lines: lines,
      state: localState,
      prefix: prefix,
      addSpaceWhenNonEmpty: addSpaceWhenNonEmpty,
      skipBlankLinesWhenChecking: skipBlankLinesWhenChecking,
    ),
  );
}