Page MenuHomePhabricator

D17771.id42749.diff
No OneTemporary

D17771.id42749.diff

diff --git a/src/markup/engine/PhutilRemarkupEngine.php b/src/markup/engine/PhutilRemarkupEngine.php
--- a/src/markup/engine/PhutilRemarkupEngine.php
+++ b/src/markup/engine/PhutilRemarkupEngine.php
@@ -41,7 +41,7 @@
public function setBlockRules(array $rules) {
assert_instances_of($rules, 'PhutilRemarkupBlockRule');
- $rules = msort($rules, 'getPriority');
+ $rules = msortv($rules, 'getPriorityVector');
$this->blockRules = $rules;
foreach ($this->blockRules as $rule) {
diff --git a/src/markup/engine/remarkup/blockrule/PhutilRemarkupBlockRule.php b/src/markup/engine/remarkup/blockrule/PhutilRemarkupBlockRule.php
--- a/src/markup/engine/remarkup/blockrule/PhutilRemarkupBlockRule.php
+++ b/src/markup/engine/remarkup/blockrule/PhutilRemarkupBlockRule.php
@@ -14,10 +14,16 @@
* patterns. For example, ` - Lorem ipsum...` may be a code block or a
* list.
*
- * @return float Priority at which this block should execute.
+ * @return int Priority at which this block should execute.
*/
public function getPriority() {
- return 500.0;
+ return 500;
+ }
+
+ final public function getPriorityVector() {
+ return id(new PhutilSortVector())
+ ->addInt($this->getPriority())
+ ->addString(get_class($this));
}
abstract public function markupText($text, $children);
diff --git a/src/markup/engine/remarkup/blockrule/PhutilRemarkupLiteralBlockRule.php b/src/markup/engine/remarkup/blockrule/PhutilRemarkupLiteralBlockRule.php
--- a/src/markup/engine/remarkup/blockrule/PhutilRemarkupLiteralBlockRule.php
+++ b/src/markup/engine/remarkup/blockrule/PhutilRemarkupLiteralBlockRule.php
@@ -2,6 +2,10 @@
final class PhutilRemarkupLiteralBlockRule extends PhutilRemarkupBlockRule {
+ public function getPriority() {
+ return 450;
+ }
+
public function getMatchingLineCount(array $lines, $cursor) {
// NOTE: We're consuming all continguous blocks of %%% literals, so this:
//
diff --git a/src/markup/engine/remarkup/blockrule/PhutilRemarkupReplyBlockRule.php b/src/markup/engine/remarkup/blockrule/PhutilRemarkupReplyBlockRule.php
--- a/src/markup/engine/remarkup/blockrule/PhutilRemarkupReplyBlockRule.php
+++ b/src/markup/engine/remarkup/blockrule/PhutilRemarkupReplyBlockRule.php
@@ -3,7 +3,7 @@
final class PhutilRemarkupReplyBlockRule extends PhutilRemarkupBlockRule {
public function getPriority() {
- return 400.0;
+ return 400;
}
public function getMatchingLineCount(array $lines, $cursor) {

File Metadata

Mime Type
text/plain
Expires
Mar 26 2025, 5:22 AM (4 w, 6 d ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
7720586
Default Alt Text
D17771.id42749.diff (2 KB)

Event Timeline