From d929c8cbc09732337fb4805accbf3564e9cca0bb Mon Sep 17 00:00:00 2001 From: Unit 193 Date: Tue, 20 Mar 2018 22:56:16 -0400 Subject: Import Upstream version 18 --- zsh-completion | 164 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 164 insertions(+) create mode 100644 zsh-completion (limited to 'zsh-completion') diff --git a/zsh-completion b/zsh-completion new file mode 100644 index 0000000..bc4e4d3 --- /dev/null +++ b/zsh-completion @@ -0,0 +1,164 @@ +#compdef pacstrap genfstab arch-chroot + +_pacstrap_args=( + '-h[display help]' +) + +_pacstrap_args_nonh=( + '(-h --help)-c[Use the package cache on the host, rather than the target]' + '(-h --help)-d[Allow installation to a non-mountpoint directory]' + '(--help -h)-i[Avoid auto-confirmation of package selections]' +) + + +# builds command for invoking pacman in a _call_program command - extracts +# relevant options already specified (config file, etc) +# $cmd must be declared by calling function +_pacman_get_command() { + # this is mostly nicked from _perforce + cmd=( "pacman" "2>/dev/null") + integer i + for (( i = 2; i < CURRENT - 1; i++ )); do + if [[ ${words[i]} = "--config" || ${words[i]} = "--root" ]]; then + cmd+=( ${words[i,i+1]} ) + fi + done +} + +# provides completions for packages available from repositories +# these can be specified as either 'package' or 'repository/package' +_pacman_completions_all_packages() { + local -a cmd packages repositories packages_long + _pacman_get_command + + if compset -P1 '*/*'; then + packages=( $(_call_program packages $cmd[@] -Sql ${words[CURRENT]%/*}) ) + typeset -U packages + _wanted repo_packages expl "repository/package" compadd ${(@)packages} + else + packages=( $(_call_program packages $cmd[@] -Sql) ) + typeset -U packages + _wanted packages expl "packages" compadd - "${(@)packages}" + + repositories=(${(o)${${${(M)${(f)"$(