feat: Make all themes easily user-customizable

This is achieved by using custom @-prefixed tmux options which are set
with the `-o` option, meaning, the theme will only set the value if it
is not already set.

This allows users to override any of the options in the theme by simply
setting them before loading the theme.

Additionally all themes are now generated using a custom theme builder,
that allows sharing various parts of themes between them easily.
This commit is contained in:
2019-04-30 01:48:12 +01:00
parent 26012e0d6c
commit ba8616db4c
84 changed files with 3467 additions and 1519 deletions

View File

@@ -51,11 +51,11 @@ func tmuxHasOptions(t *testing.T, theme string, s tmux.Scope, m tmux.Options) {
if err == nil {
for k, v := range m {
_, ok := opts[k]
assert.Truef(t, ok, `%s: Key "%s" is not available`, theme, k)
assert.Truef(t, ok, `Key "%s" is not available in %s`, k, theme)
if ok {
assert.Equalf(t,
v, opts[k],
`%s: Key "%s" is not "%s"`, theme, k, v,
`Key "%s" in "%s"`, k, theme,
)
}
}