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.
44 lines
1.0 KiB
44 lines
1.0 KiB
<?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); |
|
} |
|
}
|
|
|