mirror of
https://github.com/moparisthebest/pacman
synced 2024-12-22 15:58:50 -05:00
zsh completion for makepkg
This adds zsh completion for makepkg to the _pacman file in /usr/share/zsh/site-functions/. it completes makepkg and allows for stacking of flags like -si, -sci, et cetera. Signed-off-by: Daniel Wallace <daniel.wallace@gatech.edu>
This commit is contained in:
parent
d214c2347a
commit
7fd0d03795
@ -430,8 +430,99 @@ _keys() {
|
||||
_describe -t modules 'keys in keyring' keys && return 0
|
||||
}
|
||||
|
||||
_makepkg_shortopts=(
|
||||
'*-s[Install missing dependencies with pacman]'
|
||||
'*-i[Install package after successful build]'
|
||||
'*-A[Ignore incomplete arch field in PKGBUILD]'
|
||||
'*-c[Clean up work files after build]'
|
||||
'*-d[Skip all dependency checks]'
|
||||
'*-e[Do not extract source files (use existing src/ dir)]'
|
||||
'*-f[Overwrite existing package]'
|
||||
'*-g[Generate integrity checks for source files]'
|
||||
'*-h[Show help message and exit]'
|
||||
'*-L[Log package build process]'
|
||||
'*-m[Disable colorized output messages]'
|
||||
'*-o[Download and extract files only]'
|
||||
'-p[Use an alternate build script (instead of 'PKGBUILD')]: :_files'
|
||||
'*-r[Remove installed dependencies after a successful build]'
|
||||
'*-R[Repackage contents of the package without rebuilding]'
|
||||
'*-S[Generate a source-only tarball without downloading sources]'
|
||||
)
|
||||
|
||||
_makepkg_action_none(){
|
||||
_arguments \
|
||||
"$_makepkg_shortopts[@]"\
|
||||
"$_makepkg_longopts[@]"
|
||||
}
|
||||
_makepkg_longopts=(
|
||||
'--ignorearch[Ignore incomplete arch field in PKGBUILD]'
|
||||
'--clean[Clean up work files after build]'
|
||||
'--nodeps[Skip all dependency checks]'
|
||||
'--noextract[Do not extract source files (use existing src/ dir)]'
|
||||
'--force[Overwrite existing package]'
|
||||
'--geninteg[Generate integrity checks for source files]'
|
||||
'--help[Show help message and exit]'
|
||||
'--install[Install package after successful build]'
|
||||
'--log[Log package build process]'
|
||||
'--nocolor[Disable colorized output messages]'
|
||||
'--nobuild[Download and extract files only]'
|
||||
'--rmdeps[Remove installed dependencies after a successful build]'
|
||||
'--repackage[Repackage contents of the package without rebuilding]'
|
||||
'--syncdeps[Install missing dependencies with pacman]'
|
||||
'--source[Generate a source-only tarball without downloading sources]'
|
||||
'--allsource[Generate a source-only tarball including downloaded source]'
|
||||
'--asroot[Allow makepkg to run as root user]'
|
||||
'--check[Run check() function in the PKGBUILD]'
|
||||
'--config[Use an alternate config file instead of '/etc/makepkg.conf']: :_files'
|
||||
'--holdver[Prevent automatic version bumping for development PKGBUILDs]'
|
||||
'--key[Specify key to use for gpg signing instead of the default]: :_keys'
|
||||
'--nocheck[Do not run the check() function in the PKGBUILD]'
|
||||
'--nosign[Do not create a signature for the package]'
|
||||
'--pkg[Only build listed packages from a split package]'
|
||||
'--sign[Sign the resulting package with gpg]'
|
||||
'--skipchecksums[Do not verify checksums of the source files]'
|
||||
'--skipinteg[do not perform any verification checks on source files]'
|
||||
'--skippgpcheck[Do not verify source files with PGP signatures]'
|
||||
'--noconfirm[do not ask for confirmation when resolving dependencies]'
|
||||
'--noprogressbar[Do not show a progress bar when downloading files]'
|
||||
)
|
||||
_makepkg(){
|
||||
case $words[CURRENT] in
|
||||
-*)
|
||||
_arguments -s -w : \
|
||||
"$_makepkg_shortopts[@]" \
|
||||
"$_makepkg_longopts[@]"
|
||||
;;
|
||||
--* )
|
||||
_arguments -s \
|
||||
"$_makepkg_longopts[@]"
|
||||
;;
|
||||
- )_makepkg_action_none ;;
|
||||
* )
|
||||
i=$#
|
||||
while [[ $words[i] != -* ]] && [[ $words[$i] != "makepkg" ]];do
|
||||
i=$((i-1));
|
||||
done
|
||||
case $words[$i] in
|
||||
-*)
|
||||
_arguments -s -w : \
|
||||
"$_makepkg_shortopts[@]" \
|
||||
"$_makepkg_longopts[@]"
|
||||
;;
|
||||
--* )
|
||||
_arguments -s \
|
||||
"$_makepkg_longopts[@]"
|
||||
;;
|
||||
- )_makepkg_action_none ;;
|
||||
* ) return 1 ;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
}
|
||||
_pacman_comp() {
|
||||
case "$service" in
|
||||
makepkg)
|
||||
_makepkg "$@";;
|
||||
pacman-key)
|
||||
_pacman_key "$@";;
|
||||
pacman)
|
||||
|
Loading…
Reference in New Issue
Block a user