diff options
author | Junegunn Choi <junegunn.c@gmail.com> | 2024-01-21 02:52:28 +0900 |
---|---|---|
committer | Junegunn Choi <junegunn.c@gmail.com> | 2024-01-21 02:54:41 +0900 |
commit | 16f647393838ea3eb0778a45178323aea21b67a0 (patch) | |
tree | 71f117d5d727b204f3e7f418ab8e68e1f5cbb437 /src/util | |
parent | 66546208b2d29257b736302592f9566952e29905 (diff) |
Change mattn/go-runewidth dependency to rivo/uniseg for accurate results
Related #3588 #3588 #3567
Diffstat (limited to 'src/util')
-rw-r--r-- | src/util/util.go | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/util/util.go b/src/util/util.go index 91884378..46950812 100644 --- a/src/util/util.go +++ b/src/util/util.go @@ -6,14 +6,13 @@ import ( "strings" "time" - "github.com/junegunn/go-runewidth" + "github.com/junegunn/uniseg" "github.com/mattn/go-isatty" - "github.com/rivo/uniseg" ) // StringWidth returns string width where each CR/LF character takes 1 column func StringWidth(s string) int { - return runewidth.StringWidth(s) + strings.Count(s, "\n") + strings.Count(s, "\r") + return uniseg.StringWidth(s) + strings.Count(s, "\n") + strings.Count(s, "\r") } // RunesWidth returns runes width @@ -165,7 +164,7 @@ func RepeatToFill(str string, length int, limit int) string { output := strings.Repeat(str, times) if rest > 0 { for _, r := range str { - rest -= runewidth.RuneWidth(r) + rest -= uniseg.StringWidth(string(r)) if rest < 0 { break } |