From 5e23ab6fec6935fc10ae9b2242f1f73d56facd99 Mon Sep 17 00:00:00 2001 From: Will Boyce Date: Wed, 9 Jan 2013 15:43:46 +0000 Subject: [PATCH] Defer `compdef` calls until after `compinit -i` is called Conflicts: antigen.zsh --- antigen.zsh | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/antigen.zsh b/antigen.zsh index 1f93f0f..35e66a3 100644 --- a/antigen.zsh +++ b/antigen.zsh @@ -7,6 +7,10 @@ local _ANTIGEN_BUNDLE_RECORD="" local _ANTIGEN_INSTALL_DIR="$(dirname $0)" +# Used to defer compinit/compdef +typeset -a __deferred_compdefs +compdef () { __deferred_compdefs[$(($#__deferred_compdefs+1))]=$* } + # Syntaxes # antigen-bundle [=/] # Keyword only arguments: @@ -392,9 +396,12 @@ antigen-theme () { antigen-apply () { # Initialize completion. - # TODO: Only load completions if there are any changes to the bundle - # repositories. - compinit -i + local cd + for cd in $__deferred_compdefs; do + compdef $cd + done + unset __deferred_compdefs + compdef _antigen antigen } antigen-list () { -- 2.0.0