chore: update inline parser

This commit is contained in:
Steven
2023-12-16 10:09:20 +08:00
parent 7b0ceee57b
commit 47af632c79
19 changed files with 73 additions and 222 deletions

View File

@ -76,10 +76,14 @@ var defaultInlineParsers = []InlineParser{
}
func ParseInline(tokens []*tokenizer.Token) ([]ast.Node, error) {
return ParseInlineWithParsers(tokens, defaultInlineParsers)
}
func ParseInlineWithParsers(tokens []*tokenizer.Token, inlineParsers []InlineParser) ([]ast.Node, error) {
nodes := []ast.Node{}
var prevNode ast.Node
for len(tokens) > 0 {
for _, inlineParser := range defaultInlineParsers {
for _, inlineParser := range inlineParsers {
size, matched := inlineParser.Match(tokens)
if matched {
node, err := inlineParser.Parse(tokens)