summaryrefslogtreecommitdiff
path: root/crates/typst-syntax/src/parser.rs
diff options
context:
space:
mode:
authorIan Wrzesinski <wrzian@umich.edu>2024-07-20 21:21:53 -0500
committerIan Wrzesinski <wrzian@umich.edu>2025-01-23 16:28:29 -0500
commit0b8b7d0f233f748a5c12d1b8e31f657803122eba (patch)
treebbb904cb876ad5741f3e8a46758363af70af10e4 /crates/typst-syntax/src/parser.rs
parent2d33393df967bbe55646b839e188c04380d823fe (diff)
Just add MathText SyntaxKind
Diffstat (limited to 'crates/typst-syntax/src/parser.rs')
-rw-r--r--crates/typst-syntax/src/parser.rs14
1 files changed, 8 insertions, 6 deletions
diff --git a/crates/typst-syntax/src/parser.rs b/crates/typst-syntax/src/parser.rs
index 5de71caf..55d5550b 100644
--- a/crates/typst-syntax/src/parser.rs
+++ b/crates/typst-syntax/src/parser.rs
@@ -252,7 +252,9 @@ fn math_expr_prec(p: &mut Parser, min_prec: usize, stop: SyntaxKind) {
continuable = true;
p.eat();
// Parse a function call for an identifier or field access.
- if min_prec < 3 && p.directly_at(SyntaxKind::Text) && p.current_text() == "("
+ if min_prec < 3
+ && p.directly_at(SyntaxKind::MathText)
+ && p.current_text() == "("
{
math_args(p);
p.wrap(m, SyntaxKind::FuncCall);
@@ -264,10 +266,10 @@ fn math_expr_prec(p: &mut Parser, min_prec: usize, stop: SyntaxKind) {
| SyntaxKind::Comma
| SyntaxKind::Semicolon
| SyntaxKind::RightParen => {
- p.convert_and_eat(SyntaxKind::Text);
+ p.convert_and_eat(SyntaxKind::MathText);
}
- SyntaxKind::Text | SyntaxKind::MathShorthand => {
+ SyntaxKind::Text | SyntaxKind::MathText | SyntaxKind::MathShorthand => {
continuable = matches!(
math_class(p.current_text()),
None | Some(MathClass::Alphabetic)
@@ -316,7 +318,7 @@ fn math_expr_prec(p: &mut Parser, min_prec: usize, stop: SyntaxKind) {
let mut primed = false;
while !p.end() && !p.at(stop) {
- if p.directly_at(SyntaxKind::Text) && p.current_text() == "!" {
+ if p.directly_at(SyntaxKind::MathText) && p.current_text() == "!" {
p.eat();
p.wrap(m, SyntaxKind::Math);
continue;
@@ -414,7 +416,7 @@ fn math_delimited(p: &mut Parser) {
// We could be at the shorthand `|]`, which shouldn't be converted
// to a `Text` kind.
if p.at(SyntaxKind::RightParen) {
- p.convert_and_eat(SyntaxKind::Text);
+ p.convert_and_eat(SyntaxKind::MathText);
} else {
p.eat();
}
@@ -535,7 +537,7 @@ fn math_arg<'s>(p: &mut Parser<'s>, seen: &mut HashSet<&'s str>) -> bool {
}
let mut positional = true;
- if p.at_set(syntax_set!(Text, MathIdent, Underscore)) {
+ if p.at_set(syntax_set!(MathText, MathIdent, Underscore)) {
// Parses a named argument: `thickness: #12pt`.
if let Some(named) = p.lexer.maybe_math_named_arg(start) {
p.token.node = named;