1
0
Fork 0
devscripts/scripts/salsa.bash_completion
Daniel Baumann b543f2e88d
Adding upstream version 2.25.15.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
2025-06-21 11:04:07 +02:00

109 lines
4.4 KiB
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# /usr/share/bash-completion/completions/salsa
# Bash command completion for salsa(1).
# Documentation: bash(1), section “Programmable Completion”.
shopt -s progcomp
_salsa_completion () {
COMPREPLY=()
local cur="${COMP_WORDS[COMP_CWORD]}"
local prev="${COMP_WORDS[COMP_CWORD-1]}"
local opts=""
# Source: ./lib/Devscripts/Config.pm:sub parse_command_line
opts+=" --help"
# Source: ./lib/Devscripts/Output.pm:sub ds_prompt
opts+=" --info"
# Source: ./lib/Devscripts/Config.pm:[...]$ARGV[0]
opts+=" --conf-file --no-conf"
# Source: ./lib/Devscripts/Salsa/Config.pm:use constant keys
# Note: '<VALUE>!' == '--<VALUE> --no-<VALUE>', '<SHORT>|<LONG>'
# Headings: $ grep '^ #' ./lib/Devscripts/Salsa/Config.pm
# General salsa
opts+=" --chdir --cache-file --no-cache --path"
# Responses
opts+=" --yes --no-yes --no-fail"
# Output
opts+=" --verbose --no-verbose --debug --info"
# General GitLab
opts+=" --user --user-id --group --group-id --token --token-file"
# List/search
opts+=" --all --all-archived --archived --no-archived"
opts+=" --skip --skip-file --no-skip"
# Features
opts+=" --analytics --auto-devops --container --environments"
opts+=" --feature-flags --forks --infrastructure --issues --jobs --lfs"
opts+=" --monitor --mr --packages --pages --releases --repo --service-desk"
opts+=" --request-access --requirements --security-compliance "
opts+=" --snippets --wiki"
# Branding
opts+=" --avatar-path --desc --no-desc --desc-pattern"
# Notification
opts+=" --email --no-email --disable-email --no-disable-email"
opts+=" --email-recipient --irc-channel --irker --no-irker --disable-irker"
opts+=" --no-disable-irker --irker-host --irker-port --kgb --no-kgb"
opts+=" --disable-kgb --no-disable-kgb --kgb-options --tagpending"
opts+=" --no-tagpending --disable-tagpending --no-disable-tagpending"
# Branch
opts+=" --rename-head --no-rename-head --source-branch --dest-branch"
opts+=" --enable-remove-source-branch --no-enable-remove-source-branch"
opts+=" --disable-remove-source-branch --no-disable-remove-source-branch"
# Merge requests
opts+=" --mr-allow-squash --no-mr-allow-squash --mr-desc --mr-dst-branch"
opts+=" --mr-dst-project --mr-remove-source-branch"
opts+=" --no-mr-remove-source-branch --mr-src-branch --mr-src-project"
opts+=" --mr-title"
# CI
opts+=" --build-timeout --ci-config-path"
# Pipeline schedules
opts+=" --schedule-desc --schedule-ref --schedule-cron --schedule-tz"
opts+=" --schedule-enable --no-schedule-enable --schedule-disable"
opts+=" --no-schedule-disable --schedule-run --no-schedule-run"
opts+=" --schedule-delete --no-schedule-delete"
# Manage other GitLab instances
opts+=" --api-url --git-server-url --irker-server-url --kgb-server-url"
opts+=" --tagpending-server-url"
# Source: ./lib/Devscripts/Salsa.pm:sub run -> $ ls ./lib/Devscripts/Salsa/*.pm
# Skipping: Config Hooks Repo -> `with "Devscripts::Salsa::<VALUE>";`
# Then filter from: ./lib/Devscripts/Salsa.pm:use constant cmd_aliases -> Preferred terminology
local commands=""
# Headings: $ grep '^=head' ./scripts/salsa.pl
# Managing users and groups
commands+=" add_user join list_groups update_user whoami"
# Managing projects
commands+=" checkout fork forks last_ci_status merge_request"
commands+=" merge_requests pipeline_schedule pipeline_schedules"
commands+=" protect_branch protected_branches push push_repo"
commands+=" rename_branch update_safe"
# Other
commands+=" purge_cache"
# Aliases source: ./lib/Devscripts/Salsa.pm:use constant cmd_aliases -> Preferred terminology
commands+=" check_projects create_project delete_project delete_user"
commands+=" list_projects list_users search_groups search_projects "
commands+=" search_users update_projects"
# Disable completion for the arguments which require variables afterwards
case "${prev}" in
--api-url) ;&
--desc-pattern) ;&
--irc-channel) ;&
--path) ;&
--group-id) ;&
--user-id)
COMPREPLY=()
;;
*)
if [[ "$cur" == -* ]]; then
COMPREPLY=( $( compgen -W "$opts" -- $cur ) )
else
COMPREPLY=( $( compgen -W "$commands" -- $cur ) )
fi
;;
esac
return 0
}
complete -F _salsa_completion salsa