Fix tab width after ANSI reset code in preview window

Close #1423
This commit is contained in:
Junegunn Choi
2018-12-22 11:52:18 +09:00
parent 5624a89231
commit 5d16b28869
2 changed files with 9 additions and 1 deletions

View File

@@ -1036,12 +1036,14 @@ func (t *Terminal) printPreview() {
break
} else if lineNo > 0 {
var fillRet tui.FillReturn
prefixWidth := 0
_, _, ansi = extractColor(line, ansi, func(str string, ansi *ansiState) bool {
trimmed := []rune(str)
if !t.preview.wrap {
trimmed, _ = t.trimRight(trimmed, maxWidth-t.pwindow.X())
}
str, _ = t.processTabs(trimmed, 0)
str, width := t.processTabs(trimmed, prefixWidth)
prefixWidth += width
if t.theme != nil && ansi != nil && ansi.colored() {
fillRet = t.pwindow.CFill(ansi.fg, ansi.bg, ansi.attr, str)
} else {