18 lines
499 B
Go
18 lines
499 B
Go
// Common functions used in the render backends.
|
|
|
|
package mmark
|
|
|
|
import "bytes"
|
|
|
|
// blockCodePrefix adds the prefix to each line of text and returns it as a byte slice.
|
|
// If prefix is empty, text is returned as-is.
|
|
func blockCodePrefix(prefix string, text []byte) []byte {
|
|
if prefix == "" {
|
|
return text
|
|
}
|
|
|
|
nl := bytes.Count(text, []byte{'\n'})
|
|
prefixText := bytes.Replace(text, []byte{'\n'}, []byte("\n"+prefix), nl-1)
|
|
prefixText = append([]byte(prefix), prefixText...)
|
|
return prefixText
|
|
}
|