From a045313e080d2c083425e89cfd8a004cbcf72ef7 Mon Sep 17 00:00:00 2001 From: mjarkk Date: Sat, 19 Oct 2019 11:39:18 +0200 Subject: Removed the pkg/gui/theme.go file Moved most functions to the new theme/theme.go --- pkg/gui/gui.go | 16 ++++++++++++++-- pkg/gui/theme.go | 56 -------------------------------------------------------- 2 files changed, 14 insertions(+), 58 deletions(-) delete mode 100644 pkg/gui/theme.go (limited to 'pkg/gui') diff --git a/pkg/gui/gui.go b/pkg/gui/gui.go index 6430b19f7..e82beea03 100644 --- a/pkg/gui/gui.go +++ b/pkg/gui/gui.go @@ -444,7 +444,8 @@ func (gui *Gui) layout(g *gocui.Gui) error { return err } v.Frame = false - v.FgColor = gui.GetOptionsPanelTextColor() + userConfig := gui.Config.GetUserConfig() + v.FgColor = theme.GetColor(userConfig.GetStringSlice("gui.theme.optionsTextColor")) } if gui.getCommitMessageView() == nil { @@ -650,7 +651,7 @@ func (gui *Gui) Run() error { gui.g = g // TODO: always use gui.g rather than passing g around everywhere - if err := gui.SetColorScheme(); err != nil { + if err := gui.setColorScheme(); err != nil { return err } @@ -745,3 +746,14 @@ func (gui *Gui) handleDonate(g *gocui.Gui, v *gocui.View) error { } return gui.OSCommand.OpenLink("https://donorbox.org/lazygit") } + +// setColorScheme sets the color scheme for the app based on the user config +func (gui *Gui) setColorScheme() error { + userConfig := gui.Config.GetUserConfig() + theme.UpdateTheme(userConfig) + + gui.g.FgColor = theme.InactiveBorderColor + gui.g.SelFgColor = theme.ActiveBorderColor + + return nil +} diff --git a/pkg/gui/theme.go b/pkg/gui/theme.go deleted file mode 100644 index d2341bbf3..000000000 --- a/pkg/gui/theme.go +++ /dev/null @@ -1,56 +0,0 @@ -package gui - -import ( - "github.com/jesseduffield/gocui" - "github.com/jesseduffield/lazygit/pkg/theme" -) - -// GetAttribute gets the gocui color attribute from the string -func (gui *Gui) GetAttribute(key string) gocui.Attribute { - colorMap := map[string]gocui.Attribute{ - "default": gocui.ColorDefault, - "black": gocui.ColorBlack, - "red": gocui.ColorRed, - "green": gocui.ColorGreen, - "yellow": gocui.ColorYellow, - "blue": gocui.ColorBlue, - "magenta": gocui.ColorMagenta, - "cyan": gocui.ColorCyan, - "white": gocui.ColorWhite, - "bold": gocui.AttrBold, - "reverse": gocui.AttrReverse, - "underline": gocui.AttrUnderline, - } - value, present := colorMap[key] - if present { - return value - } - return gocui.ColorWhite -} - -// GetColor bitwise OR's a list of attributes obtained via the given keys -func (gui *Gui) GetColor(keys []string) gocui.Attribute { - var attribute gocui.Attribute - for _, key := range keys { - attribute |= gui.GetAttribute(key) - } - return attribute -} - -// GetOptionsPanelTextColor gets the color of the options panel text -func (gui *Gui) GetOptionsPanelTextColor() gocui.Attribute { - userConfig := gui.Config.GetUserConfig() - optionsColor := userConfig.GetStringSlice("gui.theme.optionsTextColor") - return gui.GetColor(optionsColor) -} - -// SetColorScheme sets the color scheme for the app based on the user config -func (gui *Gui) SetColorScheme() error { - userConfig := gui.Config.GetUserConfig() - theme.UpdateTheme(userConfig) - - gui.g.FgColor = theme.InactiveBorderColor - gui.g.SelFgColor = theme.ActiveBorderColor - - return nil -} -- cgit v1.2.3