From b33569b96eaf851c7027133936d098d72330d084 Mon Sep 17 00:00:00 2001 From: Harsh Singh Date: Thu, 15 Jan 2015 11:58:50 -0600 Subject: [PATCH] fixes plugin aliases, adds completion Fixes all plugin aliases: alias wppa='activate' goes to => alias wppa='wp plugin activate' adds completions --- plugins/wp-cli/wp-cli.plugin.zsh | 47 +++++++++++++++++++++++--------- 1 file changed, 34 insertions(+), 13 deletions(-) diff --git a/plugins/wp-cli/wp-cli.plugin.zsh b/plugins/wp-cli/wp-cli.plugin.zsh index 5d9551e24..f37f600b1 100644 --- a/plugins/wp-cli/wp-cli.plugin.zsh +++ b/plugins/wp-cli/wp-cli.plugin.zsh @@ -52,19 +52,19 @@ alias wpmlo='wp menu location' # Option # Plugin -alias wppa='activate' -alias wppda='deactivate' -alias wppd='delete' -alias wppg='get' -alias wppi='install' -alias wppis='is-installed' -alias wppl='list' -alias wppp='path' -alias wpps='search' -alias wppst='status' -alias wppt='toggle' -alias wppu='uninstall' -alias wppu='update' +alias wppa='wp plugin activate' +alias wppda='wp plugin deactivate' +alias wppd='wp plugin delete' +alias wppg='wp plugin get' +alias wppi='wp plugin install' +alias wppis='wp plugin installed' +alias wppl='wp plugin list' +alias wppp='wp plugin path' +alias wpps='wp plugin search' +alias wppst='wp plugin status' +alias wppt='wp plugin toggle' +alias wppu='wp plugin uninstall' +alias wppu='wp plugin update' # Post alias wppoc='wp post create' @@ -136,3 +136,24 @@ alias wpwd='wp widget delete' alias wpwl='wp widget list' alias wpwm='wp widget move' alias wpwu='wp widget update' + +autoload -U +X bashcompinit && bashcompinit +# bash completion for the `wp` command + +_wp_complete() { + local cur=${COMP_WORDS[COMP_CWORD]} + + IFS=$'\n'; # want to preserve spaces at the end + local opts="$(wp cli completions --line="$COMP_LINE" --point="$COMP_POINT")" + + if [[ "$opts" =~ \\s* ]] + then + COMPREPLY=( $(compgen -f -- $cur) ) + elif [[ $opts = "" ]] + then + COMPREPLY=( $(compgen -f -- $cur) ) + else + COMPREPLY=( ${opts[*]} ) + fi +} +complete -o nospace -F _wp_complete wp