Allows a higher-level prefixes and suffixes by allowing it directly on
`@theme-*` options, which are what are set directly against Tmux's
options.
These are the prefix/suffix options added:
- `@theme-status-left-prefix`
- `@theme-status-left-suffix`
- `@theme-status-right-prefix`
- `@theme-status-right-suffix`
- `@theme-window-status-current-prefix`
- `@theme-window-status-current-suffix`
- `@theme-window-status-prefix`
- `@theme-window-status-suffix`
As they are applied on the highest level, it means they work on ALL
themes, including the `default` theme.
The `@themepack-*` prefix/suffix options still work too, but only for
themes that uses them and have three separate text areas on the left and
right status.
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.
Use Tmux itself by spinning up a temporary test server, load the theme,
and use "show-options" to pull out and validate relevant options that
are set by the theme.