q/src/build/token/List.go
2024-06-15 11:36:57 +02:00

26 lines
428 B
Go

package token
import (
"bytes"
)
// List is a slice of tokens.
type List []Token
// String implements string serialization.
func (list List) String() string {
builder := bytes.Buffer{}
var last Token
for _, t := range list {
if last.Kind == Keyword || last.Kind == Separator || last.Kind == Define || t.Kind == Define {
builder.WriteByte(' ')
}
builder.Write(t.Bytes)
last = t
}
return builder.String()
}