From 07a8e691a67d5a3867cc267b6c281784748c1055 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Thu, 19 Nov 2009 09:54:41 +0100 Subject: better whitespace preserve fix in diffs Ignore-this: ce1092e86cbb4911e285377233b89aa0 darcs-hash:20091119085441-6e07b-79f74d6349df87625aaaba919664879fcc440244.gz --- inc/DifferenceEngine.php | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'inc/DifferenceEngine.php') diff --git a/inc/DifferenceEngine.php b/inc/DifferenceEngine.php index 165ddddbc..e28826c1f 100644 --- a/inc/DifferenceEngine.php +++ b/inc/DifferenceEngine.php @@ -978,7 +978,8 @@ class TableDiffFormatter extends DiffFormatter function _pre($text){ $text = htmlspecialchars($text); - $text = str_replace(' ',' ',$text); + $text = str_replace(' ','  ',$text); + if($text{0} == ' ') $text = ' '.substr($text,1); return $text; } @@ -1002,13 +1003,15 @@ class TableDiffFormatter extends DiffFormatter } function addedLine( $line ) { - $line = str_replace(' ',' ',$line); + $line = str_replace(' ','  ',$line); + if($line{0} == ' ') $line = ' '.substr($line,1); return '+' . $line.''; } function deletedLine( $line ) { - $line = str_replace(' ',' ',$line); + $line = str_replace(' ','  ',$line); + if($line{0} == ' ') $line = ' '.substr($line,1); return '-' . $line.''; } @@ -1019,7 +1022,8 @@ class TableDiffFormatter extends DiffFormatter } function contextLine( $line ) { - $line = str_replace(' ',' ',$line); + $line = str_replace(' ','  ',$line); + if($line{0} == ' ') $line = ' '.substr($line,1); return ' '.$line.''; } -- cgit v1.2.3