diff --git a/src/markup/engine/__tests__/remarkup/simple-table-with-leading-space.txt b/src/markup/engine/__tests__/remarkup/simple-table-with-leading-space.txt new file mode 100644 --- /dev/null +++ b/src/markup/engine/__tests__/remarkup/simple-table-with-leading-space.txt @@ -0,0 +1,7 @@ + |a|b| +~~~~~~~~~~ +
+ +
ab
+~~~~~~~~~~ +| a | b | diff --git a/src/markup/engine/__tests__/remarkup/table-with-leading-space.txt b/src/markup/engine/__tests__/remarkup/table-with-leading-space.txt new file mode 100644 --- /dev/null +++ b/src/markup/engine/__tests__/remarkup/table-with-leading-space.txt @@ -0,0 +1,7 @@ +
cell
+~~~~~~~~~~ +
+ +
cell
+~~~~~~~~~~ +| cell | diff --git a/src/markup/engine/remarkup/blockrule/PhutilRemarkupSimpleTableBlockRule.php b/src/markup/engine/remarkup/blockrule/PhutilRemarkupSimpleTableBlockRule.php --- a/src/markup/engine/remarkup/blockrule/PhutilRemarkupSimpleTableBlockRule.php +++ b/src/markup/engine/remarkup/blockrule/PhutilRemarkupSimpleTableBlockRule.php @@ -5,7 +5,7 @@ public function getMatchingLineCount(array $lines, $cursor) { $num_lines = 0; while (isset($lines[$cursor])) { - if (preg_match('/^(\|.*+\n?)+$/', $lines[$cursor])) { + if (preg_match('/^(\s*\|.*+\n?)+$/', $lines[$cursor])) { $num_lines++; $cursor++; } else { diff --git a/src/markup/engine/remarkup/blockrule/PhutilRemarkupTableBlockRule.php b/src/markup/engine/remarkup/blockrule/PhutilRemarkupTableBlockRule.php --- a/src/markup/engine/remarkup/blockrule/PhutilRemarkupTableBlockRule.php +++ b/src/markup/engine/remarkup/blockrule/PhutilRemarkupTableBlockRule.php @@ -5,7 +5,7 @@ public function getMatchingLineCount(array $lines, $cursor) { $num_lines = 0; - if (preg_match('/^/i', $lines[$cursor])) { + if (preg_match('/^\s*
/i', $lines[$cursor])) { $num_lines++; $cursor++; @@ -24,7 +24,7 @@ public function markupText($text, $children) { $matches = array(); - if (!preg_match('@^
(.*)
$@si', $text, $matches)) { + if (!preg_match('@^\s*(.*)
$@si', $text, $matches)) { return $this->fail( $text, pht('Bad table (expected %s)', '...
'));