summaryrefslogtreecommitdiff
path: root/contrib/completion/zsh/_devtools.in
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/completion/zsh/_devtools.in')
-rw-r--r--contrib/completion/zsh/_devtools.in89
1 files changed, 69 insertions, 20 deletions
diff --git a/contrib/completion/zsh/_devtools.in b/contrib/completion/zsh/_devtools.in
index a473bc2..ee6da85 100644
--- a/contrib/completion/zsh/_devtools.in
+++ b/contrib/completion/zsh/_devtools.in
@@ -3,12 +3,18 @@
# SPDX-License-Identifier: GPL-3.0-or-later
_DEVTOOLS_LIBRARY_DIR=${_DEVTOOLS_LIBRARY_DIR:-@pkgdatadir@}
+# shellcheck source=src/lib/valid-build-install.sh
+source "${_DEVTOOLS_LIBRARY_DIR}"/lib/valid-build-install.sh
# shellcheck source=src/lib/valid-tags.sh
source "${_DEVTOOLS_LIBRARY_DIR}"/lib/valid-tags.sh
# shellcheck source=src/lib/valid-repos.sh
source "${_DEVTOOLS_LIBRARY_DIR}"/lib/valid-repos.sh
+# shellcheck source=src/lib/valid-inspect.sh
+source "${_DEVTOOLS_LIBRARY_DIR}"/lib/valid-inspect.sh
+# shellcheck source=src/lib/valid-search.sh
+source "${_DEVTOOLS_LIBRARY_DIR}"/lib/valid-search.sh
-_binary_arch=${_arch[*]:0:-1}
+_binary_arch=${DEVTOOLS_VALID_ARCHES[*]:0:-1}
_colors=(never always auto)
_archbuild_args=(
@@ -36,17 +42,20 @@ _pkgctl_auth_status_args=(
_pkgctl_build_args=(
"--arch=[Specify architectures to build for (disables auto-detection)]:arch:($_arch[*])"
- "--repo=[Specify a target repository (disables auto-detection)]:repo:($_repos[*])"
+ "--repo=[Specify a target repository (disables auto-detection)]:repo:($DEVTOOLS_VALID_REPOS[*])"
'(-s --staging)'{-s,--staging}'[Build against the staging counterpart of the auto-detected repo]'
'(-t --testing)'{-t,--testing}'[Build against the testing counterpart of the auto-detected repo]'
'(-o --offload)'{-o,--offload}'[Build on a remote server and transfer artifacts afterwards]'
'(-c --clean)'{-c,--clean}'[Recreate the chroot before building]'
- '(-I --install)'{-I,--install}'[Install a package into the working copy of the chroot]:target:_files -g "*.pkg.tar.*(.)"'
+ "--inspect[Spawn an interactive shell to inspect the chroot (never, always, failure)]:inspect:($DEVTOOLS_VALID_INSPECT_MODES[*])"
+ '*'{-I,--install-to-chroot}'[Install a package to the working copy of the chroot]:target:_files -g "*.pkg.tar.*(.)"'
+ '*'{-i,--install-to-host}"[Install the built packages to the host system]:mode:($DEVTOOLS_VALID_BUILD_INSTALL[*])"
'(-w --worker)'{-w,--worker}'[Name of the worker slot, useful for concurrent builds (disables auto-detection)]:slot:'
'--nocheck[Do not run the check() function in the PKGBUILD]'
'--pkgver=[Set pkgver, reset pkgrel and update checksums]:pkgver:'
'--pkgrel=[Set pkgrel to a given value]:pkgrel:'
'--rebuild[Increment the pkgrel variable]'
+ '--update-checksums[Force computation and update of the checksums (disables auto-detection)]'
'(-e --edit)'{-e,--edit}'[Edit the PKGBUILD before building]'
'(-r --release)'{-r,--release}'[Automatically commit, tag and release after building]'
'(-m --message=)'{-m,--message=}"[Use the given <msg> as the commit message]:message:"
@@ -64,15 +73,15 @@ _pkgctl_db_cmds=(
_pkgctl_db_move_args=(
'(-h --help)'{-h,--help}'[Display usage]'
- "1:src-repo:($_repos[*])"
- "2:target-repo:($_repos[*])"
+ "1:src-repo:($DEVTOOLS_VALID_REPOS[*])"
+ "2:target-repo:($DEVTOOLS_VALID_REPOS[*])"
'*:pkgbase:_devtools_completions_all_packages'
)
_pkgctl_db_remove_args=(
'(-a --arch=)'{-a,--arch=}"[Override the architecture (disables auto-detection)]:arch:($_arch[*])"
'(-h --help)'{-h,--help}'[Display usage]'
- "1:repo:($_repos[*])"
+ "1:repo:($DEVTOOLS_VALID_REPOS[*])"
'*:pkgbase:_devtools_completions_all_packages'
)
@@ -82,7 +91,7 @@ _pkgctl_db_update_args=(
_pkgctl_release_args=(
'(-m --message=)'{-m,--message=}"[Use the given <msg> as the commit message]:message:"
- '(-r --repo=)'{-r,--repo=}"[Specify a target repository (disables auto-detection)]:repo:($_repos[*])"
+ '(-r --repo=)'{-r,--repo=}"[Specify a target repository for new packages]:repo:($DEVTOOLS_VALID_REPOS[*])"
'(-s --staging)'{-s,--staging}'[Release to the staging counterpart of the auto-detected repo]'
'(-t --testing)'{-t,--testing}'[Release to the testing counterpart of the auto-detected repo]'
'(-u --db-update)'{-u,--db-update}'[Automatically update the pacman database after uploading]'
@@ -90,6 +99,18 @@ _pkgctl_release_args=(
'*:git_dir:_files -/'
)
+_pkgctl_aur_cmds=(
+ "pkgctl aur command"
+ "drop-from-repo[Drop a package from the official repository to the AUR]"
+)
+
+_pkgctl_aur_drop_from_repo_args=(
+ '(-f --force)'{-f,--force}'[Force push to the AUR overwriting the remote repository]'
+ '--no-disown[Do not disown the package on the AUR]'
+ '(-h --help)'{-h,--help}'[Display usage]'
+ '*:git_dir:_files -/'
+)
+
_pkgctl_repo_cmds=(
"pkgctl repo command"
"clone[Clone a package repository]"
@@ -130,15 +151,25 @@ _pkgctl_repo_create_args=(
)
_pkgctl_repo_web_args=(
+ '--print[Print the url instead of opening it with xdg-open]'
'(-h --help)'{-h,--help}'[Display usage]'
'*:git_dir:_files -/'
)
+_pkgctl_search_args=(
+ '--no-default-filter[Do not apply default filter (like -path:keys/pgp/*.asc)]'
+ '--json[Enable printing results in JSON]'
+ '(-F --format)'{-F,--format}"[Controls the formatting of the results]:format:($valid_search_output_format[*])"
+ '(-N --no-line-number)'{-N,--no-line-number}"[Don't show line numbers when formatting results]"
+ '(-h --help)'{-h,--help}'[Display usage]'
+ '1:query'
+)
+
_arch_nspawn_args=(
'-C[Location of a pacman config file]:pacman_config:_files -g "*.conf(.)"'
'-M[Location of a makepkg config file]:makepkg_config:_files -g "*.conf(.)"'
- '-c[Set pacman cache]:pacman_cache:_files -/'
- '-f[Copy file from the host to the chroot]:copy_file:_files'
+ '*-c[Set pacman cache]:pacman_cache:_files -/'
+ '*-f[Copy file from the host to the chroot]:copy_file:_files'
'-s[Do not run setarch]'
'-h[Display usage]'
'1:chroot_dir:_files -/'
@@ -146,14 +177,14 @@ _arch_nspawn_args=(
_archrelease_args=(
'-f[Force release without checks]'
- "*:arch:($_tags[*])"
+ "*:arch:($DEVTOOLS_VALID_TAGS[*])"
)
_commitpkg_args=(
'-f[Force release without checks]'
'-s[Target repo server]'
'-l[Set bandwidth limit]:limit'
- "-a[Release to a specific architecture only]:arch:($_arch[*])"
+ "-a[Release to a specific architecture only]:arch:($DEVTOOLS_VALID_ARCHES[*])"
'1:commit_msg'
)
@@ -180,15 +211,16 @@ _finddeps_args=(
_makechrootpkg_args=(
'-h[Display usage]'
'-c[Clean the chroot before building]'
- '-d[Bind directory into build chroot as read-write]:bind_dir_rw:_files -/'
- '-D[Bind directory into build chroot as read-only]:bind_dir_ro:_files -/'
+ '*-d[Bind directory into build chroot as read-write]:bind_dir_rw:_files -/'
+ '*-D[Bind directory into build chroot as read-only]:bind_dir_ro:_files -/'
'-u[Update the working copy of the chroot before building]'
'-r[The chroot dir to use]:chroot_dir:_files -/'
- '-I[Install a package into the working copy]:target:_files -g "*.pkg.tar.*(.)"'
+ '*-I[Install a package into the working copy]:target:_files -g "*.pkg.tar.*(.)"'
'-l[The directory to use as the working copy]:copy_dir:_files -/'
'-n[Run namcap on the package]'
'-T[Build in a temporary directory]'
'-U[Run makepkg as a specified user]:makepkg_user'
+ "-x[Spawn an interactive shell to inspect the chroot (never, always, failure)]:inspect:($DEVTOOLS_VALID_INSPECT_MODES[*])"
)
_mkarchroot_args=(
@@ -212,12 +244,12 @@ _sogrep_args=(
'(-v --verbose)'{-v,--verbose}'[Show matched links in addition to pkgname]'
'(-r --refresh)'{-r,--refresh}'[Refresh the links databases]'
'(-h --help)'{-h,--help}'[Display usage]'
- '1:repo:(all $_repos[*])'
+ '1:repo:(all $DEVTOOLS_VALID_REPOS[*])'
'2:libname'
)
_offload_build_args=(
- '(-r --repo)'{-r,--repo}'[Build against a specific repository]:repo:($_build_repos[*])'
+ '(-r --repo)'{-r,--repo}'[Build against a specific repository]:repo:($DEVTOOLS_VALID_BUILDREPOS[*])'
'(-a --arch)'{-a,--arch}'[Build against a specific architecture]:arch:(${_binary_arch[*]})'
'(-s --server)'{-s,--server}'[Offload to a specific Build server]:server:'
'(-h --help)'{-h,--help}'[Display usage]'
@@ -225,6 +257,7 @@ _offload_build_args=(
_makerepropkg_args=(
'-d[Run diffoscope if the package is unreproducible]'
+ '-n[Do not run the check() function in the PKGBUILD]'
'-c[Set pacman cache]:pacman_cache:_files -/'
'-M[Location of a makepkg config file]:makepkg_config:_files -g "*.conf(.)"'
'-h[Display usage]'
@@ -239,13 +272,15 @@ _devtools_completions_all_packages() {
_pkgctl_cmds=(
"pkgctl command"
+ "aur[Interact with the Arch User Repository (AUR)]"
"auth[Authenticate with services like GitLab]"
"build[Build packages inside a clean chroot]"
- "db[Pacman database modification for packge update, move etc]"
+ "db[Pacman database modification for package update, move etc]"
"diff[Compare package files using different modes]"
"release[Release step to commit, tag and upload build artifacts]"
"repo[Manage Git packaging repositories and their configuration]"
- "version[Show pkgctl version information]"
+ "search[Search for an expression across the GitLab packaging group]"
+ "version[Check and manage package versions against upstream]"
)
_pkgctl_args=(
@@ -253,8 +288,22 @@ _pkgctl_args=(
'(-h --help)'{-h,--help}'[Display usage]'
)
-_pkgctl_version_args=(
+_pkgctl_version_cmds=(
+ "pkgctl version command"
+ "check[Compares local package versions against upstream versions]"
+ "upgrade[Adjust the PKGBUILD to match the latest upstream version]"
+)
+
+_pkgctl_version_check_args=(
+ '(-v --verbose)'{-v,--verbose}'[Display results including up-to-date versions]'
+ '(-h --help)'{-h,--help}'[Display usage]'
+ '*:git_dir:_files -/'
+)
+
+_pkgctl_version_upgrade_args=(
+ '(-v --verbose)'{-v,--verbose}'[Display results including up-to-date versions]'
'(-h --help)'{-h,--help}'[Display usage]'
+ '*:git_dir:_files -/'
)
_pkgctl_diff_args=("${_diffpkg_args[@]}")
@@ -276,7 +325,7 @@ _handle_subcommands() {
fi
;;
args)
- local service_sub=${service_name}_$line[1]
+ local service_sub=${service_name}_${line[1]//-/_}
if typeset -p ${service_sub}_args &> /dev/null; then
local cmd_args=${service_sub}_args[@]
_arguments -s "${(P)cmd_args}"