Merge pull request #386 from zyedidia/revert-382-bug379

Revert "fixes #379"
This commit is contained in:
Zachary Yedidia
2016-09-28 14:07:29 -04:00
committed by GitHub
2 changed files with 3 additions and 21 deletions

View File

@@ -157,18 +157,7 @@ func GetModTime(path string) (time.Time, bool) {
// StringWidth returns the width of a string where tabs count as `tabsize` width
func StringWidth(str string, tabsize int) int {
sw := runewidth.StringWidth(str)
lineIdx := 0
for _, ch := range str {
switch ch {
case '\t':
ts := tabsize - (lineIdx % tabsize)
sw += ts - 1
case '\n':
lineIdx = 0
default:
lineIdx++
}
}
sw += NumOccurrences(str, '\t') * (tabsize - 1)
return sw
}
@@ -176,22 +165,16 @@ func StringWidth(str string, tabsize int) int {
// that have a width larger than 1 (this also counts tabs as `tabsize` width)
func WidthOfLargeRunes(str string, tabsize int) int {
count := 0
lineIdx := 0
for _, ch := range str {
var w int
if ch == '\t' {
w = tabsize - (lineIdx % tabsize)
w = tabsize
} else {
w = runewidth.RuneWidth(ch)
}
if w > 1 {
count += (w - 1)
}
if ch == '\n' {
lineIdx = 0
} else {
lineIdx++
}
}
return count
}

View File

@@ -777,8 +777,7 @@ func (v *View) DisplayView() {
}
// Now the tab has to be displayed as a bunch of spaces
tabSize := int(v.Buf.Settings["tabsize"].(float64))
remainder := tabSize - (colN % tabSize)
for i := 0; i < remainder-1; i++ {
for i := 0; i < tabSize-1; i++ {
screenX++
if screenX-v.x-v.leftCol >= v.lineNumOffset {
v.drawCell(screenX-v.leftCol, screenY, ' ', nil, lineStyle)