diff options
Diffstat (limited to 'mardown/lexer.go')
| -rw-r--r-- | mardown/lexer.go | 9 |
1 files changed, 8 insertions, 1 deletions
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': |
