Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. UnifiedDiffOutputBuilder.php

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\Output

Code

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]);
        }
    }
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal