From 834ad20c17a8753802c1c42bc70c6712b9785f64 Mon Sep 17 00:00:00 2001 From: Michael Sheets Date: Sat, 21 Jul 2012 17:34:04 -0500 Subject: [PATCH] Merge heading matches into a single rule. By using captures we can simplify the rule by using the captured number of `=` to give us the correct scope. --- Syntaxes/Mediawiki.tmLanguage | 104 +++++++++------------------------- 1 file changed, 26 insertions(+), 78 deletions(-) diff --git a/Syntaxes/Mediawiki.tmLanguage b/Syntaxes/Mediawiki.tmLanguage index a6054c7..ead3b80 100644 --- a/Syntaxes/Mediawiki.tmLanguage +++ b/Syntaxes/Mediawiki.tmLanguage @@ -156,96 +156,44 @@ - begin - ^(={1})(?!=)(?=.*\1\s*$) - comment - Match lines that begin & end with 1 “=”: Mismatch "=" marked invalid. - end - \1\s*$\n? - name - markup.heading.1.mediawiki - patterns - + captures + + 1 - match - ={1}(=+\s*$) name - invalid.illegal.extra-equals-sign.mediawiki + punctuation.definition.heading.mediawiki + 2 - include - #inline - - - - - begin - ^(={2})(?!=)(?=.*\1\s*$) - comment - Match next heading - end - \1\s*$\n? - name - markup.heading.2.mediawiki - patterns - - - match - ={2}(=+\s*$) name - invalid.illegal.extra-equals-sign.mediawiki + entity.name.section.mediawiki + 3 - include - #inline + patterns + + + match + =+$ + name + invalid.illegal.extra-equals-sign.mediawiki + + + include + #inline + + - - - - begin - ^(={3})(?!=)(?=.*\1\s*$) - comment - Match next heading - end - \1\s*$\n? - name - markup.heading.3.mediawiki - patterns - + 4 - match - ={3}(=+\s*$) name - invalid.illegal.extra-equals-sign.mediawiki + punctuation.definition.heading.mediawiki - - include - #inline - - - - - begin - ^(={4})(?!=)(?=.*\1\s*$) - comment - Match next heading - end - \1\s*$\n? + + match + ^(={1,6})(?!=)((.+))(\1)\s*$\n? name - markup.heading.4.mediawiki - patterns - - - match - ={4}(=+\s*$) - name - invalid.illegal.extra-equals-sign.mediawiki - - - include - #inline - - + markup.heading.${1/=(?<b>=)?(?<c>=)?(?<d>=)?(?<e>=)?(?<f>=)?/${f:?6:${e:?5:${d:?4:${c:?3:${b:?2:1}}}}}/}.mediawiki comment