diff options
Diffstat (limited to 'markdown')
| -rw-r--r-- | markdown/lexer.go | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/markdown/lexer.go b/markdown/lexer.go index 375ef7f..5520310 100644 --- a/markdown/lexer.go +++ b/markdown/lexer.go @@ -57,11 +57,27 @@ func (l *lexers) Before() bool { } func (l *lexers) String() string { - s := "Lexers[" + var sb strings.Builder + // 8 for "Lexers[" and "]" + sb.Grow(8 + len(l.lexers)*4) + _, err := sb.WriteString("Lexers[") + if err != nil { + panic(err) + } for _, l := range l.lexers { - s += l.String() + " " + _, err = sb.WriteString(l.String()) + if err == nil { + _, err = sb.WriteString(" ") + } + if err != nil { + panic(err) + } + } + _, err = sb.WriteString("]") + if err != nil { + panic(err) } - return s + "]" + return sb.String() } func lex(s string, opt *Option) *lexers { |
