From 68d5d29274795b7fdea373d61b4d5219422d3edd Mon Sep 17 00:00:00 2001 From: "Lockszmith (VAST@MacBook)" Date: Thu, 17 Apr 2025 18:22:34 -0400 Subject: [PATCH] Add Zellij mode switching/refreshing with zellij-mode --- .../private_dot_local/bin/executable_load-zellij | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/chezmoi.roots/_src.posix/private_dot_local/bin/executable_load-zellij b/chezmoi.roots/_src.posix/private_dot_local/bin/executable_load-zellij index e45e967..c208693 100644 --- a/chezmoi.roots/_src.posix/private_dot_local/bin/executable_load-zellij +++ b/chezmoi.roots/_src.posix/private_dot_local/bin/executable_load-zellij @@ -66,6 +66,21 @@ ${SET_X-:} -x . <( env zellij setup --generate-completion "$BASE_SHELL" ) fi } + + zellij-mode() { + local BASE="config.kdl" ROOT=~/.config/zellij + local SRC="${BASE}.${1:?Mode missing}" + [[ -s "${ROOT}/${SRC}" ]] \ + || ( printf 'Mode "%s" must exists!\n' "${1}" >&2; return 1 ) + [[ -L "${ROOT}/${BASE}" || ! -e "${ROOT}/${BASE}" ]] \ + || ( printf 'config.kdl is an actual file, will not replace\n' >&2; return 2 ) + if [[ "$RESET" == 'reset' ]]; then + [[ -e "${ROOT}/${BASE}" ]] && rm "${ROOT}/${BASE}" + cp "${ROOT}/${SRC}" "${ROOT}/${BASE}" + else + (cd "${ROOT}"; ln -sf "${SRC}" "${BASE}") + fi + } ${SET_X-:} -x if [[ -n "$(env which zellij)" ]]; then zellij-load-completion