mirror of https://github.com/liamg/aminal.git
bug fix: Erase To Cursor should be inclusive
This commit is contained in:
parent
3c7b325fe5
commit
67bc276589
|
@ -489,8 +489,8 @@ func (buffer *Buffer) insertLine() {
|
|||
|
||||
out := make([]Line, newLineCount)
|
||||
copy(
|
||||
out[ : pos - ( uint64(len(buffer.lines)) + 1 - newLineCount )],
|
||||
buffer.lines[ uint64(len(buffer.lines)) + 1 - newLineCount : pos] )
|
||||
out[:pos-(uint64(len(buffer.lines))+1-newLineCount)],
|
||||
buffer.lines[uint64(len(buffer.lines))+1-newLineCount:pos])
|
||||
out[pos] = newLine()
|
||||
copy(out[pos+1:], buffer.lines[pos:])
|
||||
buffer.lines = out
|
||||
|
@ -587,7 +587,7 @@ func (buffer *Buffer) Index() {
|
|||
buffer.lines = append(buffer.lines, newLine())
|
||||
maxLines := buffer.getMaxLines()
|
||||
if uint64(len(buffer.lines)) > maxLines {
|
||||
buffer.lines = buffer.lines[ uint64(len(buffer.lines)) - maxLines : ]
|
||||
buffer.lines = buffer.lines[uint64(len(buffer.lines))-maxLines:]
|
||||
}
|
||||
} else {
|
||||
buffer.cursorY++
|
||||
|
@ -924,7 +924,7 @@ func (buffer *Buffer) EraseDisplayToCursor() {
|
|||
defer buffer.emitDisplayChange()
|
||||
line := buffer.getCurrentLine()
|
||||
|
||||
for i := 0; i < int(buffer.cursorX); i++ {
|
||||
for i := 0; i <= int(buffer.cursorX); i++ {
|
||||
if i >= len(line.cells) {
|
||||
break
|
||||
}
|
||||
|
|
|
@ -508,7 +508,7 @@ func TestEraseDisplayToCursor(t *testing.T) {
|
|||
lines := b.GetVisibleLines()
|
||||
assert.Equal(t, "", lines[0].String())
|
||||
assert.Equal(t, "", lines[1].String())
|
||||
assert.Equal(t, "\x00\x00\x00ng", lines[2].String())
|
||||
assert.Equal(t, "\x00\x00\x00\x00g", lines[2].String())
|
||||
|
||||
}
|
||||
|
||||
|
@ -634,4 +634,4 @@ func TestBufferMaxLines(t *testing.T) {
|
|||
assert.Equal(t, 2, len(b.lines))
|
||||
assert.Equal(t, "funny", b.lines[0].String())
|
||||
assert.Equal(t, "world", b.lines[1].String())
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue