package parser import "github.com/usememos/memos/plugin/gomark/parser/tokenizer" type CodeParser struct { Content string } func NewCodeParser() *CodeParser { return &CodeParser{} } func (*CodeParser) Match(tokens []*tokenizer.Token) *CodeParser { if len(tokens) < 3 { return nil } if tokens[0].Type != tokenizer.Backtick { return nil } content, matched := "", false for _, token := range tokens[1:] { if token.Type == tokenizer.Newline { return nil } if token.Type == tokenizer.Backtick { matched = true break } content += token.Value } if !matched || len(content) == 0 { return nil } return &CodeParser{ Content: content, } }