1
0
mirror of https://github.com/jesseduffield/lazygit.git synced 2025-03-05 15:15:49 +02:00

82 lines
1.9 KiB
Go
Raw Normal View History

2022-04-23 10:41:40 +09:00
package icons
2022-04-23 10:57:51 +09:00
import (
2022-04-23 11:42:24 +09:00
"strings"
2022-04-23 10:57:51 +09:00
"github.com/jesseduffield/lazygit/pkg/commands/models"
)
2022-04-23 10:41:40 +09:00
2023-06-15 13:39:11 +02:00
var (
BRANCH_ICON = "\U000f062c" // 󰘬
DETACHED_HEAD_ICON = "\ue729" // 
TAG_ICON = "\uf02b" // 
COMMIT_ICON = "\U000f0718" // 󰜘
MERGE_COMMIT_ICON = "\U000f062d" // 󰘭
DEFAULT_REMOTE_ICON = "\uf02a2" // 󰊢
STASH_ICON = "\uf01c" // 
LINKED_WORKTREE_ICON = "\U000f0339" // 󰌹
MISSING_LINKED_WORKTREE_ICON = "\U000f033a" // 󰌺
2022-04-23 11:42:24 +09:00
)
var remoteIcons = map[string]string{
2023-06-15 13:39:11 +02:00
"github.com": "\ue709", // 
"bitbucket.org": "\ue703", // 
"gitlab.com": "\uf296", // 
"dev.azure.com": "\U000f0805", // 󰠅
}
func patchGitIconsForNerdFontsV2() {
BRANCH_ICON = "\ufb2b" // שׂ
COMMIT_ICON = "\ufc16" // ﰖ
MERGE_COMMIT_ICON = "\ufb2c" // שּׁ
DEFAULT_REMOTE_ICON = "\uf7a1" // 
LINKED_WORKTREE_ICON = "\uf838" // 
MISSING_LINKED_WORKTREE_ICON = "\uf839" // 
2023-06-15 13:39:11 +02:00
remoteIcons["dev.azure.com"] = "\ufd03" // ﴃ
2022-04-23 11:42:24 +09:00
}
2022-04-23 10:57:51 +09:00
func IconForBranch(branch *models.Branch) string {
if branch.DetachedHead {
2022-04-23 10:57:51 +09:00
return DETACHED_HEAD_ICON
}
return BRANCH_ICON
}
func IconForRemoteBranch(branch *models.RemoteBranch) string {
return BRANCH_ICON
}
func IconForTag(tag *models.Tag) string {
return TAG_ICON
}
2022-04-23 10:41:40 +09:00
func IconForCommit(commit *models.Commit) string {
if len(commit.Parents) > 1 {
return MERGE_COMMIT_ICON
}
return COMMIT_ICON
}
2022-04-23 11:42:24 +09:00
func IconForRemote(remote *models.Remote) string {
for domain, icon := range remoteIcons {
2022-04-23 11:42:24 +09:00
for _, url := range remote.Urls {
if strings.Contains(url, domain) {
return icon
2022-04-23 11:42:24 +09:00
}
}
}
return DEFAULT_REMOTE_ICON
}
2022-10-14 21:56:01 +09:00
func IconForStash(stash *models.StashEntry) string {
return STASH_ICON
}
2023-07-16 11:45:08 +10:00
func IconForWorktree(missing bool) string {
if missing {
return MISSING_LINKED_WORKTREE_ICON
}
return LINKED_WORKTREE_ICON
}