summaryrefslogtreecommitdiff
path: root/config/style.go
diff options
context:
space:
mode:
Diffstat (limited to 'config/style.go')
-rw-r--r--config/style.go16
1 files changed, 14 insertions, 2 deletions
diff --git a/config/style.go b/config/style.go
index c3e8503..fc6f7db 100644
--- a/config/style.go
+++ b/config/style.go
@@ -6,6 +6,7 @@ import (
"os"
"path"
"regexp"
+ "strconv"
"strings"
"github.com/gdamore/tcell/v2"
@@ -139,12 +140,23 @@ func boolSwitch(val string, cur_val bool) (bool, error) {
}
}
+func extractColor(val string) tcell.Color {
+ // Check if the string can be interpreted as a number, indicating a
+ // reference to the color number. Otherwise retrieve the number based
+ // on the name.
+ if i, err := strconv.ParseUint(val, 10, 8); err == nil {
+ return tcell.PaletteColor(int(i))
+ } else {
+ return tcell.GetColor(val)
+ }
+}
+
func (s *Style) Set(attr, val string) error {
switch attr {
case "fg":
- s.Fg = tcell.GetColor(val)
+ s.Fg = extractColor(val)
case "bg":
- s.Bg = tcell.GetColor(val)
+ s.Bg = extractColor(val)
case "bold":
if state, err := boolSwitch(val, s.Bold); err != nil {
return err