Page MenuHomePhabricator

D15025.id36281.diff
No OneTemporary

D15025.id36281.diff

diff --git a/src/markup/engine/__tests__/remarkup/highlight.txt b/src/markup/engine/__tests__/remarkup/highlight.txt
--- a/src/markup/engine/__tests__/remarkup/highlight.txt
+++ b/src/markup/engine/__tests__/remarkup/highlight.txt
@@ -1,7 +1,9 @@
how about we !!highlight!! some !!TEXT!!!
wow this must be **!!very important!!**
+omg!!!!!
~~~~~~~~~~
<p>how about we <span class="remarkup-highlight">highlight</span> some <span class="remarkup-highlight">TEXT!</span>
-wow this must be <strong><span class="remarkup-highlight">very important</span></strong></p>
+wow this must be <strong><span class="remarkup-highlight">very important</span></strong>
+omg!!!!!</p>
~~~~~~~~~~
-how about we !!highlight!! some !!TEXT!!! wow this must be **!!very important!!**
+how about we !!highlight!! some !!TEXT!!! wow this must be **!!very important!!** omg!!!!!
diff --git a/src/markup/engine/remarkup/markuprule/PhutilRemarkupHighlightRule.php b/src/markup/engine/remarkup/markuprule/PhutilRemarkupHighlightRule.php
--- a/src/markup/engine/remarkup/markuprule/PhutilRemarkupHighlightRule.php
+++ b/src/markup/engine/remarkup/markuprule/PhutilRemarkupHighlightRule.php
@@ -21,6 +21,13 @@
// Remove the two exclamation points that represent syntax.
$excitement = substr($matches[2], 2);
+ // If the internal content consists of ONLY exclamation points, leave it
+ // untouched so "!!!!!" is five exclamation points instead of one
+ // highlighted exclamation point.
+ if (preg_match('/^!+\z/', $matches[1])) {
+ return $matches[0];
+ }
+
// $excitement now has two fewer !'s than we started with.
return hsprintf('<span class="remarkup-highlight">%s%s</span>',
$matches[1], $excitement);

File Metadata

Mime Type
text/plain
Expires
Thu, May 9, 5:51 PM (3 w, 6 d ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
6275295
Default Alt Text
D15025.id36281.diff (1 KB)

Event Timeline