-
-// lineSize returns the size of a view line.
-func lineSize(tree nodeReader, line nodeKey) int {
- node, built := tree.Node(line.level, line.index)
- if !built {
- return len(pending)
- }
-
- return node.Size
-}
-
-// renderLine writes one view line, "id+n|text", and a newline.
-func renderLine(text *strings.Builder, tree nodeReader, line nodeKey) {
- body := pending
- node, built := tree.Node(line.level, line.index)
- if built {
- body = strings.ReplaceAll(node.Text, "\n", " ")
- }
-
- text.WriteString(strconv.Itoa(line.index << line.level))
- text.WriteByte('+')
- text.WriteString(strconv.Itoa(1 << line.level))
- text.WriteByte('|')
- text.WriteString(body)
- text.WriteByte('\n')
-}