68 lines
1.8 KiB
Plaintext
68 lines
1.8 KiB
Plaintext
def -params 1.. runtime %{ %sh{
|
|
while [ $# -gt 0 ]; do
|
|
echo "source '${kak_runtime}/$1'"
|
|
shift
|
|
done
|
|
}}
|
|
|
|
def -params 1 -docstring "colorscheme <name>: enable named colorscheme" \
|
|
-shell-completion %{
|
|
prefix=$(printf %s "$1" | cut -c-${kak_pos_in_token})
|
|
(
|
|
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
|
|
\**) ;;
|
|
${prefix}*) echo ${candidate} ;;
|
|
esac
|
|
done
|
|
) | sort -u
|
|
} \
|
|
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
|
|
if [ -f "$rcfile" ]; then
|
|
echo "try %{ source '${rcfile}' } catch %{ echo -debug Autoload: could not load '${rcfile}' }";
|
|
fi
|
|
done
|
|
for subdir in ${dir}/*; do
|
|
if [ -d "$subdir" ]; then
|
|
autoload $subdir
|
|
fi
|
|
done
|
|
}
|
|
|
|
localconfdir=${XDG_CONFIG_HOME:-${HOME}/.config}/kak
|
|
|
|
echo "colorscheme default"
|
|
|
|
if [ -d "${localconfdir}/autoload" ]; then
|
|
autoload ${localconfdir}/autoload
|
|
elif [ -d "${kak_runtime}/autoload" ]; then
|
|
autoload ${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
|
|
}
|