From 511ad88f6bf7b0ec971df407469c494d9dcb139e Mon Sep 17 00:00:00 2001 From: Anhgelus Morhtuuzh Date: Wed, 1 Oct 2025 15:04:54 +0200 Subject: feat(markdown): rewrite modifier parser to construct a better tree --- mardown/lexer.go | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'mardown/lexer.go') diff --git a/mardown/lexer.go b/mardown/lexer.go index f87e61c..8450032 100644 --- a/mardown/lexer.go +++ b/mardown/lexer.go @@ -74,7 +74,14 @@ func lex(s string) *lexers { for _, c := range []rune(s) { switch c { case '*', '_': - fn(c, lexerModifier) + if (currentType != lexerModifier && len(previous) > 0) || + (len(previous) > 0 && []rune(previous)[0] != c) || + len(previous) > 2 { + lexs = append(lexs, lexer{Type: currentType, Value: previous}) + previous = "" + } + currentType = lexerModifier + previous += string(c) case '`': fn(c, lexerCode) case '\n': -- cgit v1.2.3