initial decorator parsing in markup

This commit is contained in:
PgBiel 2024-06-10 19:03:38 -03:00
parent 9f9ba7ba5a
commit 3e69560267
2 changed files with 15 additions and 0 deletions

View File

@ -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()

View File

@ -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)