@@ -439,6 +439,34 @@ contexts:
439439 - include : tabular-alignment-tags
440440 - include : tag-stuff
441441
442+ # alignment mark
443+ - match : (</?)((?i:malignmark)\b)
444+ captures :
445+ 1 : punctuation.definition.tag.begin.mathml
446+ 2 : entity.name.tag.block.malignmark.mathml
447+ push :
448+ - meta_scope : meta.tag.block.malignmark.mathml
449+ - match : ' >'
450+ scope : punctuation.definition.tag.end.mathml
451+ pop : true
452+ - include : presentation-style-tags
453+ - include : malignmark-tags
454+ - include : tag-stuff
455+
456+ # alignment group
457+ - match : (</?)((?i:maligngroup)\b)
458+ captures :
459+ 1 : punctuation.definition.tag.begin.mathml
460+ 2 : entity.name.tag.block.maligngroup.mathml
461+ push :
462+ - meta_scope : meta.tag.block.maligngroup.mathml
463+ - match : ' >'
464+ scope : punctuation.definition.tag.end.mathml
465+ pop : true
466+ - include : presentation-style-tags
467+ - include : maligngroup-tags
468+ - include : tag-stuff
469+
442470 - include : entities
443471 - match : <.*>
444472 scope : invalid.illegal.incomplete.mathml
@@ -1538,6 +1566,68 @@ contexts:
15381566 - match : ' '
15391567 pop : true
15401568
1569+ # alignment mark attributes
1570+ malignmark-tags :
1571+
1572+ # specifies how many columns this data spans
1573+ - match : ' (?:^|\s+)\b((edge)\b\s*(=)\s*)'
1574+ captures :
1575+ 1 : meta.attribute-with-value.edge.mathml
1576+ 2 : entity.other.attribute-name.edge.mathml
1577+ 3 : punctuation.separator.key-value.mathml
1578+ push :
1579+ - match : ' "'
1580+ scope : punctuation.definition.string.begin.mathml
1581+ set :
1582+ - meta_scope : meta.attribute-with-value.edge.mathml string.quoted.double.mathml
1583+ - match : ' "'
1584+ scope : punctuation.definition.string.end.mathml
1585+ pop : true
1586+ - include : attribute-entities
1587+ - match : " '"
1588+ scope : punctuation.definition.string.begin.mathml
1589+ set :
1590+ - meta_scope : meta.attribute-with-value.edge.mathml string.quoted.single.mathml
1591+ - match : " '"
1592+ scope : punctuation.definition.string.end.mathml
1593+ pop : true
1594+ - include : attribute-entities
1595+ - match : ' (?:[^\s<>/'' "]|/(?!>))+'
1596+ scope : meta.attribute-with-value.edge.mathml string.unquoted.mathml
1597+ - match : ' '
1598+ pop : true
1599+
1600+ # alignment group attributes
1601+ maligngroup-tags :
1602+
1603+ # group alignment
1604+ - match : ' (?:^|\s+)\b((groupalign)\b\s*(=)\s*)'
1605+ captures :
1606+ 1 : meta.attribute-with-value.groupalign.mathml
1607+ 2 : entity.other.attribute-name.groupalign.mathml
1608+ 3 : punctuation.separator.key-value.mathml
1609+ push :
1610+ - match : ' "'
1611+ scope : punctuation.definition.string.begin.mathml
1612+ set :
1613+ - meta_scope : meta.attribute-with-value.groupalign.mathml string.quoted.double.mathml
1614+ - match : ' "'
1615+ scope : punctuation.definition.string.end.mathml
1616+ pop : true
1617+ - include : attribute-entities
1618+ - match : " '"
1619+ scope : punctuation.definition.string.begin.mathml
1620+ set :
1621+ - meta_scope : meta.attribute-with-value.groupalign.mathml string.quoted.single.mathml
1622+ - match : " '"
1623+ scope : punctuation.definition.string.end.mathml
1624+ pop : true
1625+ - include : attribute-entities
1626+ - match : ' (?:[^\s<>/'' "]|/(?!>))+'
1627+ scope : meta.attribute-with-value.groupalign.mathml string.unquoted.mathml
1628+ - match : ' '
1629+ pop : true
1630+
15411631 # A collection of basically every attribute, since mstyle can have it all
15421632 # ( a living list to be updated as I progress)
15431633 mstyle-tags :
0 commit comments