Skip to content

Commit

Permalink
feat: enable experimental math syntax highlighting (#1107)
Browse files Browse the repository at this point in the history
  • Loading branch information
Myriad-Dreamin authored Jan 3, 2025
1 parent 626efa0 commit 671783a
Show file tree
Hide file tree
Showing 6 changed files with 123 additions and 25 deletions.
2 changes: 1 addition & 1 deletion syntaxes/textmate/feature.mts
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@
* Feature Flags
*/
export const SYNTAX_WITH_BOLD_ITALIC = false;
export const SYNTAX_WITH_MATH = false;
export const SYNTAX_WITH_MATH = true;
export const SYNTAX_WITH_LANGS = true;
10 changes: 8 additions & 2 deletions syntaxes/textmate/tests/unit/basic/bracket.typ.snap
Original file line number Diff line number Diff line change
@@ -1,11 +1,17 @@
>$((,(#[)],)))$
#^ source.typst markup.math.typst punctuation.definition.string.math.typst
# ^^^^ source.typst markup.math.typst
# ^ source.typst markup.math.typst markup.content.brace.typst
# ^ source.typst markup.math.typst markup.content.brace.typst
# ^ source.typst markup.math.typst
# ^ source.typst markup.math.typst markup.content.brace.typst
# ^ source.typst markup.math.typst keyword.control.hash.typst
# ^ source.typst markup.math.typst meta.brace.square.typst
# ^ source.typst markup.math.typst markup.content.brace.typst
# ^ source.typst markup.math.typst meta.brace.square.typst
# ^^^^ source.typst markup.math.typst
# ^ source.typst markup.math.typst
# ^ source.typst markup.math.typst markup.content.brace.typst
# ^ source.typst markup.math.typst markup.content.brace.typst
# ^ source.typst markup.math.typst markup.content.brace.typst
# ^ source.typst markup.math.typst punctuation.definition.string.math.typst
>
>#for i in range(0) [)]
Expand Down
14 changes: 9 additions & 5 deletions syntaxes/textmate/tests/unit/bugs/brace-in-math.typ.snap
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,16 @@
>$
#^ source.typst markup.math.typst punctuation.definition.string.math.typst
> (
#^^^^ source.typst markup.math.typst
#^^ source.typst markup.math.typst
# ^ source.typst markup.math.typst markup.content.brace.typst
>$
#^ source.typst markup.math.typst punctuation.definition.string.math.typst
>
>$
#^ source.typst markup.math.typst punctuation.definition.string.math.typst
> )
#^^^^ source.typst markup.math.typst
#^^ source.typst markup.math.typst
# ^ source.typst markup.math.typst markup.content.brace.typst
>$
#^ source.typst markup.math.typst punctuation.definition.string.math.typst
>
Expand Down Expand Up @@ -54,9 +56,11 @@
#^^ source.typst meta.expr.let.typst
# ^ source.typst meta.expr.let.typst markup.math.typst punctuation.definition.string.math.typst
> lr(})
#^^^^^^^ source.typst meta.expr.let.typst markup.math.typst
# ^ source.typst meta.expr.let.typst markup.math.typst markup.content.brace.typst
# ^^ source.typst meta.expr.let.typst markup.math.typst
#^^^^ source.typst meta.expr.let.typst markup.math.typst
# ^^ source.typst meta.expr.let.typst markup.math.typst meta.expr.call.typst entity.name.function.typst
# ^ source.typst meta.expr.let.typst markup.math.typst meta.expr.call.typst meta.brace.round.typst
# ^ source.typst meta.expr.let.typst markup.math.typst meta.expr.call.typst
# ^ source.typst meta.expr.let.typst markup.math.typst meta.expr.call.typst meta.brace.round.typst
> $
#^^ source.typst meta.expr.let.typst markup.math.typst
# ^ source.typst meta.expr.let.typst markup.math.typst punctuation.definition.string.math.typst
Expand Down
40 changes: 36 additions & 4 deletions syntaxes/textmate/tests/unit/math/bracket-issue194.typ.snap
Original file line number Diff line number Diff line change
Expand Up @@ -4,27 +4,59 @@
# ^^^^^^^^^^ source.typst comment.line.double-slash.typst
>$ x^"#" = "argmin"_(A x=b) ||x||_(cal(l)_2) $
#^ source.typst markup.math.typst punctuation.definition.string.math.typst
# ^^^ source.typst markup.math.typst
# ^^ source.typst markup.math.typst
# ^ source.typst markup.math.typst punctuation.math.operator.typst
# ^ source.typst markup.math.typst string.quoted.double.typst punctuation.definition.string.typst
# ^ source.typst markup.math.typst string.quoted.double.typst
# ^ source.typst markup.math.typst string.quoted.double.typst punctuation.definition.string.typst
# ^^^ source.typst markup.math.typst
# ^ source.typst markup.math.typst string.quoted.double.typst punctuation.definition.string.typst
# ^^^^^^ source.typst markup.math.typst string.quoted.double.typst
# ^ source.typst markup.math.typst string.quoted.double.typst punctuation.definition.string.typst
# ^^^^^^^^^^^^^^^^^^^^^^^^^^ source.typst markup.math.typst
# ^ source.typst markup.math.typst punctuation.math.operator.typst
# ^ source.typst markup.math.typst constant.other.symbol.typst
# ^^^^^ source.typst markup.math.typst
# ^ source.typst markup.math.typst constant.other.symbol.typst
# ^^^^^^ source.typst markup.math.typst
# ^ source.typst markup.math.typst punctuation.math.operator.typst
# ^ source.typst markup.math.typst constant.other.symbol.typst
# ^^^ source.typst markup.math.typst meta.expr.call.typst entity.name.function.typst
# ^ source.typst markup.math.typst meta.expr.call.typst meta.brace.round.typst
# ^ source.typst markup.math.typst meta.expr.call.typst
# ^ source.typst markup.math.typst meta.expr.call.typst meta.brace.round.typst
# ^ source.typst markup.math.typst punctuation.math.operator.typst
# ^ source.typst markup.math.typst
# ^ source.typst markup.math.typst constant.other.symbol.typst
# ^ source.typst markup.math.typst
# ^ source.typst markup.math.typst punctuation.definition.string.math.typst
>
>$ x^"#" = "argmin"_(A x=b()) ||x||_(cal(l)_2) $
#^ source.typst markup.math.typst punctuation.definition.string.math.typst
# ^^^ source.typst markup.math.typst
# ^^ source.typst markup.math.typst
# ^ source.typst markup.math.typst punctuation.math.operator.typst
# ^ source.typst markup.math.typst string.quoted.double.typst punctuation.definition.string.typst
# ^ source.typst markup.math.typst string.quoted.double.typst
# ^ source.typst markup.math.typst string.quoted.double.typst punctuation.definition.string.typst
# ^^^ source.typst markup.math.typst
# ^ source.typst markup.math.typst string.quoted.double.typst punctuation.definition.string.typst
# ^^^^^^ source.typst markup.math.typst string.quoted.double.typst
# ^ source.typst markup.math.typst string.quoted.double.typst punctuation.definition.string.typst
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.typst markup.math.typst
# ^ source.typst markup.math.typst punctuation.math.operator.typst
# ^ source.typst markup.math.typst constant.other.symbol.typst
# ^^^^^ source.typst markup.math.typst
# ^ source.typst markup.math.typst markup.content.brace.typst
# ^ source.typst markup.math.typst markup.content.brace.typst
# ^ source.typst markup.math.typst constant.other.symbol.typst
# ^^^^^^ source.typst markup.math.typst
# ^ source.typst markup.math.typst punctuation.math.operator.typst
# ^ source.typst markup.math.typst constant.other.symbol.typst
# ^^^ source.typst markup.math.typst meta.expr.call.typst entity.name.function.typst
# ^ source.typst markup.math.typst meta.expr.call.typst meta.brace.round.typst
# ^ source.typst markup.math.typst meta.expr.call.typst
# ^ source.typst markup.math.typst meta.expr.call.typst meta.brace.round.typst
# ^ source.typst markup.math.typst punctuation.math.operator.typst
# ^ source.typst markup.math.typst
# ^ source.typst markup.math.typst constant.other.symbol.typst
# ^ source.typst markup.math.typst
# ^ source.typst markup.math.typst punctuation.definition.string.math.typst
>
44 changes: 37 additions & 7 deletions syntaxes/textmate/tests/unit/math/bracket.typ.snap
Original file line number Diff line number Diff line change
@@ -1,36 +1,66 @@
>
>$ ||x||_[] $
#^ source.typst markup.math.typst punctuation.definition.string.math.typst
# ^^^^^^^^^^ source.typst markup.math.typst
# ^^^^^^ source.typst markup.math.typst
# ^ source.typst markup.math.typst punctuation.math.operator.typst
# ^ source.typst markup.math.typst constant.other.symbol.typst
# ^ source.typst markup.math.typst constant.other.symbol.typst
# ^ source.typst markup.math.typst
# ^ source.typst markup.math.typst punctuation.definition.string.math.typst
>
>$ ||x||_[) $
#^ source.typst markup.math.typst punctuation.definition.string.math.typst
# ^^^^^^^^^^ source.typst markup.math.typst
# ^^^^^^ source.typst markup.math.typst
# ^ source.typst markup.math.typst punctuation.math.operator.typst
# ^ source.typst markup.math.typst constant.other.symbol.typst
# ^ source.typst markup.math.typst constant.other.symbol.typst
# ^ source.typst markup.math.typst
# ^ source.typst markup.math.typst punctuation.definition.string.math.typst
>
>$ ||x||_⧼) $
#^ source.typst markup.math.typst punctuation.definition.string.math.typst
# ^^^^^^^^^^ source.typst markup.math.typst
# ^^^^^^ source.typst markup.math.typst
# ^ source.typst markup.math.typst punctuation.math.operator.typst
# ^ source.typst markup.math.typst constant.other.symbol.typst
# ^ source.typst markup.math.typst constant.other.symbol.typst
# ^ source.typst markup.math.typst
# ^ source.typst markup.math.typst punctuation.definition.string.math.typst
>
>$ 1 / () $
#^ source.typst markup.math.typst punctuation.definition.string.math.typst
# ^^^^^^^^ source.typst markup.math.typst
# ^^^ source.typst markup.math.typst
# ^ source.typst markup.math.typst punctuation.math.operator.typst
# ^ source.typst markup.math.typst
# ^ source.typst markup.math.typst constant.other.symbol.typst
# ^ source.typst markup.math.typst constant.other.symbol.typst
# ^ source.typst markup.math.typst
# ^ source.typst markup.math.typst punctuation.definition.string.math.typst
>
>$ √() $
#^ source.typst markup.math.typst punctuation.definition.string.math.typst
# ^^^^^ source.typst markup.math.typst
# ^ source.typst markup.math.typst
# ^ source.typst markup.math.typst punctuation.math.operator.typst
# ^ source.typst markup.math.typst constant.other.symbol.typst
# ^ source.typst markup.math.typst constant.other.symbol.typst
# ^ source.typst markup.math.typst
# ^ source.typst markup.math.typst punctuation.definition.string.math.typst
>
>$ ∛() $
#^ source.typst markup.math.typst punctuation.definition.string.math.typst
# ^^^^^ source.typst markup.math.typst
# ^ source.typst markup.math.typst
# ^ source.typst markup.math.typst punctuation.math.operator.typst
# ^ source.typst markup.math.typst constant.other.symbol.typst
# ^ source.typst markup.math.typst constant.other.symbol.typst
# ^ source.typst markup.math.typst
# ^ source.typst markup.math.typst punctuation.definition.string.math.typst
>
>$ ∛∜() $
#^ source.typst markup.math.typst punctuation.definition.string.math.typst
# ^^^^^^ source.typst markup.math.typst
# ^ source.typst markup.math.typst
# ^ source.typst markup.math.typst punctuation.math.operator.typst
# ^ source.typst markup.math.typst punctuation.math.operator.typst
# ^ source.typst markup.math.typst constant.other.symbol.typst
# ^ source.typst markup.math.typst constant.other.symbol.typst
# ^ source.typst markup.math.typst
# ^ source.typst markup.math.typst punctuation.definition.string.math.typst
>
38 changes: 32 additions & 6 deletions syntaxes/textmate/tests/unit/math/bracket_unmatch.typ.snap
Original file line number Diff line number Diff line change
@@ -1,30 +1,56 @@
>$ ||x||_(cal(l)_2() $
#^ source.typst markup.math.typst punctuation.definition.string.math.typst
# ^^^^^^^^^^^^^^^^^^^ source.typst markup.math.typst
# ^^^^^^ source.typst markup.math.typst
# ^ source.typst markup.math.typst punctuation.math.operator.typst
# ^ source.typst markup.math.typst constant.other.symbol.typst
# ^^^ source.typst markup.math.typst meta.expr.call.typst entity.name.function.typst
# ^ source.typst markup.math.typst meta.expr.call.typst meta.brace.round.typst
# ^ source.typst markup.math.typst meta.expr.call.typst
# ^ source.typst markup.math.typst meta.expr.call.typst meta.brace.round.typst
# ^ source.typst markup.math.typst punctuation.math.operator.typst
# ^ source.typst markup.math.typst
# ^ source.typst markup.math.typst markup.content.brace.typst
# ^ source.typst markup.math.typst markup.content.brace.typst
# ^ source.typst markup.math.typst
# ^ source.typst markup.math.typst punctuation.definition.string.math.typst
>
>$ ||x||_) $
#^ source.typst markup.math.typst punctuation.definition.string.math.typst
# ^^^^^^^^^ source.typst markup.math.typst
# ^^^^^^ source.typst markup.math.typst
# ^ source.typst markup.math.typst punctuation.math.operator.typst
# ^ source.typst markup.math.typst markup.content.brace.typst
# ^ source.typst markup.math.typst
# ^ source.typst markup.math.typst punctuation.definition.string.math.typst
>
>$ ||x||_[ $
#^ source.typst markup.math.typst punctuation.definition.string.math.typst
# ^^^^^^^^^ source.typst markup.math.typst
# ^^^^^^ source.typst markup.math.typst
# ^ source.typst markup.math.typst punctuation.math.operator.typst
# ^ source.typst markup.math.typst constant.other.symbol.typst
# ^ source.typst markup.math.typst
# ^ source.typst markup.math.typst punctuation.definition.string.math.typst
>
>$ ||x||_[ $
#^ source.typst markup.math.typst punctuation.definition.string.math.typst
# ^^^^^^^^^ source.typst markup.math.typst
# ^^^^^^ source.typst markup.math.typst
# ^ source.typst markup.math.typst punctuation.math.operator.typst
# ^ source.typst markup.math.typst constant.other.symbol.typst
# ^ source.typst markup.math.typst
# ^ source.typst markup.math.typst punctuation.definition.string.math.typst
>
>$ ||x||_$
#^ source.typst markup.math.typst punctuation.definition.string.math.typst
# ^^^^^^^^^ source.typst markup.math.typst
# ^^^^^^ source.typst markup.math.typst
# ^ source.typst markup.math.typst punctuation.math.operator.typst
# ^ source.typst markup.math.typst constant.other.symbol.typst
# ^ source.typst markup.math.typst
# ^ source.typst markup.math.typst punctuation.definition.string.math.typst
>
>$ ||x||_) $
#^ source.typst markup.math.typst punctuation.definition.string.math.typst
# ^^^^^^^^^ source.typst markup.math.typst
# ^^^^^^ source.typst markup.math.typst
# ^ source.typst markup.math.typst punctuation.math.operator.typst
# ^ source.typst markup.math.typst markup.content.brace.typst
# ^ source.typst markup.math.typst
# ^ source.typst markup.math.typst punctuation.definition.string.math.typst
>

0 comments on commit 671783a

Please sign in to comment.