From d6e75145e54854484f2114398ff89787d243608a Mon Sep 17 00:00:00 2001 From: Anhgelus Morhtuuzh Date: Thu, 5 Feb 2026 10:50:12 +0100 Subject: feat(markdown): interprate callout --- markdown/lexer.go | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) (limited to 'markdown/lexer.go') diff --git a/markdown/lexer.go b/markdown/lexer.go index f79b2ec..7386844 100644 --- a/markdown/lexer.go +++ b/markdown/lexer.go @@ -139,13 +139,18 @@ func lex(s string, opt *Option) *lexers { if !newLine && i < len(runes)-1 { next := runes[i+1] runes := []rune(previous) - if c == '[' && next == '!' { - fn(c, lexerCallout, nil) - continue - } else if c == '!' && len(runes) > 0 && previous[len(previous)-1] == '[' { - fn(c, lexerCallout, nil) - continue - } else if c == ']' && next != '(' { + if (c == '[' && next == '!') || + (c == '!' && len(runes) > 0 && previous[len(previous)-1] == '[') || + (c == ']' && next != '(') { + allSpace := true + for i := 0; allSpace && i < len(runes); i++ { + if runes[i] != ' ' { + allSpace = false + } + } + if allSpace { + previous = "" + } fn(c, lexerCallout, nil) continue } -- cgit v1.2.3