From 7e1ed5e2d34895e25dc957a57aa923c56fd99e16 Mon Sep 17 00:00:00 2001 From: Julien Rabier Date: Fri, 12 Feb 2021 16:56:30 +0100 Subject: [PATCH] [zsh] remove buildah bash completion, doesn't work --- dot_zsh/completion/buildah.bash | 1219 ------------------------------- dot_zshrc.tmpl | 3 - 2 files changed, 1222 deletions(-) delete mode 100644 dot_zsh/completion/buildah.bash diff --git a/dot_zsh/completion/buildah.bash b/dot_zsh/completion/buildah.bash deleted file mode 100644 index fdd9340..0000000 --- a/dot_zsh/completion/buildah.bash +++ /dev/null @@ -1,1219 +0,0 @@ -# bash completion file for buildah command -# -# This script provides completion of: -# - commands and their options -# - filepaths -# -# To enable the completions either: -# - place this file in /usr/share/bash-completion/completions -# or -# - copy this file to e.g. ~/.buildah-completion.sh and add the line -# below to your .bashrc after bash completion features are loaded -# . ~/.buildah-completion.sh -# -# Configuration: -# - -# __buildah_to_alternatives transforms a multiline list of strings into a single line -# string with the words separated by `|`. -# This is used to prepare arguments to __buildah_pos_first_nonflag(). -__buildah_to_alternatives() { - local parts=( $1 ) - local IFS='|' - echo "${parts[*]}" -} - -# __buildah_to_extglob transforms a multiline list of options into an extglob pattern -# suitable for use in case statements. -__buildah_to_extglob() { - local extglob=$( __buildah_to_alternatives "$1" ) - echo "@($extglob)" -} - -# __buildah_pos_first_nonflag finds the position of the first word that is neither -# option nor an option's argument. If there are options that require arguments, -# you should pass a glob describing those options, e.g. "--option1|-o|--option2" -# Use this function to restrict completions to exact positions after the argument list. -__buildah_pos_first_nonflag() { - local argument_flags=$1 - - local counter=$((${subcommand_pos:-${command_pos}} + 1)) - while [ $counter -le $cword ]; do - if [ -n "$argument_flags" ] && eval "case '${words[$counter]}' in $argument_flags) true ;; *) false ;; esac"; then - (( counter++ )) - # eat "=" in case of --option=arg syntax - [ "${words[$counter]}" = "=" ] && (( counter++ )) - else - case "${words[$counter]}" in - -*) - ;; - *) - break - ;; - esac - fi - - # Bash splits words at "=", retaining "=" as a word, examples: - # "--log-level=error" => 3 words, "--log-opt syslog-facility=daemon" => 4 words - while [ "${words[$counter + 1]}" = "=" ] ; do - counter=$(( counter + 2)) - done - - (( counter++ )) - done - - echo $counter -} - -# Note for developers: -# Please arrange options sorted alphabetically by long name with the short -# options immediately following their corresponding long form. -# This order should be applied to lists, alternatives and code blocks. - -#__buildah_previous_extglob_setting=$(shopt -p extglob) -#setopt extended_glob - -# __buildah_list_mounted -__buildah_list_mounted() { - COMPREPLY=($(compgen -W "$(buildah mount | awk '{print $1}')" -- $cur)) -} - -__buildah_list_containers() { - COMPREPLY=($(compgen -W "$(buildah containers --format '{{.ContainerName}} {{.ContainerID}}' )" -- $cur)) -} -__buildah_list_images() { - COMPREPLY=($(compgen -W "$(buildah images --format '{{.ID}} {{.Name}}' )" -- $cur)) -} -__buildah_list_images_scratch() { - COMPREPLY=($(compgen -W "$(buildah images --format '{{.ID}} {{.Name}}' ) scratch" -- $cur)) -} -__buildah_list_containers_images() { - COMPREPLY=($(compgen -W "$(buildah containers --format '{{.ContainerName}} {{.ContainerID}}') $(buildah images --format '{{.ID}} {{.Name}}')" -- $cur)) -} - -__buildah_pos_first_nonflag() { - local argument_flags=$1 - - local counter=$((${subcommand_pos:-${command_pos}} + 1)) - while [ $counter -le $cword ]; do - if [ -n "$argument_flags" ] && eval "case '${words[$counter]}' in $argument_flags) true ;; *) false ;; esac"; then - ((counter++)) - else - case "${words[$counter]}" in - -*) ;; - *) - break - ;; - esac - fi - ((counter++)) - done - - echo $counter -} - -# Transforms a multiline list of strings into a single line string -# with the words separated by "|". -# This is used to prepare arguments to __buildah_pos_first_nonflag(). -__buildah_to_alternatives() { - local parts=($1) - local IFS='|' - echo "${parts[*]}" -} - -# Transforms a multiline list of options into an extglob pattern -# suitable for use in case statements. -__buildah_to_extglob() { - local extglob=$(__buildah_to_alternatives "$1") - echo "@($extglob)" -} - -# Subcommand processing. -# Locates the first occurrence of any of the subcommands contained in the -# first argument. In case of a match, calls the corresponding completion -# function and returns 0. -# If no match is found, 1 is returned. The calling function can then -# continue processing its completion. -# -# TODO if the preceding command has options that accept arguments and an -# argument is equal ot one of the subcommands, this is falsely detected as -# a match. -__buildah_subcommands() { - local subcommands="$1" - - local counter=$(($command_pos + 1)) - while [ $counter -lt $cword ]; do - case "${words[$counter]}" in - $(__buildah_to_extglob "$subcommands") ) -subcommand_pos=$counter -local subcommand=${words[$counter]} -local completions_func=_buildah_${command}_${subcommand} -declare -F $completions_func >/dev/null && $completions_func -return 0 -;; -esac -(( counter++ )) -done -return 1 -} - - # suppress trailing whitespace - __buildah_nospace() { - # compopt is not available in ancient bash versions - type compopt &>/dev/null && compopt -o nospace - } - - - # global options that may appear after the buildah command - _buildah_buildah() { - local boolean_options=" - --help -h - --version -v - " - local options_with_args=" - --registries-conf - --registries-conf-dir - --root - --runroot - --storage-driver - --storage-opt - --userns-uid-map - --userns-gid-map - " - - case "$prev" in - --root | --runroot) - case "$cur" in - *:*) ;; # TODO somehow do _filedir for stuff inside the image, if it's already specified (which is also somewhat difficult to determine) - '') - COMPREPLY=($(compgen -W '/' -- "$cur")) - __buildah_nospace - ;; - *) - _filedir - __buildah_nospace - ;; - esac - return - ;; - --storage-driver) - COMPREPLY=($(compgen -W 'devicemapper overlay2' -- "$cur")) - return - ;; - $(__buildah_to_extglob "$options_with_args")) - return - ;; - esac - - case "$cur" in - -*) - COMPREPLY=($(compgen -W "$boolean_options $options_with_args" -- "$cur")) - ;; - *) - local counter=$(__buildah_pos_first_nonflag $(__buildah_to_extglob "$options_with_args")) - if [ $cword -eq $counter ]; then - COMPREPLY=($(compgen -W "${commands[*]} help" -- "$cur")) - fi - ;; - esac -} - - _buildah_rmi() { - local boolean_options=" - --all - -a - --prune - -p - --force - -f - --help - -h - " - - case "$cur" in - -*) - COMPREPLY=($(compgen -W "$boolean_options $options_with_args" -- "$cur")) - ;; - *) - __buildah_list_images - ;; - esac - } - - _buildah_rm() { - local boolean_options=" - --all - -a - --help - -h - " - - case "$cur" in - -*) - COMPREPLY=($(compgen -W "$boolean_options $options_with_args" -- "$cur")) - ;; - *) - __buildah_list_containers - ;; - esac - } - - _buildah_help() { - local counter=$(__buildah_pos_first_nonflag) - if [ $cword -eq $counter ]; then - COMPREPLY=($(compgen -W "${commands[*]}" -- "$cur")) - fi - } - - _buildah_config() { - local boolean_options=" - --add-history - --help - -h - " - - local options_with_args=" - --annotation - -a - --arch - --author - --cmd - --comment - --created-by - --domainname - --entrypoint - --env - -e - --healthcheck - --healthcheck-interval - --healthcheck-retries - --healthcheck-start-period - --healthcheck-timeout - --history-comment - --hostname - --label - -l - --onbuild - --os - --port - -p - --shell - --stop-signal - --user - -u - --volume - -v - --workingdir - " - - local all_options="$options_with_args $boolean_options" - - case "$cur" in - -*) - COMPREPLY=($(compgen -W "$boolean_options $options_with_args" -- "$cur")) - ;; - *) - __buildah_list_containers - ;; - esac - } - - _buildah_commit() { - local boolean_options=" - --help - -h - --disable-compression - -D - --manifest - --quiet - -q - --rm - --squash - --tls-verify - --omit-timestamp - " - - local options_with_args=" - --authfile - --cert-dir - --creds - --format - -f - --iidfile - --sign-by - " - - local all_options="$options_with_args $boolean_options" - - case "$prev" in - --signature-policy) - case "$cur" in - *:*) ;; # TODO somehow do _filedir for stuff inside the image, if it's already specified (which is also somewhat difficult to determine) - '') - COMPREPLY=($(compgen -W '/' -- "$cur")) - __buildah_nospace - ;; - *) - _filedir - __buildah_nospace - ;; - esac - return - ;; - - $(__buildah_to_extglob "$options_with_args")) - return - ;; - esac - - case "$cur" in - -*) - COMPREPLY=($(compgen -W "$boolean_options $options_with_args" -- "$cur")) - ;; - *) - __buildah_list_containers - ;; - esac - } - - _buildah_bud() { - local boolean_options=" - --help - -h - --layers - --no-cache - --omit-timestamp - --pull - --pull-always - --pull-never - --quiet - -q - --squash - --tls-verify - " - - local options_with_args=" - --arch - --add-host - --annotation - --authfile - --build-arg - --cap-add - --cap-drop - --cert-dir - --cgroup-parent - --cni-config-dir - --cni-plugin-path - --cpu-period - --cpu-quota - --cpu-shares - --cpuset-cpus - --cpuset-mems - --creds - --decryption-key - --device - --dns-search - --dns - --dns-option - -f - --file - --format - --http-proxy - --ignorefile - --iidfile - --isolation - --ipc - --label - --loglevel - --manifest - -m - --memory - --memory-swap - --net - --network - --no-pivot - --os - --pid - --platform - --runtime - --runtime-flag - --security-opt - --shm-size - --sign-by - -t - --tag - --target - --ulimit - --userns - --userns-uid-map - --userns-gid-map - --userns-uid-map-user - --userns-gid-map-group - --uts - --volume - -v - " - - local all_options="$options_with_args $boolean_options" - - case "$prev" in - --runtime) - COMPREPLY=($(compgen -W 'runc runv' -- "$cur")) - ;; - $(__buildah_to_extglob "$options_with_args")) - return - ;; - esac - - case "$cur" in - -*) - COMPREPLY=($(compgen -W "$boolean_options $options_with_args" -- "$cur")) - ;; - esac -} - - _buildah_build_using_dockerfile() { - _buildah_bud "$@" -} - - _buildah_run() { - local boolean_options=" - --add-history - --help - -t - --tty - --terminal - -h - " - - local options_with_args=" - --cap-add - --cap-drop - --cni-config-dir - --cni-plugin-path - --hostname - --ipc - --isolation - --mount - --net - --network - --pid - --runtime - --runtime-flag - --security-opt - --user - --uts - --volume - -v - " - - local all_options="$options_with_args $boolean_options" - - case "$prev" in - --runtime) - COMPREPLY=($(compgen -W 'runc runv' -- "$cur")) - ;; - $(__buildah_to_extglob "$options_with_args")) - return - ;; - esac - - case "$cur" in - -*) - COMPREPLY=($(compgen -W "$boolean_options $options_with_args" -- "$cur")) - ;; - *) - __buildah_list_containers - ;; - esac -} - - _buildah_copy() { - local boolean_options=" - --add-history - --help - -h - --quiet - -q - " - - local options_with_args=" - --chown - --contextdir - --ignorefile - " - - local all_options="$options_with_args $boolean_options" - - case "$cur" in - -*) - COMPREPLY=($(compgen -W "$boolean_options $options_with_args" -- "$cur")) - ;; - esac - } - - _buildah_add() { - local boolean_options=" - --add-history - --help - -h - --quiet - -q - " - - local options_with_args=" - -chown - --contextdir - --ignorefile - " - - local all_options="$options_with_args $boolean_options" - - case "$cur" in - -*) - COMPREPLY=($(compgen -W "$boolean_options $options_with_args" -- "$cur")) - ;; - esac - } - - _buildah_unmount() { - _buildah_umount $@ - } - - _buildah_umount() { - local boolean_options=" - --all - -a - --help - -h - " - - local options_with_args=" - " - - local all_options="$options_with_args $boolean_options" - - case "$cur" in - -*) - COMPREPLY=($(compgen -W "$boolean_options $options_with_args" -- "$cur")) - ;; - *) - __buildah_list_mounted - ;; - esac - } - - _buildah_pull() { - local boolean_options=" - --all-tags - -a - --help - -h - --quiet - -q - --tls-verify - --remove-signatures - " - - local options_with_args=" - --authfile - --cert-dir - --creds - --decryption-key - --policy - " - - local all_options="$options_with_args $boolean_options" - - case "$cur" in - -*) - COMPREPLY=($(compgen -W "$boolean_options $options_with_args" -- "$cur")) - ;; - esac - } - - _buildah_push() { - local boolean_options=" - --all - --help - -h - --disable-compression - -D - --quiet - -q - --rm - --tls-verify - --remove-signatures - " - - local options_with_args=" - --authfile - --cert-dir - --creds - --encrypt-layer - --encryption-key - --format - -f - --sign-by - " - - local all_options="$options_with_args $boolean_options" - - case "$prev" in - --signature-policy) - case "$cur" in - *:*) ;; # TODO somehow do _filedir for stuff inside the image, if it's already specified (which is also somewhat difficult to determine) - '') - COMPREPLY=($(compgen -W '/' -- "$cur")) - __buildah_nospace - ;; - *) - _filedir - __buildah_nospace - ;; - esac - return - ;; - - $(__buildah_to_extglob "$options_with_args")) - return - ;; - esac - - case "$cur" in - -*) - COMPREPLY=($(compgen -W "$boolean_options $options_with_args" -- "$cur")) - ;; - *) - __buildah_list_images - ;; - esac - } - - _buildah_logout() { - local boolean_options=" - --help - -h - --all - -a - " - - local options_with_args=" - --authfile - " - - local all_options="$options_with_args $boolean_options" - - case "$cur" in - -*) - COMPREPLY=($(compgen -W "$boolean_options $options_with_args" -- "$cur")) - ;; - esac - } - - _buildah_login() { - local boolean_options=" - --help - -h - --get-login - --tls-verify - " - - local options_with_args=" - --authfile - --cert-dir - --password string - -p - --password-stdin - --username - -u - " - - local all_options="$options_with_args $boolean_options" - - case "$cur" in - -*) - COMPREPLY=($(compgen -W "$boolean_options $options_with_args" -- "$cur")) - ;; - esac - } - - _buildah_manifest() { - local boolean_options=" - --help - -h - --all - " - subcommands=" - add - annotate - create - inspect - push - remove - " - __buildah_subcommands "$subcommands" && return - - case "$cur" in - -*) - COMPREPLY=($(compgen -W "$boolean_options " -- "$cur")) - ;; - *) - COMPREPLY=( $( compgen -W "$subcommands" -- "$cur" ) ) - ;; - esac - -} - _buildah_manifest_add() { - local boolean_options=" - --help - -h - --all - --tls-verify - " - - local options_with_args=" - --authfile - --annotation - --arch - --cert-dir - --creds - --features - --os - --os-features - --os-version - --variant - " - - local all_options="$options_with_args $boolean_options" - - case "$cur" in - -*) - COMPREPLY=($(compgen -W "$boolean_options $options_with_args" -- "$cur")) - ;; - esac - } - - _buildah_manifest_annotate() { - local boolean_options=" - --help - -h - " - - local options_with_args=" - --annotation - --arch - --features - --os - --os-features - --os-version - --variant - " - - local all_options="$options_with_args $boolean_options" - - case "$cur" in - -*) - COMPREPLY=($(compgen -W "$boolean_options $options_with_args" -- "$cur")) - ;; - esac - } - - _buildah_manifest_create() { - local boolean_options=" - --help - -h - --all - " - - local options_with_args=" - " - - local all_options="$options_with_args $boolean_options" - - case "$cur" in - -*) - COMPREPLY=($(compgen -W "$boolean_options $options_with_args" -- "$cur")) - ;; - esac - } - - _buildah_manifest_inspect() { - local boolean_options=" - --help - -h - " - - local options_with_args=" - " - - local all_options="$options_with_args $boolean_options" - - case "$cur" in - -*) - COMPREPLY=($(compgen -W "$boolean_options $options_with_args" -- "$cur")) - ;; - esac - } - - _buildah_manifest_push() { - local boolean_options=" - --help - -h - --all - --remove-signatures - --tls-verify - " - - local options_with_args=" - --authfile - --cert-dir - --creds - --digestfile - --format - -f - --rm - --sign-by - " - - local all_options="$options_with_args $boolean_options" - - case "$cur" in - -*) - COMPREPLY=($(compgen -W "$boolean_options $options_with_args" -- "$cur")) - ;; - esac - } - - _buildah_manifest_remove() { - local boolean_options=" - --help - -h - " - - local options_with_args=" - " - - local all_options="$options_with_args $boolean_options" - - case "$cur" in - -*) - COMPREPLY=($(compgen -W "$boolean_options $options_with_args" -- "$cur")) - ;; - esac - } - - _buildah_mount() { - local boolean_options=" - --help - -h - --notruncate - " - - local options_with_args=" - " - - local all_options="$options_with_args $boolean_options" - - case "$cur" in - -*) - COMPREPLY=($(compgen -W "$boolean_options $options_with_args" -- "$cur")) - ;; - *) - __buildah_list_containers - ;; - esac - } - - _buildah_ps() { - _buildah_containers - } - -_buildah_list() { - _buildah_containers - } - -_buildah_ls() { - _buildah_containers - } - -_buildah_containers() { - local boolean_options=" - --help - -h - --json - --quiet - -q - --noheading - -n - --notruncate - -a - --all - " - - local options_with_args=" - --filter - -f - --format - " - - local all_options="$options_with_args $boolean_options" - - case "$cur" in - -*) - COMPREPLY=($(compgen -W "$boolean_options $options_with_args" -- "$cur")) - ;; - esac - } - - _buildah_images() { - local boolean_options=" - --all - -a - --digests - --help - -h - --history - --json - --quiet - -q - --noheading - -n - --no-trunc - --notruncate - " - - local options_with_args=" - --filter - -f - --format - " - - local all_options="$options_with_args $boolean_options" - - case "$cur" in - -*) - COMPREPLY=($(compgen -W "$boolean_options $options_with_args" -- "$cur")) - ;; - esac - } - - _buildah_info() { - local options_with_args=" - --log-level - --D - --format - " - - local all_options="$options_with_args" - - case "$cur" in - -*) - COMPREPLY=($(compgen -W "$options_with_args" -- "$cur")) - ;; - esac -} - - _buildah_inspect() { - local options_with_args=" - --format - -f - --type - -t - " - - local all_options="$options_with_args" - - case "$cur" in - -*) - COMPREPLY=($(compgen -W "$options_with_args" -- "$cur")) - ;; - *) - __buildah_list_containers_images - ;; - -esac - } - - _buildah_tag() { - local options_with_args=" - " - - local all_options="$options_with_args" - - case "$cur" in - -*) - COMPREPLY=($(compgen -W "$options_with_args" -- "$cur")) - ;; - *) - __buildah_list_images - ;; - esac - } - - _buildah_from() { - local boolean_options=" - --help - -h - --pull - --pull-always - --pull-never - --quiet - -q - --tls-verify - " - - local options_with_args=" - --add-host - --authfile - --cap-add - --cap-drop - --cert-dir - --cgroup-parent - --cidfile - --cni-config-dir - --cni-plugin-path - --cpu-period - --cpu-quota - --cpu-shares - --cpuset-cpus - --cpuset-mems - --creds - --device - --http-proxy - --ipc - --isolation - -m - --memory - --memory-swap - --name - --net - --network - --pid - --security-opt - --shm-size - --ulimit - --userns - --userns-uid-map - --userns-gid-map - --userns-uid-map-user - --userns-gid-map-group - --uts - --volume - " - - - case "$cur" in - -*) - COMPREPLY=($(compgen -W "$boolean_options $options_with_args" -- "$cur")) - ;; - *) - __buildah_list_images_scratch - ;; - esac - } - - _buildah_unshare() { - local boolean_options=" - --help - -h - " - - local options_with_args=" - --mount - " - } - - _buildah_rename() { - local boolean_options=" - --help - -h - " - - local options_with_args=" - " - } - - _buildah_version() { - local boolean_options=" - --help - -h - " - - local options_with_args=" - " - } - - _buildah() { - #local previous_extglob_setting=$(shopt -p extglob) - #shopt -s extglob - - local commands=( - add - bud - build-using-dockerfile - commit - config - containers - copy - delete - from - images - info - inspect - list - ls - manifest - mount - pull - push - ps - rename - rm - rmi - run - tag - umount - unmount - unshare - version - ) - - COMPREPLY=() - local cur prev words cword - _get_comp_words_by_ref -n : cur prev words cword - - local command='buildah' command_pos=0 subcommand_pos - local counter=1 - while [ $counter -lt $cword ]; do - case "${words[$counter]}" in - $(__buildah_to_extglob "$global_options_with_args") ) - (( counter++ )) - ;; - -*) - ;; - =) - (( counter++ )) - ;; - *) - command="${words[$counter]}" - command_pos=$counter - break - ;; - esac - (( counter++ )) -done - - local binary="${words[0]}" - - local completions_func=_buildah_${command/-/_} - declare -F $completions_func >/dev/null && $completions_func - - #eval "$previous_extglob_setting" - return 0 - } - -#eval "$__buildah_previous_extglob_setting" -#unset __buildah_previous_extglob_setting - - complete -F _buildah buildah diff --git a/dot_zshrc.tmpl b/dot_zshrc.tmpl index 492bb66..6694121 100644 --- a/dot_zshrc.tmpl +++ b/dot_zshrc.tmpl @@ -49,9 +49,6 @@ source /usr/share/virtualenvwrapper/virtualenvwrapper_lazy.sh #source /usr/share/doc/fzf/examples/key-bindings.zsh source ~/.zsh/completion/scw-completion.zsh source ~/.zsh/completion/podman.zsh -autoload bashcompinit -bashcompinit -source ~/.zsh/completion/buildah.bash {{- end }} eval "$(zoxide init zsh)"