Autoload color schemes in userspace

* if a color scheme exists system wide the one in userspace will take
  precedence
This commit is contained in:
Eike Plack 2015-07-17 15:36:57 +02:00
parent 8342ad9574
commit 778b9dcf79

View File

@ -34,14 +34,20 @@ def -shell-params -docstring "colorscheme <name>: enable named colorscheme" \
-shell-completion %{ -shell-completion %{
prefix=${1:0:${kak_pos_in_token}} prefix=${1:0:${kak_pos_in_token}}
( (
for col in ${kak_runtime}/colors/*.kak; do localconfdir=${XDG_CONFIG_HOME:-${HOME}/.config}/kak
for col in ${kak_runtime}/colors/*.kak ${localconfdir}/colors/*.kak; do
expr $(basename "${col}" .kak) : "^\(${prefix}.*\)$" expr $(basename "${col}" .kak) : "^\(${prefix}.*\)$"
done done
) | grep -v '^$' ) | sort -u | grep -v '^$'
} \ } \
colorscheme %{ %sh{ colorscheme %{ %sh{
localconfdir=${XDG_CONFIG_HOME:-${HOME}/.config}/kak
if [ $# -eq 1 ]; then 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'" echo "source '${kak_runtime}/colors/$1.kak'"
fi
else else
echo -color Error 'Usage: colorscheme <scheme name>' echo -color Error 'Usage: colorscheme <scheme name>'
fi fi
@ -60,12 +66,7 @@ def -shell-params -docstring "colorscheme <name>: enable named colorscheme" \
done done
} }
if [ -n "${XDG_CONFIG_HOME}" ]; then localconfdir=${XDG_CONFIG_HOME:-${HOME}/.config}/kak
localconfdir="${XDG_CONFIG_HOME}/kak"
else
localconfdir="$HOME/.config/kak"
fi
if [ -d "${localconfdir}/autoload" ]; then if [ -d "${localconfdir}/autoload" ]; then
autoload ${localconfdir}/autoload autoload ${localconfdir}/autoload
elif [ -d "${kak_runtime}/autoload" ]; then elif [ -d "${kak_runtime}/autoload" ]; then