From 5cf0eb449d326e80ce2ad8e34f4525670bbbaecf Mon Sep 17 00:00:00 2001 From: Daniel Fichtinger Date: Fri, 18 Jul 2025 16:18:24 -0400 Subject: [PATCH] AutoYADM commit: 2025-07-18 16:18:24 --- .config/kak/autoload/root.kak | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/.config/kak/autoload/root.kak b/.config/kak/autoload/root.kak index d3198b81..0cfa3914 100644 --- a/.config/kak/autoload/root.kak +++ b/.config/kak/autoload/root.kak @@ -1,5 +1,24 @@ provide-module root %∴ declare-option str-list root_globs .git .kakrc kakrc + declare-option str project_root %sh{ echo "$PWD" } + define-command root-discover %{ + evaluate-commands %sh{ + globs="$kak_opt_root_globs" + dir="$PWD" + + while [ "$dir" != "/" ]; do + for glob in $globs; do + match=$(fd -H -td -1 --glob "$glob" "$dir" --max-depth 1 2>/dev/null | head -n1) + if [ -n "$match" ]; then + root="$match" + break + fi + done + dir="$(dirname "$dir")" + done + printf 'set-option global project_root "%s"\n' "$root" + } + } # project-specific configuration hook global BufCreate (.*/)?(\.kakrc\.local|\.kakrc\.local|\.kakrc) %{ set-option buffer filetype kak