fast-theme tool is used to select a theme. There are 6 shipped themes, they can be listed with fast-theme -l. Themes
are basic INI files where each key is a
style. Besides shipped themes, user can point this tool to any other theme, by simple fast-theme ~/mytheme.ini. To
obtain template to work on when creating own theme, issue fast-theme --copy-shipped-theme {theme-name}.
To alter just a few styles and not create a whole new theme, use overlay. What is overlay? It is in the same format as full theme, but can have only a few styles defined, and these styles will overwrite styles in main-theme. Example overlay file:
; overlay.ini
[base]
commandseparator = yellow,bold
comment = 17
[command-point]
function = green
command = 180File name overlay.ini is treated specially.
When specifing path, following short-hands can be used:
XDG: = ~/.config/fsh (respects $XDG_CONFIG_HOME env var)
LOCAL: = /usr/local/share/fsh/
HOME: = ~/.fsh/
OPT: = /opt/local/share/fsh/
So for example, issue fast-theme XDG:overlay to load ~/.config/fsh/overlay.ini as overlay. The .ini extension is
optional.
Each theme has key secondary, e.g. for theme free:
; free.ini
[base]
default = none
unknown-token = red,bold
; ...
; ...
; ...
secondary = zdharmaSecondary theme (zdharma in the example) will be used for highlighting of argument for eval and of $( ... )
interior (i.e. of interior of command substitution). Basically, recursive highlighting uses alternate theme to make the
highlighted code distinct:
In the above screen-shot the interior of $( ... ) uses different colors than the rest of the code. Example for eval:
First line doesn't use recursive highlighting, highlights eval argument as regular string. Second line switches theme
to zdharma and does full recursive highlighting of eval argument.
Set $FAST_WORK_DIR before loading the plugin to have e.g. processed theme files (ready to load, in Zsh format, not
INI) kept under specified location. This is handy if e.g. you install Fast-Syntax-Highlighting system-wide (e.g. from
AUR on ArchLinux) and want to have per-user theme setup.
You can use "~" in the path, e.g. FAST_WORK_DIR=~/.fsh and also the XDG:, LOCAL:, OPT:, etc. short-hands, so
e.g. FAST_WORK_DIR=XDG or FAST_WORK_DIR=XDG: is allowed (in this case it will be changed to $HOME/.config/fsh by
default by F-Sy-H loader).

