_watchexec() { local i cur prev opts cmd COMPREPLY=() cur="${COMP_WORDS[COMP_CWORD]}" prev="${COMP_WORDS[COMP_CWORD-1]}" cmd="" opts="" for i in ${COMP_WORDS[@]} do case "${cmd},${i}" in ",$1") cmd="watchexec" ;; *) ;; esac done case "${cmd}" in watchexec) opts="-w -W -c -o -r -s -d -p -n -E -1 -N -q -e -f -j -i -v -h -V --watch --watch-non-recursive --clear --on-busy-update --restart --signal --stop-signal --stop-timeout --map-signal --debounce --stdin-quit --no-vcs-ignore --no-project-ignore --no-global-ignore --no-default-ignore --no-discover-ignore --ignore-nothing --postpone --delay-run --poll --shell --no-environment --emit-events-to --only-emit-events --env --no-process-group --wrap-process --notify --color --timings --quiet --bell --project-origin --workdir --exts --filter --filter-file --filter-prog --ignore --ignore-file --fs-events --no-meta --print-events --manual --completions --verbose --log-file --help --version [COMMAND]..." if [[ ${cur} == -* || ${COMP_CWORD} -eq 1 ]] ; then COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) return 0 fi case "${prev}" in --watch) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; -w) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; --watch-non-recursive) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; -W) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; --clear) COMPREPLY=($(compgen -W "clear reset" -- "${cur}")) return 0 ;; -c) COMPREPLY=($(compgen -W "clear reset" -- "${cur}")) return 0 ;; --on-busy-update) COMPREPLY=($(compgen -W "queue do-nothing restart signal" -- "${cur}")) return 0 ;; -o) COMPREPLY=($(compgen -W "queue do-nothing restart signal" -- "${cur}")) return 0 ;; --signal) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; -s) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; --stop-signal) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; --stop-timeout) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; --map-signal) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; --debounce) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; -d) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; --delay-run) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; --poll) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; --shell) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; --emit-events-to) COMPREPLY=($(compgen -W "environment stdio file json-stdio json-file none" -- "${cur}")) return 0 ;; --env) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; -E) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; --wrap-process) COMPREPLY=($(compgen -W "group session none" -- "${cur}")) return 0 ;; --color) COMPREPLY=($(compgen -W "auto always never" -- "${cur}")) return 0 ;; --project-origin) COMPREPLY=() if [[ "${BASH_VERSINFO[0]}" -ge 4 ]]; then compopt -o plusdirs fi return 0 ;; --workdir) COMPREPLY=() if [[ "${BASH_VERSINFO[0]}" -ge 4 ]]; then compopt -o plusdirs fi return 0 ;; --exts) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; -e) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; --filter) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; -f) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; --filter-file) local oldifs if [ -n "${IFS+x}" ]; then oldifs="$IFS" fi IFS=$'\n' COMPREPLY=($(compgen -f "${cur}")) if [ -n "${oldifs+x}" ]; then IFS="$oldifs" fi if [[ "${BASH_VERSINFO[0]}" -ge 4 ]]; then compopt -o filenames fi return 0 ;; --filter-prog) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; -j) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; --ignore) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; -i) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; --ignore-file) local oldifs if [ -n "${IFS+x}" ]; then oldifs="$IFS" fi IFS=$'\n' COMPREPLY=($(compgen -f "${cur}")) if [ -n "${oldifs+x}" ]; then IFS="$oldifs" fi if [[ "${BASH_VERSINFO[0]}" -ge 4 ]]; then compopt -o filenames fi return 0 ;; --fs-events) COMPREPLY=($(compgen -W "access create remove rename modify metadata" -- "${cur}")) return 0 ;; --completions) COMPREPLY=($(compgen -W "bash elvish fish nu powershell zsh" -- "${cur}")) return 0 ;; --log-file) COMPREPLY=($(compgen -f "${cur}")) return 0 ;; *) COMPREPLY=() ;; esac COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) return 0 ;; esac } if [[ "${BASH_VERSINFO[0]}" -eq 4 && "${BASH_VERSINFO[1]}" -ge 4 || "${BASH_VERSINFO[0]}" -gt 4 ]]; then complete -F _watchexec -o nosort -o bashdefault -o default watchexec else complete -F _watchexec -o bashdefault -o default watchexec fi