diff options
| author | Anhgelus Morhtuuzh <william@herges.fr> | 2026-02-05 10:50:12 +0100 |
|---|---|---|
| committer | Anhgelus Morhtuuzh <william@herges.fr> | 2026-02-05 16:36:41 +0000 |
| commit | d6e75145e54854484f2114398ff89787d243608a (patch) | |
| tree | e79dc8d4cc0a25767dff618405bb8d982800229a /markdown/lexer.go | |
| parent | cd3bd5dff64fa80c7170d7f5d2d05f610fec36ee (diff) | |
feat(markdown): interprate callout
Diffstat (limited to 'markdown/lexer.go')
| -rw-r--r-- | markdown/lexer.go | 19 |
1 files changed, 12 insertions, 7 deletions
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 } |
