summaryrefslogtreecommitdiff
path: root/src/syntax/parsing.rs
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2022-12-31 09:37:55 +0100
committerLaurenz <laurmaedje@gmail.com>2022-12-31 09:52:14 +0100
commit7c683db3673187260ef2fa84d779ff81cb05aba8 (patch)
tree5ecfe3845b528a7d5ec67dfc1c93eb0dee3fa951 /src/syntax/parsing.rs
parenta6d90c1bf1e9fefa0af04206909a40e112d6bb14 (diff)
Merge `MarkupNode` and `MathNode` into `Expr`
Diffstat (limited to 'src/syntax/parsing.rs')
-rw-r--r--src/syntax/parsing.rs39
1 files changed, 16 insertions, 23 deletions
diff --git a/src/syntax/parsing.rs b/src/syntax/parsing.rs
index e0405407..900e0e67 100644
--- a/src/syntax/parsing.rs
+++ b/src/syntax/parsing.rs
@@ -586,11 +586,23 @@ fn expr_prec(p: &mut Parser, atomic: bool, min_prec: usize) -> ParseResult {
}
fn primary(p: &mut Parser, atomic: bool) -> ParseResult {
- if literal(p) {
- return Ok(());
- }
-
match p.peek() {
+ // Literals and few other things.
+ Some(
+ SyntaxKind::None
+ | SyntaxKind::Auto
+ | SyntaxKind::Int(_)
+ | SyntaxKind::Float(_)
+ | SyntaxKind::Bool(_)
+ | SyntaxKind::Numeric(_, _)
+ | SyntaxKind::Str(_)
+ | SyntaxKind::Label(_)
+ | SyntaxKind::Raw(_),
+ ) => {
+ p.eat();
+ Ok(())
+ }
+
// Things that start with an identifier.
Some(SyntaxKind::Ident(_)) => {
let marker = p.marker();
@@ -638,25 +650,6 @@ fn primary(p: &mut Parser, atomic: bool) -> ParseResult {
}
}
-fn literal(p: &mut Parser) -> bool {
- match p.peek() {
- Some(
- SyntaxKind::None
- | SyntaxKind::Auto
- | SyntaxKind::Int(_)
- | SyntaxKind::Float(_)
- | SyntaxKind::Bool(_)
- | SyntaxKind::Numeric(_, _)
- | SyntaxKind::Str(_)
- | SyntaxKind::Label(_),
- ) => {
- p.eat();
- true
- }
- _ => false,
- }
-}
-
fn ident(p: &mut Parser) -> ParseResult {
match p.peek() {
Some(SyntaxKind::Ident(_)) => {