aboutsummaryrefslogtreecommitdiff
path: root/markdown/lexer.go
diff options
context:
space:
mode:
Diffstat (limited to 'markdown/lexer.go')
-rw-r--r--markdown/lexer.go19
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
}