Commit 5e23ab6fec6935fc10ae9b2242f1f73d56facd99
Committed by
Shrikant Sharat
1 parent
08e06125df
Defer `compdef` calls until after `compinit -i` is called
Conflicts: antigen.zsh
Showing 1 changed file with 10 additions and 3 deletions Side-by-side Diff
antigen.zsh
... | ... | @@ -7,6 +7,10 @@ |
7 | 7 | local _ANTIGEN_BUNDLE_RECORD="" |
8 | 8 | local _ANTIGEN_INSTALL_DIR="$(dirname $0)" |
9 | 9 | |
10 | +# Used to defer compinit/compdef | |
11 | +typeset -a __deferred_compdefs | |
12 | +compdef () { __deferred_compdefs[$(($#__deferred_compdefs+1))]=$* } | |
13 | + | |
10 | 14 | # Syntaxes |
11 | 15 | # antigen-bundle <url> [<loc>=/] |
12 | 16 | # Keyword only arguments: |
... | ... | @@ -392,9 +396,12 @@ antigen-theme () { |
392 | 396 | |
393 | 397 | antigen-apply () { |
394 | 398 | # Initialize completion. |
395 | - # TODO: Only load completions if there are any changes to the bundle | |
396 | - # repositories. | |
397 | - compinit -i | |
399 | + local cd | |
400 | + for cd in $__deferred_compdefs; do | |
401 | + compdef $cd | |
402 | + done | |
403 | + unset __deferred_compdefs | |
404 | + compdef _antigen antigen | |
398 | 405 | } |
399 | 406 | |
400 | 407 | antigen-list () { |