1
0
mirror of https://github.com/jesseduffield/lazygit.git synced 2024-12-04 10:34:55 +02:00

Fix multibyte initial characters

This commit is contained in:
Ryooooooga 2021-10-23 20:46:37 +09:00 committed by Jesse Duffield
parent 253504a094
commit 6171690b00
3 changed files with 21 additions and 7 deletions

View File

@ -124,8 +124,8 @@ var authorInitialCache = make(map[string]string)
var authorNameCache = make(map[string]string)
func shortAuthor(authorName string) string {
if _, ok := authorInitialCache[authorName]; ok {
return authorInitialCache[authorName]
if value, ok := authorInitialCache[authorName]; ok {
return value
}
initials := getInitials(authorName)
@ -140,8 +140,8 @@ func shortAuthor(authorName string) string {
}
func longAuthor(authorName string) string {
if _, ok := authorNameCache[authorName]; ok {
return authorNameCache[authorName]
if value, ok := authorNameCache[authorName]; ok {
return value
}
truncatedName := utils.TruncateWithEllipsis(authorName, 17)
@ -184,7 +184,7 @@ func getInitials(authorName string) string {
return utils.LimitStr(authorName, 2)
}
return split[0][0:1] + split[1][0:1]
return utils.LimitStr(split[0], 1) + utils.LimitStr(split[1], 1)
}
func actionColorMap(str string) style.TextStyle {

View File

@ -146,8 +146,12 @@ func Reverse(values []string) []string {
}
func LimitStr(value string, limit int) string {
if len(value) > limit {
return value[:limit]
n := 0
for i := range value {
if n >= limit {
return value[:i]
}
n++
}
return value
}

View File

@ -290,6 +290,16 @@ func TestLimitStr(t *testing.T) {
limit: 3,
want: "abc",
},
{
values: "あいう",
limit: 1,
want: "あ",
},
{
values: "あいう",
limit: 2,
want: "あい",
},
} {
if got := LimitStr(test.values, test.limit); !assert.EqualValues(t, got, test.want) {
t.Errorf("LimitString(%v, %d) = %v; want %v", test.values, test.limit, got, test.want)