summaryrefslogtreecommitdiff
path: root/share
diff options
context:
space:
mode:
authorEike Plack <github@ekie.antares.uberspace.de>2015-07-17 15:36:57 +0200
committerEike Plack <github@ekie.antares.uberspace.de>2015-07-17 16:54:40 +0200
commit778b9dcf79f9da05c592e203c8c893cace70e162 (patch)
treebbeca54b4678ab2f69895f596852693a5ba24c00 /share
parent8342ad957425f06389aa9dacb56a12a984f946ba (diff)
Autoload color schemes in userspace
* if a color scheme exists system wide the one in userspace will take precedence
Diffstat (limited to 'share')
-rw-r--r--share/kak/kakrc19
1 files changed, 10 insertions, 9 deletions
diff --git a/share/kak/kakrc b/share/kak/kakrc
index beccc284..3e91e3d5 100644
--- a/share/kak/kakrc
+++ b/share/kak/kakrc
@@ -34,14 +34,20 @@ def -shell-params -docstring "colorscheme <name>: enable named colorscheme" \
-shell-completion %{
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}.*\)$"
done
- ) | grep -v '^$'
+ ) | sort -u | grep -v '^$'
} \
colorscheme %{ %sh{
+ localconfdir=${XDG_CONFIG_HOME:-${HOME}/.config}/kak
if [ $# -eq 1 ]; then
- echo "source '${kak_runtime}/colors/$1.kak'"
+ 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
@@ -60,12 +66,7 @@ def -shell-params -docstring "colorscheme <name>: enable named colorscheme" \
done
}
- if [ -n "${XDG_CONFIG_HOME}" ]; then
- localconfdir="${XDG_CONFIG_HOME}/kak"
- else
- localconfdir="$HOME/.config/kak"
- fi
-
+ localconfdir=${XDG_CONFIG_HOME:-${HOME}/.config}/kak
if [ -d "${localconfdir}/autoload" ]; then
autoload ${localconfdir}/autoload
elif [ -d "${kak_runtime}/autoload" ]; then