diff --git a/crates/typst-syntax/src/highlight.rs b/crates/typst-syntax/src/highlight.rs index 0c1f3d5fd..7128c3584 100644 --- a/crates/typst-syntax/src/highlight.rs +++ b/crates/typst-syntax/src/highlight.rs @@ -286,6 +286,9 @@ pub fn highlight(node: &LinkedNode) -> Option { SyntaxKind::Destructuring => None, SyntaxKind::DestructAssignment => None, + // TODO + SyntaxKind::Decorator => Some(Tag::Comment), + SyntaxKind::LineComment => Some(Tag::Comment), SyntaxKind::BlockComment => Some(Tag::Comment), SyntaxKind::Error => Some(Tag::Error), diff --git a/crates/typst-syntax/src/kind.rs b/crates/typst-syntax/src/kind.rs index 7505dbc61..769cdd72d 100644 --- a/crates/typst-syntax/src/kind.rs +++ b/crates/typst-syntax/src/kind.rs @@ -278,6 +278,9 @@ pub enum SyntaxKind { Destructuring, /// A destructuring assignment expression: `(x, y) = (1, 2)`. DestructAssignment, + + /// A decorator: `/! allow("amogus")` + Decorator, } impl SyntaxKind { @@ -498,6 +501,7 @@ impl SyntaxKind { Self::FuncReturn => "`return` expression", Self::Destructuring => "destructuring pattern", Self::DestructAssignment => "destructuring assignment expression", + Self::Decorator => "decorator", } } } diff --git a/crates/typst-syntax/src/lexer.rs b/crates/typst-syntax/src/lexer.rs index dd05e73f2..502c458de 100644 --- a/crates/typst-syntax/src/lexer.rs +++ b/crates/typst-syntax/src/lexer.rs @@ -151,6 +151,10 @@ impl Lexer<'_> { } } + fn decorator(&mut self) -> SyntaxKind { + todo!() + } + fn line_comment(&mut self) -> SyntaxKind { self.s.eat_until(is_newline); SyntaxKind::LineComment