def -params 1 -docstring "colorscheme <name>: enable named colorscheme" \ -shell-candidates %{ localconfdir=${XDG_CONFIG_HOME:-${HOME}/.config}/kak for col in ${kak_runtime}/colors/*.kak ${localconfdir}/colors/*.kak; do candidate=$(basename "${col}" .kak) case ${candidate} in \**) ;; *) echo ${candidate} ;; esac done } \ colorscheme %{ %sh{ localconfdir=${XDG_CONFIG_HOME:-${HOME}/.config}/kak if [ $# -eq 1 ]; then if [ -f "${localconfdir}/colors/$1.kak" ];then echo "source '${localconfdir}/colors/$1.kak'" else echo "source '${kak_runtime}/colors/$1.kak'" fi else echo "echo -color Error 'Usage: colorscheme <scheme name>'" fi }} %sh{ autoload_directory() { find -L "$1" -type f -name '*\.kak' \ -exec printf 'try %%{ source "%s" } catch %%{ echo -debug Autoload: could not load "%s" }\n' '{}' '{}' \; } localconfdir=${XDG_CONFIG_HOME:-${HOME}/.config}/kak echo "colorscheme default" if [ -d "${localconfdir}/autoload" ]; then autoload_directory ${localconfdir}/autoload elif [ -d "${kak_runtime}/autoload" ]; then autoload_directory ${kak_runtime}/autoload fi if [ -f "${kak_runtime}/kakrc.local" ]; then echo "source '${kak_runtime}/kakrc.local'" fi if [ -f "${localconfdir}/kakrc" ]; then echo "source '${localconfdir}/kakrc'" fi }