Add ZSH completion
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de> Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
This commit is contained in:
parent
3da3a5486f
commit
6350ec0461
2
Makefile
2
Makefile
|
@ -59,6 +59,7 @@ install:
|
|||
for l in ${COMMITPKG_LINKS}; do ln -sf commitpkg $(DESTDIR)$(PREFIX)/bin/$$l; done
|
||||
for l in ${ARCHBUILD_LINKS}; do ln -sf archbuild $(DESTDIR)$(PREFIX)/bin/$$l; done
|
||||
install -Dm0644 bash_completion $(DESTDIR)/etc/bash_completion.d/devtools
|
||||
install -Dm0644 zsh_completion $(DESTDIR)$(PREFIX)/share/zsh/site-functions/_devtools
|
||||
ln -sf archco $(DESTDIR)$(PREFIX)/bin/communityco
|
||||
|
||||
uninstall:
|
||||
|
@ -68,6 +69,7 @@ uninstall:
|
|||
for l in ${COMMITPKG_LINKS}; do rm -f $(DESTDIR)$(PREFIX)/bin/$$l; done
|
||||
for l in ${ARCHBUILD_LINKS}; do rm -f $(DESTDIR)$(PREFIX)/bin/$$l; done
|
||||
rm $(DESTDIR)/etc/bash_completion.d/devtools
|
||||
rm $(DESTDIR)$(PREFIX)/share/zsh/site-functions/_devtools
|
||||
rm -f $(DESTDIR)$(PREFIX)/bin/communityco
|
||||
|
||||
dist:
|
||||
|
|
|
@ -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_installed_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_installed_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
|
Loading…
Reference in New Issue