From 571c1a12b0abab19b6f1d1dd9d50330ec5223712 Mon Sep 17 00:00:00 2001 From: Aleksei Lebedev <1329824+LastDragon-ru@users.noreply.github.com> Date: Fri, 23 Aug 2024 14:12:50 +0400 Subject: [PATCH] fix(documentator): Markdown `Editor:mutate()` will rtrim all changed lines to avoid whitespaces at the end of the line. --- packages/documentator/src/Markdown/Editor.php | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/packages/documentator/src/Markdown/Editor.php b/packages/documentator/src/Markdown/Editor.php index fdc4954e..7db2a5de 100644 --- a/packages/documentator/src/Markdown/Editor.php +++ b/packages/documentator/src/Markdown/Editor.php @@ -16,6 +16,7 @@ use function count; use function implode; use function mb_substr; +use function rtrim; use function usort; use const PHP_INT_MAX; @@ -106,17 +107,17 @@ public function mutate(iterable $changes): static { for ($t = 0; $t < $count; $t++) { $insert[] = match (true) { - $t === 0 => $prefix.$text[$t], - $t === $count - 1 => $padding.$text[$t].$suffix, - default => $padding.$text[$t], + $t === 0 => rtrim($prefix.$text[$t]), + $t === $count - 1 => rtrim($padding.$text[$t].$suffix), + default => rtrim($padding.$text[$t]), }; } array_splice($lines, $number, 1, $insert); } elseif ($count === 1) { - $lines[$number] = $prefix.$text[0].$suffix; + $lines[$number] = rtrim($prefix.$text[0].$suffix); } elseif (($prefix && $prefix !== $padding) || $suffix) { - $lines[$number] = $prefix.$suffix; + $lines[$number] = rtrim($prefix.$suffix); } else { unset($lines[$number]); }