aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--markdown/lexer.go22
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 {