43 lines
829 B
Go
43 lines
829 B
Go
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
|
|
}
|