diff --git a/home/programs/terminal/shell/zsh/rc/completion.zsh b/home/programs/terminal/shell/zsh/rc/completion.zsh index d379bd6..25b9771 100644 --- a/home/programs/terminal/shell/zsh/rc/completion.zsh +++ b/home/programs/terminal/shell/zsh/rc/completion.zsh @@ -2,7 +2,18 @@ autoload -Uz compinit zmodload -i zsh/complist # load completion list -compinit -d $ZSH_COMPDUMP # Specify compdump file + +if [[ -n "$(print ${ZDOTDIR:-$HOME}/.zcompdump(Nmh+5))" ]]; then + # Re-check for new completions, re-creating .zcompdump if necessary. + # This check can be quite slow and it's rare that we actually have new completions to load. + # For that reason, we only do this if the compdump file is older than 5 hours. + compinit +else + # This will omit the check for new completions, + # only re-creating .zcompdump if it doesn't yet exist. + compinit -C +fi + zstyle ':completion:*' menu select # select completions with arrow keys zstyle ':completion:*' group-name '' # group results by category -zstyle ':completion:::::' completer _expand _complete _ignored _approximate #enable approximate matches for completion +zstyle ':completion:::::' completer _expand _complete _ignored _approximate # enable approximate matches for completion