X-Git-Url: http://git.giacomolli.uk/onechat/blobdiff_plain/f2d227db9c3b556c7b0e1cfe735ccc54311850e5..5da3ea038d1e9f9a2634d5ab137aef6989a3a789:/view.go diff --git a/view.go b/view.go index 70182d0..8e71eec 100644 --- a/view.go +++ b/view.go @@ -280,9 +280,19 @@ func (v *View) lineSize(line nodeKey) int { // Render returns the view as the model reads it: one line "id+n|text" for each // node inside tags, with the newlines of the text as spaces. func (v *View) Render() string { + return v.RenderWithout(nil) +} + +// RenderWithout returns the view as Render does, without the leaf lines of the +// messages in skip. A line that merges such a message with others stays. +func (v *View) RenderWithout(skip map[int]bool) string { var text strings.Builder text.WriteString("\n") for _, line := range v.lines { + if line.level == 0 && skip[line.index] { + continue + } + v.renderLine(&text, line) }