Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 2 additions & 9 deletions packages/fractor-doc-generator/src/Differ/DifferFactory.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,20 +4,13 @@

namespace a9f\FractorDocGenerator\Differ;

use ReflectionProperty;
use SebastianBergmann\Diff\Differ;
use SebastianBergmann\Diff\Output\UnifiedDiffOutputBuilder;
use SebastianBergmann\Diff\Output\DiffOnlyOutputBuilder;

final class DifferFactory
{
public static function create(): Differ
{
$unifiedDiffOutputBuilder = new UnifiedDiffOutputBuilder('');

// this is required to show full diffs from start to end
$contextLinesReflectionProperty = new ReflectionProperty($unifiedDiffOutputBuilder, 'contextLines');
$contextLinesReflectionProperty->setValue($unifiedDiffOutputBuilder, 10000);

return new Differ($unifiedDiffOutputBuilder);
return new Differ(new DiffOnlyOutputBuilder(''));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -33,14 +33,13 @@
}

$diff = $this->differ->diff($old, $new);
$diff = $this->clearUnifiedDiffOutputFirstLine($diff);
$diff = $this->removeTrailingWhitespaces($diff);

return $this->warpToDiffCode($diff);
}

/**
* Removes UnifiedDiffOutputBuilder generated pre-spaces " \n" => "\n"
* Removes StrictUnifiedDiffOutputBuilder generated pre-spaces " \n" => "\n"
*/
private function removeTrailingWhitespaces(string $diff): string
{
Expand All @@ -53,7 +52,7 @@
return '```diff' . \PHP_EOL . $content . \PHP_EOL . '```' . \PHP_EOL;
}

private function clearUnifiedDiffOutputFirstLine(string $diff): string

Check failure on line 55 in packages/fractor-doc-generator/src/Printer/Markdown/MarkdownDiffer.php

View workflow job for this annotation

GitHub Actions / PHPStan/Oldest deps/PHP 8.4

Method a9f\FractorDocGenerator\Printer\Markdown\MarkdownDiffer::clearUnifiedDiffOutputFirstLine() is unused.

Check failure on line 55 in packages/fractor-doc-generator/src/Printer/Markdown/MarkdownDiffer.php

View workflow job for this annotation

GitHub Actions / PHPStan/Newest deps/PHP 8.3

Method a9f\FractorDocGenerator\Printer\Markdown\MarkdownDiffer::clearUnifiedDiffOutputFirstLine() is unused.

Check failure on line 55 in packages/fractor-doc-generator/src/Printer/Markdown/MarkdownDiffer.php

View workflow job for this annotation

GitHub Actions / PHPStan/Oldest deps/PHP 8.2

Method a9f\FractorDocGenerator\Printer\Markdown\MarkdownDiffer::clearUnifiedDiffOutputFirstLine() is unused.

Check failure on line 55 in packages/fractor-doc-generator/src/Printer/Markdown/MarkdownDiffer.php

View workflow job for this annotation

GitHub Actions / PHPStan/Newest deps/PHP 8.2

Method a9f\FractorDocGenerator\Printer\Markdown\MarkdownDiffer::clearUnifiedDiffOutputFirstLine() is unused.

Check failure on line 55 in packages/fractor-doc-generator/src/Printer/Markdown/MarkdownDiffer.php

View workflow job for this annotation

GitHub Actions / PHPStan/Newest deps/PHP 8.4

Method a9f\FractorDocGenerator\Printer\Markdown\MarkdownDiffer::clearUnifiedDiffOutputFirstLine() is unused.

Check failure on line 55 in packages/fractor-doc-generator/src/Printer/Markdown/MarkdownDiffer.php

View workflow job for this annotation

GitHub Actions / PHPStan/Oldest deps/PHP 8.3

Method a9f\FractorDocGenerator\Printer\Markdown\MarkdownDiffer::clearUnifiedDiffOutputFirstLine() is unused.
{
return Strings::replace($diff, self::METADATA_REGEX, '');
}
Expand Down
7 changes: 5 additions & 2 deletions packages/fractor/src/Differ/ConsoleDiffer.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
use a9f\Fractor\Differ\Formatter\ColorConsoleDiffFormatter;
use a9f\Fractor\Differ\ValueObject\Diff;
use SebastianBergmann\Diff\Differ as CoreDiffer;
use SebastianBergmann\Diff\Output\UnifiedDiffOutputBuilder;
use SebastianBergmann\Diff\Output\StrictUnifiedDiffOutputBuilder;

final readonly class ConsoleDiffer implements Differ
{
Expand All @@ -17,7 +17,10 @@
public function __construct(
private ColorConsoleDiffFormatter $colorConsoleDiffFormatter
) {
$unifiedDiffOutputBuilder = new UnifiedDiffOutputBuilder();
$unifiedDiffOutputBuilder = new StrictUnifiedDiffOutputBuilder([

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Have a look at the DefaultDiffer from Rector (in the rector-src repo)

'fromFile' => '',
'toFile' => '',
]);
$this->differ = new CoreDiffer($unifiedDiffOutputBuilder);
}

Expand Down
Loading