function UnifiedDiffOutputBuilder::writeHunk
1 call to UnifiedDiffOutputBuilder::writeHunk()
- UnifiedDiffOutputBuilder::writeDiffHunks in vendor/
sebastian/ diff/ src/ Output/ UnifiedDiffOutputBuilder.php
File
-
vendor/
sebastian/ diff/ src/ Output/ UnifiedDiffOutputBuilder.php, line 215
Class
- UnifiedDiffOutputBuilder
- Builds a diff string representation in unified diff format in chunks.
Namespace
SebastianBergmann\Diff\OutputCode
private function writeHunk(array $diff, int $diffStartIndex, int $diffEndIndex, int $fromStart, int $fromRange, int $toStart, int $toRange, $output) : void {
if ($this->addLineNumbers) {
fwrite($output, '@@ -' . $fromStart);
if (!$this->collapseRanges || 1 !== $fromRange) {
fwrite($output, ',' . $fromRange);
}
fwrite($output, ' +' . $toStart);
if (!$this->collapseRanges || 1 !== $toRange) {
fwrite($output, ',' . $toRange);
}
fwrite($output, " @@\n");
}
else {
fwrite($output, "@@ @@\n");
}
for ($i = $diffStartIndex; $i < $diffEndIndex; $i++) {
if ($diff[$i][1] === Differ::ADDED) {
fwrite($output, '+' . $diff[$i][0]);
}
elseif ($diff[$i][1] === Differ::REMOVED) {
fwrite($output, '-' . $diff[$i][0]);
}
elseif ($diff[$i][1] === Differ::OLD) {
fwrite($output, ' ' . $diff[$i][0]);
}
elseif ($diff[$i][1] === Differ::NO_LINE_END_EOF_WARNING) {
fwrite($output, "\n");
// $diff[$i][0]
}
else {
/* Not changed (old) Differ::OLD or Warning Differ::DIFF_LINE_END_WARNING */
fwrite($output, ' ' . $diff[$i][0]);
}
}
}