# udevadm(8) completion -*- shell-script -*- # Use of this file is deprecated. Upstream completion is available in # systemd >= 196, use that instead. _udevadm() { local cur prev words cword split _init_completion -s || return local i udevcmd for ((i = 1; i < cword; i++)); do if [[ ${words[i]} != -* ]]; then udevcmd=${words[i]} break fi done case $prev in --help | --version | --property | --children-max | --timeout | --seq-start | \ --seq-end | --attr-match | --attr-nomatch | --parent-match | --property-match | \ --tag-match | --subsystem-match | --subsystem-nomatch | --sysname-match | \ --path) return ;; --log-priority) COMPREPLY=($(compgen -W 'err info debug' -- "$cur")) return ;; --query) COMPREPLY=($(compgen -W 'name symlink path property all' \ -- "$cur")) return ;; --name) cur=${cur:=/dev/} _filedir return ;; --device-id-of-file | --exit-if-exists) _filedir return ;; --action) COMPREPLY=($(compgen -W 'add change remove' -- "$cur")) return ;; --type) COMPREPLY=($(compgen -W 'devices subsystems failed' -- "$cur")) return ;; esac $split && return if [[ ! -v udevcmd ]]; then case $cur in -*) COMPREPLY=($(compgen -W '--help --version --debug' -- "$cur")) ;; *) COMPREPLY=($(compgen -W "$("$1" --help 2>/dev/null | awk '/^[ \t]/ { print $1 }')" -- "$cur")) ;; esac return fi if [[ $cur == -* ]]; then COMPREPLY=($(compgen -W \ '$("$1" ${udevcmd-} --help 2>/dev/null | _parse_help -)' -- "$cur")) [[ ${COMPREPLY-} == *= ]] && compopt -o nospace fi } && complete -F _udevadm udevadm # ex: filetype=sh