#compdef tox # ------------------------------------------------------------------------------ # Description # ----------- # # Completion script for tox 4.32.0 (https://tox.readthedocs.io). # # ------------------------------------------------------------------------------ # Authors # ------- # # * Julien Nicoulaud # # ------------------------------------------------------------------------------ _tox() { typeset -A opt_args local context state line local curcontext="$curcontext" local ret=1 local -a stderr_colors=( BLACK BLUE CYAN GREEN LIGHTBLACK_EX LIGHTBLUE_EX LIGHTCYAN_EX LIGHTGREEN_EX LIGHTMAGENTA_EX LIGHTRED_EX LIGHTWHITE_EX LIGHTYELLOW_EX MAGENTA RED RESET WHITE YELLOW ) local -a options=( '(- 1 *)'{-h,--help}'[show help options]' '--colored[should output be enriched with colors]: :(yes no)' '--stderr-color[color for stderr output]:color:(($stderr_colors))' '--exit-and-dump-after[dump tox threads after specified seconds and exit the app]:seconds' '(-c --conf)'{-c,--conf}'[configuration file/folder for tox]:file_or_dir:_files' '--workdir[tox working directory]:dir:_files -/' '--root[project root directory]:dir:_files -/' '--runner[the tox run engine to use]:runner:(virtualenv)' '--no-provision[do not perform provision]:json:_files -g "*.json"' '--no-recreate-provision[do not recreate provision tox environment]' '(-r --recreate)'{-r,--recreate}'[recreate the tox environments]' '--matrix-scope[emit a github matrix specifix to scope mentioned]:scope:(all galaxy sanity integration unit)' '--gh-matrix[emit a github matrix]' '--ansible[enable ansible testing]' ) _arguments -C \ '(- 1 *)'{-h,--help}'[show help options]' \ '--colored[should output be enriched with colors]: :(yes no)' \ '--stderr-color[color for stderr output]:color:(($stderr_colors))' \ '--exit-and-dump-after[dump tox threads after specified seconds and exit the app]:seconds' \ '(-c --conf)'{-c,--conf}'[configuration file/folder for tox]:file_or_dir:_files' \ '--workdir[tox working directory]:dir:_files -/' \ '--root[project root directory]:dir:_files -/' \ '--runner[the tox run engine to use]:runner:(virtualenv)' \ '(- *)--version[show program and plugins version and exit]' \ '--no-provision[do not perform provision]:json:_files -g "*.json"' \ '--no-recreate-provision[do not recreate provision tox environment]' \ '(-r --recreate)'{-r,--recreate}'[recreate the tox environments]' \ '--matrix-scope[emit a github matrix specifix to scope mentioned]:scope:(all galaxy sanity integration unit)' \ '--gh-matrix[emit a github matrix]' \ '--ansible[enable ansible testing]' \ \*{-x,--override}'[configuration override(s)]:override' \ \*{-v,--verbose}'[increase verbosity]' \ \*{-q,--quiet}'[decrease verbosity]' \ '1: :_tox_commands' \ '*::arg:->args' \ && ret=0 case "$state" in (args) case $words[1] in (run|run-parallel|depends|exec|list|quickstart|schema|config|devenv) options+=( '--result-json[write a JSON file with detailed information]:file:_files' '--hashseed[set PYTHONHASHSEED to the specified seed before running commands]:sed' '--discover[for Python discovery first try these Python executables]:file:_files' '(--list-dependencies --no-list-dependencies)--list-dependencies[list the dependencies installed during environment setup]' '(--list-dependencies --no-list-dependencies)--no-list-dependencies[never list the dependencies]' '--develop[install package in development mode]' ) ;| (run|run-parallel|direnv) options+=( '-m[label to evaluate]:label' '-f[factor to evaluate]:factor' ) ;| (run|run-parallel|exec|devenv) options+=( '(-s --skip-missing-interpreters)'{-s,--skip-missing-interpreters}'[do not fail tests for missing interpreters]' '(-n --notest)'{-n,--notest}'[do not run the test commands]' '(-b --pkg-only --sdistonly)'{-b,--pkg-only,--sdistonly}'[only perform the packaging activity]' '--installpkg[use specified package for installation into venv]:package' '--develop[install package in development mode]' '--no-recreate-pkg[do not recreate packaging tox environment(s)]' '--skip-pkg-install[skip package installation for this run]' '-e[enumerate all environments]:env' '--skip-env[exclude all environments selected that match this regular expression]:pattern' ) ;| (run-parallel|legacy) options+=( '(-p --parallel)'{-p,--parallel}'[run tox environments in parallel]:num' '(-o --parallel-live)'{-o,--parallel-live}'[connect to stdout while running environments]' '--parallel-no-spinner[run tox environments in parallel but do not show the spinner]' ) ;; (config) options+=( '-k[list just configuration keys specified]' '--core[show core options]' ) ;; (schema) options+=( '--strict[disallow extra properties in configuration]' ) ;; (legacy) options+=( '--force-dep[force a certain version of one of the dependencies]:req' ) ;; esac _arguments $options[@] && ret=0 ;; esac return ret } (( $+functions[_tox_commands] )) || _tox_commands() { local -a commands=( 'run:run environments' 'run-parallel:run environments in parallel' 'depends:visualize tox environment dependencies' 'list:list environment' 'devenv:set up a development environment at ENVDIR' 'schema:ganerate schema for tox configuration' 'config:show tox configuration' 'quickstart:quickly create a tox config file for a Python project' 'exec:execute an arbitrary command within a tox environment' 'legacy:legacy entry-point command' ) _describe -t commands 'command' commands "$@" } (( $+functions[_tox_envs_list] )) || _tox_envs_list() { local envs; envs=($(_call_program envs $service --listenvs-all)) if [ ${#envs} -gt 0 ]; then _values -s , 'tox environments' "${envs[@]}" else _message 'tox environments (none found)' fi } _tox "$@" # Local Variables: # mode: Shell-Script # sh-indentation: 2 # indent-tabs-mode: nil # sh-basic-offset: 2 # End: # vim: ft=zsh sw=2 ts=2 et