planTextPaste function

TextPastePlan planTextPaste(
  1. String content, {
  2. required bool collapseLargePaste,
  3. required int collapsedPasteMinChars,
  4. required int collapsedPasteMinLines,
  5. required int chunkThresholdRunes,
})

Implementation

TextPastePlan planTextPaste(
  String content, {
  required bool collapseLargePaste,
  required int collapsedPasteMinChars,
  required int collapsedPasteMinLines,
  required int chunkThresholdRunes,
}) {
  final lineCount = textCountLines(content);
  final runeCount = uni.codePoints(content).length;
  final shouldCollapse =
      collapseLargePaste &&
      (content.length >= collapsedPasteMinChars ||
          lineCount >= collapsedPasteMinLines);

  return TextPastePlan(
    mode: shouldCollapse
        ? TextPasteMode.collapsed
        : runeCount >= chunkThresholdRunes
        ? TextPasteMode.chunked
        : TextPasteMode.inline,
    lineCount: lineCount,
    runeCount: runeCount,
  );
}