From 0289d90fb900a906c3257ee81e7e61d9ae66bc8f Mon Sep 17 00:00:00 2001 From: Konstantin Demin Date: Tue, 20 Feb 2024 09:51:55 +0300 Subject: [PATCH] zsh: zwc things --- .config/zsh/lib/completion.zsh | 4 +++- .config/zsh/lib/selfservice.zsh | 8 +++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/.config/zsh/lib/completion.zsh b/.config/zsh/lib/completion.zsh index 164d5e2..af25e2f 100644 --- a/.config/zsh/lib/completion.zsh +++ b/.config/zsh/lib/completion.zsh @@ -83,6 +83,7 @@ __z_comp_external() { return 3 fi fi + zcompile -zUR "$f" || return 4 autoload -Uz "_$c" return 0 @@ -110,8 +111,9 @@ z-comp-invalidate() { [ -n "$1" ] || return 1 f="${ZSHU[d_cache]}/completion/_$1" + rm -f "$f.zwc" [ -f "$f" ] || return 2 - rm -f "$f" || return 3 + rm -f "$f" } ## reload or new session are required to regenerate completions diff --git a/.config/zsh/lib/selfservice.zsh b/.config/zsh/lib/selfservice.zsh index ed54cf2..fb189e3 100644 --- a/.config/zsh/lib/selfservice.zsh +++ b/.config/zsh/lib/selfservice.zsh @@ -14,7 +14,13 @@ dotfiles-git() { ( z-zwc-gen() { local i for i ( "${ZSHU[d_conf]}"/**/*.zsh(N.r) ) ; do - zcompile -U "$i" + zcompile -UR "$i" + done + for i ( "${ZSHU[d_cache]}/completion"/*(N.r) ) ; do + case "$i" in + *.zwc ) continue ;; + esac + zcompile -zUR "$i" done }