mirror of
https://github.com/typst/typst
synced 2025-05-15 17:45:27 +08:00
initial decorator parsing in markup
This commit is contained in:
parent
9f9ba7ba5a
commit
3e69560267
@ -121,6 +121,7 @@ fn markup_expr(p: &mut Parser, at_start: &mut bool) {
|
||||
| SyntaxKind::Link
|
||||
| SyntaxKind::Label => p.eat(),
|
||||
|
||||
SyntaxKind::DecoratorMarker => decorator(p),
|
||||
SyntaxKind::Hash => embedded_code_expr(p),
|
||||
SyntaxKind::Star => strong(p),
|
||||
SyntaxKind::Underscore => emph(p),
|
||||
@ -146,6 +147,19 @@ fn markup_expr(p: &mut Parser, at_start: &mut bool) {
|
||||
*at_start = false;
|
||||
}
|
||||
|
||||
fn decorator(p: &mut Parser) {
|
||||
let m = p.marker();
|
||||
p.enter(LexMode::Decorator);
|
||||
p.assert(SyntaxKind::DecoratorMarker);
|
||||
|
||||
while !p.end() {
|
||||
p.eat();
|
||||
}
|
||||
|
||||
p.exit();
|
||||
p.wrap(m, SyntaxKind::Decorator);
|
||||
}
|
||||
|
||||
/// Parses strong content: `*Strong*`.
|
||||
fn strong(p: &mut Parser) {
|
||||
const END: SyntaxSet = SyntaxSet::new()
|
||||
|
@ -54,6 +54,7 @@ pub const MARKUP_EXPR: SyntaxSet = SyntaxSet::new()
|
||||
.add(SyntaxKind::Parbreak)
|
||||
.add(SyntaxKind::LineComment)
|
||||
.add(SyntaxKind::BlockComment)
|
||||
.add(SyntaxKind::DecoratorMarker)
|
||||
.add(SyntaxKind::Text)
|
||||
.add(SyntaxKind::Linebreak)
|
||||
.add(SyntaxKind::Escape)
|
||||
|
Loading…
x
Reference in New Issue
Block a user