home/share/kak/kakrc
Eike Plack 778b9dcf79 Autoload color schemes in userspace
* if a color scheme exists system wide the one in userspace will take
  precedence
2015-07-17 16:54:40 +02:00

80 lines
1.9 KiB
Plaintext

# define color scheme
#
# For Code
face value red
face type yellow
face identifier green
face string magenta
face error default,red
face keyword blue
face operator yellow
face attribute green
face comment cyan
face meta magenta
# For markup
face title blue
face header cyan
face bold red
face italic yellow
face mono green
face block magenta
face link cyan
face bullet cyan
face list yellow
def -shell-params runtime %{ %sh{
while [ $# -gt 0 ]; do
echo "source '${kak_runtime}/$1'"
shift
done
}}
def -shell-params -docstring "colorscheme <name>: enable named colorscheme" \
-shell-completion %{
prefix=${1:0:${kak_pos_in_token}}
(
localconfdir=${XDG_CONFIG_HOME:-${HOME}/.config}/kak
for col in ${kak_runtime}/colors/*.kak ${localconfdir}/colors/*.kak; do
expr $(basename "${col}" .kak) : "^\(${prefix}.*\)$"
done
) | sort -u | grep -v '^$'
} \
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 -color Error 'Usage: colorscheme <scheme name>'
fi
}}
%sh{
autoload() {
dir=$1
for rcfile in ${dir}/*.kak; do
echo "try %{ source '${rcfile}' } catch %{ }";
done
for subdir in ${dir}/*; do
if [ -d "$subdir" ]; then
autoload $subdir
fi
done
}
localconfdir=${XDG_CONFIG_HOME:-${HOME}/.config}/kak
if [ -d "${localconfdir}/autoload" ]; then
autoload ${localconfdir}/autoload
elif [ -d "${kak_runtime}/autoload" ]; then
autoload ${kak_runtime}/autoload
fi
if [ -f "${localconfdir}/kakrc" ]; then
echo "source '${localconfdir}/kakrc'"
fi
}