You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
1.0 KiB
45 lines
1.0 KiB
1 year ago
|
<?php
|
||
|
|
||
|
declare(strict_types=1);
|
||
|
|
||
|
/*
|
||
|
* This file is part of PHP CS Fixer.
|
||
|
*
|
||
|
* (c) Fabien Potencier <fabien@symfony.com>
|
||
|
* Dariusz Rumiński <dariusz.ruminski@gmail.com>
|
||
|
*
|
||
|
* This source file is subject to the MIT license that is bundled
|
||
|
* with this source code in the file LICENSE.
|
||
|
*/
|
||
|
|
||
|
namespace PhpCsFixer\Differ;
|
||
|
|
||
|
use SebastianBergmann\Diff\Differ;
|
||
|
use SebastianBergmann\Diff\Output\StrictUnifiedDiffOutputBuilder;
|
||
|
|
||
|
/**
|
||
|
* @author Dariusz Rumiński <dariusz.ruminski@gmail.com>
|
||
|
*
|
||
|
* @internal
|
||
|
*/
|
||
|
final class FullDiffer implements DifferInterface
|
||
|
{
|
||
|
private Differ $differ;
|
||
|
|
||
|
public function __construct()
|
||
|
{
|
||
|
$this->differ = new Differ(new StrictUnifiedDiffOutputBuilder([
|
||
|
'collapseRanges' => false,
|
||
|
'commonLineThreshold' => 100,
|
||
|
'contextLines' => 100,
|
||
|
'fromFile' => 'Original',
|
||
|
'toFile' => 'New',
|
||
|
]));
|
||
|
}
|
||
|
|
||
|
public function diff(string $old, string $new, ?\SplFileInfo $file = null): string
|
||
|
{
|
||
|
return $this->differ->diff($old, $new);
|
||
|
}
|
||
|
}
|