|
|
@@ -83,12 +83,50 @@ func (sw *StyleWrapper) UnmarshalTOML(v any) error {
|
|
|
return nil
|
|
|
}
|
|
|
|
|
|
+type BorderSetWrapper struct{ tview.BorderSet }
|
|
|
+
|
|
|
+func (bw *BorderSetWrapper) UnmarshalTOML(val any) error {
|
|
|
+ s, ok := val.(string)
|
|
|
+ if !ok {
|
|
|
+ return errInvalidType
|
|
|
+ }
|
|
|
+
|
|
|
+ switch s {
|
|
|
+ case "hidden":
|
|
|
+ bw.BorderSet = tview.BorderSetHidden()
|
|
|
+ case "plain":
|
|
|
+ bw.BorderSet = tview.BorderSetPlain()
|
|
|
+ case "round":
|
|
|
+ bw.BorderSet = tview.BorderSetRound()
|
|
|
+ case "thick":
|
|
|
+ bw.BorderSet = tview.BorderSetThick()
|
|
|
+ case "double":
|
|
|
+ bw.BorderSet = tview.BorderSetDouble()
|
|
|
+ }
|
|
|
+
|
|
|
+ return nil
|
|
|
+}
|
|
|
+
|
|
|
type (
|
|
|
ThemeStyle struct {
|
|
|
NormalStyle StyleWrapper `toml:"normal_style"`
|
|
|
ActiveStyle StyleWrapper `toml:"active_style"`
|
|
|
}
|
|
|
|
|
|
+ TitleTheme struct {
|
|
|
+ ThemeStyle
|
|
|
+ Alignment AlignmentWrapper `toml:"alignment"`
|
|
|
+ }
|
|
|
+
|
|
|
+ BorderTheme struct {
|
|
|
+ ThemeStyle
|
|
|
+ Enabled bool `toml:"enabled"`
|
|
|
+ Padding [4]int `toml:"padding"`
|
|
|
+
|
|
|
+ NormalSet BorderSetWrapper `toml:"normal_set"`
|
|
|
+ ActiveSet BorderSetWrapper `toml:"active_set"`
|
|
|
+ }
|
|
|
+
|
|
|
GuildsTreeTheme struct {
|
|
|
AutoExpandFolders bool `toml:"auto_expand_folders"`
|
|
|
Graphics bool `toml:"graphics"`
|