printDiff method

void printDiff()

Print a FileDiff

Implementation

void printDiff() {
  int differences = diffCount.entries.where((e) => e.key != DiffType.same).map((e) => e.value).fold(0, (a, b) => a + b);
  String diffSummary = "${diffType.title} ($differences difference${differences == 1 ? '' : 's'})";

  printToConsole(
    message: "This File: $thisName (${basename(thisFile.path)})",
    color: CliColor.defaultColor,
    style: CliStyle.bold,
    newLine: true,
  );

  printToConsole(
    message: "Other File: $otherName (${basename(otherFile.path)})",
    color: CliColor.defaultColor,
    style: CliStyle.bold,
  );

  printToConsole(
    message: diffSummary,
    color: diffType.color,
    style: CliStyle.bold,
  );

  int insertedCount = min(diffCount[DiffType.insert] ?? 0, 20);
  int deleteCount = min(diffCount[DiffType.delete] ?? 0, 20);
  int modifiedCount = min(diffCount[DiffType.modify] ?? 0, 20);

  printToConsole(
    message:
        "${DiffType.insert.color.color}${'+' * insertedCount}inserted $insertedCount ${CliColor.defaultColor.color} ${DiffType.delete.color.color}${'-' * deleteCount}deleted $deleteCount${CliColor.defaultColor.color} ${DiffType.modify.color.color} ${"*" * modifiedCount}modified $modifiedCount${CliColor.defaultColor.color} \n",
  );
}