summaryrefslogtreecommitdiff
path: root/zsh_completion.in
diff options
context:
space:
mode:
authorPierre Schmitz <pierre@archlinux.de>2011-10-14 09:33:07 +0200
committerPierre Schmitz <pierre@archlinux.de>2011-10-14 09:33:07 +0200
commitb06b9f60109ad152e8a6ce8c20f9266648d9d70f (patch)
tree65199dc8d398671431f0fa5af6b65325dacde09e /zsh_completion.in
parent9715ddbe9df6e7a2a37a11c4f3e90a5446459217 (diff)
parenta0c6bf4556e211037b9d9d6de3fd17f798a3c1fb (diff)
downloaddevtools-b06b9f60109ad152e8a6ce8c20f9266648d9d70f.tar.xz
Merge remote-tracking branch 'cryptocrack/for-pierre'
Diffstat (limited to 'zsh_completion.in')
-rw-r--r--zsh_completion.in81
1 files changed, 81 insertions, 0 deletions
diff --git a/zsh_completion.in b/zsh_completion.in
new file mode 100644
index 0000000..d87850a
--- /dev/null
+++ b/zsh_completion.in
@@ -0,0 +1,81 @@
+#compdef archbuild archco archrelease archrm commitpkg finddeps makechrootpkg mkarchroot rebuildpkgs extrapkg=commitpkg corepkg=commitpkg testingpkg=commitpkg stagingpkg=commitpkg communitypkg=commitpkg community-testingpkg=commitpkg community-stagingpkg=commitpkg multilibpkg=commitpkg multilib-testingpkg=commitpkg extra-i686-build=archbuild extra-x86_64-build=archbuild testing-i686-build=archbuild testing-x86_64-build=archbuild staging-i686-build=archbuild staging-x86_64-build=archbuild multilib-build=archbuild multilib-testing-build=archbuild communityco=archco
+
+_arch=(i686 x86_64 any)
+
+_tags=(
+ core-i686 core-x86_64 core-any
+ extra-i686 extra-x86_64 extra-any
+ multilib-i686 multilib-x86_64 multilib-any
+ staging-i686 staging-x86_64 staging-any
+ testing-i686 testing-x86_64 testing-any
+ multilib-testing-i686 multilib-testing-x86_64 multilib-testing-any
+ community-i686 community-x86_64 community-any
+ community-staging-i686 community-staging-x86_64 community-staging-any
+ community-testing-i686 community-testing-x86_64 community-testing-any
+)
+
+_archbuild_args=(
+ '-c[Recreate the chroot before building]'
+ '-r[Create chroots in this directory]:base_dir:_files -/'
+)
+
+_archco_args=(
+ '*:packages:_devtools_completions_all_packages'
+)
+
+_archrelease_args=(
+ "*:arch:($_tags[*])"
+)
+
+_archrm_args=(
+ '1:path:_files -/'
+)
+
+_commitpkg_args=(
+ "-a[Release to a specific architecture only]:arch:($_arch[*])"
+ '-l[Set bandwidth limit]:limit'
+ '1:commit_msg'
+)
+
+_finddeps_args=(
+ '1:packages:_devtools_completions_all_packages'
+)
+
+_makechrootpkg_args=(
+ '-I[Install a package into the working copy]:target:_files -g "*.pkg.tar.*(.)"'
+ '-c[Clean the chroot before building]'
+ '-d[Add the package to a local db at /repo after building]'
+ '-h[Display usage]'
+ '-l[The directory to use as the working copy]:copy_dir:_files -/'
+ '-r[The chroot dir to use]:chroot_dir:_files -/'
+ '-u[Update the working copy of the chroot before building]'
+)
+
+_mkarchroot_args=(
+ '-r[Run a program within the context of the chroot]:app'
+ '-u[Update the chroot via pacman]'
+ '-f[Force overwrite of files in the working-dir]'
+ '-C[Location of a pacman config file]:pacman_config:_files'
+ '-M[Location of a makepkg config file]:makepkg_config:_files'
+ '-n[Do not copy config files into the chroot]'
+ '-c[Set pacman cache]:pacman_cache:_files -/'
+ '-h[Display usage]'
+)
+
+_rebuildpkgs_args=(
+ '1:chroot_dir:_files -/'
+ '*:packages:_devtools_completions_all_packages'
+)
+
+_devtools_completions_all_packages() {
+ typeset -U packages
+ packages=($(_call_program packages pacman -Sql))
+ compadd - "${(@)packages}"
+}
+
+_devtools() {
+ local argname="_${service}_args[@]"
+ _arguments -s "${(P)argname}"
+}
+
+_devtools