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

Breadcrumb

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

function AbstractChunkOutputBuilder::getCommonChunks

Takes input of the diff array and returns the common parts. Iterates through diff line by line.

File

vendor/sebastian/diff/src/Output/AbstractChunkOutputBuilder.php, line 20

Class

AbstractChunkOutputBuilder

Namespace

SebastianBergmann\Diff\Output

Code

protected function getCommonChunks(array $diff, int $lineThreshold = 5) : array {
    $diffSize = count($diff);
    $capturing = false;
    $chunkStart = 0;
    $chunkSize = 0;
    $commonChunks = [];
    for ($i = 0; $i < $diffSize; $i++) {
        if ($diff[$i][1] === 0) {
            if ($capturing === false) {
                $capturing = true;
                $chunkStart = $i;
                $chunkSize = 0;
            }
            else {
                $chunkSize++;
            }
        }
        elseif ($capturing !== false) {
            if ($chunkSize >= $lineThreshold) {
                $commonChunks[$chunkStart] = $chunkStart + $chunkSize;
            }
            $capturing = false;
        }
    }
    if ($capturing !== false && $chunkSize >= $lineThreshold) {
        $commonChunks[$chunkStart] = $chunkStart + $chunkSize;
    }
    return $commonChunks;
}

API Navigation

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