mirror of
https://github.com/Llewellynvdm/fzf.git
synced 2025-04-02 07:21:51 +00:00
Make --color attributes mergeable
So you can override the colors and still have the text attributes # Default colors and attributes fzf export FZF_DEFAULT_OPTS='--color hl👎underline,hl+👎underline:reverse' # Default colors with underline+reverse attributes fzf # Different colors with underline+reverse attributes fzf --color hl:176,hl+:177 Related: https://github.com/junegunn/fzf.vim/issues/1197#issuecomment-739804363
This commit is contained in:
parent
00a3610331
commit
e0a22e76f8
@ -644,7 +644,7 @@ func parseTheme(defaultTheme *tui.ColorTheme, str string) *tui.ColorTheme {
|
||||
fail()
|
||||
}
|
||||
|
||||
cattr := tui.NewColorAttr()
|
||||
mergeAttr := func(cattr *tui.ColorAttr) {
|
||||
for _, component := range components[1:] {
|
||||
switch component {
|
||||
case "regular":
|
||||
@ -674,41 +674,42 @@ func parseTheme(defaultTheme *tui.ColorTheme, str string) *tui.ColorTheme {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
switch components[0] {
|
||||
case "input":
|
||||
theme.Input = cattr
|
||||
mergeAttr(&theme.Input)
|
||||
case "fg":
|
||||
theme.Fg = cattr
|
||||
mergeAttr(&theme.Fg)
|
||||
case "bg":
|
||||
theme.Bg = cattr
|
||||
mergeAttr(&theme.Bg)
|
||||
case "preview-fg":
|
||||
theme.PreviewFg = cattr
|
||||
mergeAttr(&theme.PreviewFg)
|
||||
case "preview-bg":
|
||||
theme.PreviewBg = cattr
|
||||
mergeAttr(&theme.PreviewBg)
|
||||
case "fg+":
|
||||
theme.Current = cattr
|
||||
mergeAttr(&theme.Current)
|
||||
case "bg+":
|
||||
theme.DarkBg = cattr
|
||||
mergeAttr(&theme.DarkBg)
|
||||
case "gutter":
|
||||
theme.Gutter = cattr
|
||||
mergeAttr(&theme.Gutter)
|
||||
case "hl":
|
||||
theme.Match = cattr
|
||||
mergeAttr(&theme.Match)
|
||||
case "hl+":
|
||||
theme.CurrentMatch = cattr
|
||||
mergeAttr(&theme.CurrentMatch)
|
||||
case "border":
|
||||
theme.Border = cattr
|
||||
mergeAttr(&theme.Border)
|
||||
case "prompt":
|
||||
theme.Prompt = cattr
|
||||
mergeAttr(&theme.Prompt)
|
||||
case "spinner":
|
||||
theme.Spinner = cattr
|
||||
mergeAttr(&theme.Spinner)
|
||||
case "info":
|
||||
theme.Info = cattr
|
||||
mergeAttr(&theme.Info)
|
||||
case "pointer":
|
||||
theme.Cursor = cattr
|
||||
mergeAttr(&theme.Cursor)
|
||||
case "marker":
|
||||
theme.Selected = cattr
|
||||
mergeAttr(&theme.Selected)
|
||||
case "header":
|
||||
theme.Header = cattr
|
||||
mergeAttr(&theme.Header)
|
||||
default:
|
||||
fail()
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user