mirror of https://github.com/liamg/aminal.git
Add tabbing support
This commit is contained in:
parent
700bbb9af9
commit
a761595ce3
|
@ -554,6 +554,9 @@ func (buffer *Buffer) Write(runes ...rune) {
|
|||
} else if r == 0x0d {
|
||||
buffer.CarriageReturn()
|
||||
continue
|
||||
} else if r == 0x9 {
|
||||
buffer.Tab()
|
||||
continue
|
||||
}
|
||||
line := buffer.getCurrentLine()
|
||||
|
||||
|
@ -638,6 +641,18 @@ func (buffer *Buffer) CarriageReturn() {
|
|||
buffer.cursorX = 0
|
||||
}
|
||||
|
||||
func (buffer *Buffer) Tab() {
|
||||
defer buffer.emitDisplayChange()
|
||||
tabSize := 4
|
||||
shift := int(buffer.cursorX) % tabSize
|
||||
if shift == 0 {
|
||||
shift = tabSize
|
||||
}
|
||||
for i := 0; i < shift; i++ {
|
||||
buffer.Write(' ')
|
||||
}
|
||||
}
|
||||
|
||||
func (buffer *Buffer) NewLine() {
|
||||
defer buffer.emitDisplayChange()
|
||||
|
||||
|
|
Loading…
Reference in New Issue