Save history to disk. Fixes #1

This commit is contained in:
Tulir Asokan
2018-03-22 19:51:20 +02:00
parent 232f7fe1be
commit 702a75a8c0
8 changed files with 147 additions and 25 deletions

View File

@ -28,7 +28,7 @@ type Message struct {
BasicMeta
ID string
Text string
Buffer []string
buffer []string
prevBufferWidth int
}
@ -64,12 +64,12 @@ func (message *Message) CalculateBuffer(width int) {
if width < 2 {
return
}
message.Buffer = []string{}
message.buffer = []string{}
forcedLinebreaks := strings.Split(message.Text, "\n")
newlines := 0
for _, str := range forcedLinebreaks {
if len(str) == 0 && newlines < 1 {
message.Buffer = append(message.Buffer, "")
message.buffer = append(message.buffer, "")
newlines++
} else {
newlines = 0
@ -87,7 +87,7 @@ func (message *Message) CalculateBuffer(width int) {
extract = extract[:matches[len(matches)-1][1]]
}
}
message.Buffer = append(message.Buffer, extract)
message.buffer = append(message.buffer, extract)
str = str[len(extract):]
}
}
@ -97,3 +97,11 @@ func (message *Message) CalculateBuffer(width int) {
func (message *Message) RecalculateBuffer() {
message.CalculateBuffer(message.prevBufferWidth)
}
func (message *Message) Buffer() []string {
return message.buffer
}
func (message *Message) Height() int {
return len(message.buffer)
}