From f8a6045307984c6de8d318401d6e3b33d9c808c9 Mon Sep 17 00:00:00 2001 From: Maxime Coste Date: Mon, 10 Sep 2012 20:45:34 +0200 Subject: [PATCH] Load config file in ${XDG_CONFIG_HOME}/kak/kakrc and ${XDG_CONFIG_HOME}/kak/autload/* Do not autoload files in $kak_runtime/rc, let the user choose restore the runtime command implemented in shell this time. --- src/kakrc | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/src/kakrc b/src/kakrc index 75ed1c7b..c5e053ca 100644 --- a/src/kakrc +++ b/src/kakrc @@ -1,4 +1,22 @@ -hook global WinCreate .* %{ addhl regex \h+(?=\n) 0:default,red } -hook global WinCreate .* %{ addhl number_lines } +def -shell-params runtime %{ %sh{ + while (( "$#" )); do + echo "source '${kak_runtime}/$1'" + shift + done +}} -%sh{ for rcfile in ${kak_runtime}/rc/*; do echo "try %{ source '${rcfile}' } catch %{ }"; done } +%sh{ + if [[ -n "${XDG_CONFIG_HOME}" ]]; then + localconfdir="${XDG_CONFIG_HOME}/kak" + else + localconfdir="$HOME/.config/kak" + fi + if [[ -f "${localconfdir}/kakrc" ]]; then + echo "source '${localconfdir}/kakrc'" + fi + if [[ -d "${localconfdir}/autoload" ]]; then + for rcfile in ${localconfdir}/autoload/*; do + echo "try %{ source '${rcfile}' } catch %{ }"; + done + fi +}