refactor(config): merge border.go with theme.go

This commit is contained in:
ayn2op 2025-11-23 15:47:29 -05:00
parent 8c77e6553f
commit 7c67c21d0f
2 changed files with 38 additions and 43 deletions

View file

@ -1,43 +0,0 @@
package config
import "github.com/ayn2op/tview"
type (
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"`
}
)
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
}

View file

@ -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"`