Compare commits

...

1 commit

Author SHA1 Message Date
Zachary Yedidia
f61dd7a894 Display a tilde before every capital letter for Canute 2023-02-13 14:15:34 -08:00

View file

@ -2,6 +2,7 @@ package display
import ( import (
"strconv" "strconv"
"unicode"
runewidth "github.com/mattn/go-runewidth" runewidth "github.com/mattn/go-runewidth"
"github.com/zyedidia/micro/v2/internal/buffer" "github.com/zyedidia/micro/v2/internal/buffer"
@ -624,9 +625,13 @@ func (w *BufWindow) displayBuffer() {
width = util.Min(ts, maxWidth-vloc.X) width = util.Min(ts, maxWidth-vloc.X)
totalwidth += ts totalwidth += ts
default: default:
if unicode.IsUpper(r) {
width = 2
} else {
width = runewidth.RuneWidth(r) width = runewidth.RuneWidth(r)
totalwidth += width totalwidth += width
} }
}
word = append(word, glyph{r, combc, curStyle, width}) word = append(word, glyph{r, combc, curStyle, width})
wordwidth += width wordwidth += width
@ -658,6 +663,10 @@ func (w *BufWindow) displayBuffer() {
} }
for _, r := range word { for _, r := range word {
if unicode.IsUpper(r.r) {
draw('~', nil, r.style, true, true)
draw(r.r, r.combc, r.style, true, false)
} else {
draw(r.r, r.combc, r.style, true, true) draw(r.r, r.combc, r.style, true, true)
// Draw any extra characters either spaces for tabs or @ for incomplete wide runes // Draw any extra characters either spaces for tabs or @ for incomplete wide runes
@ -671,6 +680,7 @@ func (w *BufWindow) displayBuffer() {
draw(char, nil, r.style, true, false) draw(char, nil, r.style, true, false)
} }
} }
}
bloc.X++ bloc.X++
} }