From 47e55a87154df8f3ce5dd9ac7e5a402f1b00e817 Mon Sep 17 00:00:00 2001 From: Shohei YOSHIDA Date: Thu, 17 Nov 2022 00:15:43 +0900 Subject: [PATCH] Update Capistrano completion --- src/_cap | 62 +++++++++++++++++++++++++++++++++----------------------- 1 file changed, 37 insertions(+), 25 deletions(-) diff --git a/src/_cap b/src/_cap index a9a8fe5..ef2abee 100644 --- a/src/_cap +++ b/src/_cap @@ -28,13 +28,14 @@ # Description # ----------- # -# Completion script for Capistrano (http://capify.org). +# Completion script for Capistrano 3.17.1 (https://capistranorb.com/) # # ------------------------------------------------------------------------------ # Authors # ------- # # * Bruno Michel (https://github.com/nono) +# * Shohei Yoshida (https://github.com/syohex) # # ------------------------------------------------------------------------------ @@ -42,32 +43,43 @@ local curcontext="$curcontext" state line cmds ret=1 _arguments -C \ - {-d,--debug}'[Prompts before each remote command execution]' \ - {-e,--explain}'[Displays help (if available) for the task]:task' \ - {-F,--default-config}'[Always use default config, even with -f]' \ - {-f,--file}'[A recipe file to load. May be given more than once]:file:_files' \ - {-H,--long-help}'[Explain these options and environment variables]' \ - {-h,--help}'[Display this help message]' \ - {-l,--logger}'[Choose logger method. STDERR used by default]:file:_files' \ - {-n,--dry-run}'[Prints out commands without running them]' \ - {-p,--password}'[Immediately prompt for the password]' \ - {-q,--quiet}'[Make the output as quiet as possible]' \ - {-r,--preserve-roles}'[Preserve task roles]' \ - {-S,--set-before}'[Set a variable before the recipes are loaded]:variable' \ - {-s,--set}'[Set a variable after the recipes are loaded]:variable' \ - {-T,--tasks}'[List all tasks (matching optional PATTERN) in the loaded recipe files]:pattern' \ - {-t,--tool}'[Abbreviates the output of -T for tool integration]' \ - {-V,--version}'[Display the Capistrano version, and exit]' \ - {-v,--verbose}'[Be more verbose. May be given more than once]' \ - {-X,--skip-system-config}'[Do not load the system config file (capistrano.conf)]' \ - {-x,--skip-user-config}'[Do not load the user config file (.caprc)]' \ - '*: :->cmds' && ret=0 + '--backtrace=[Enable full backtrace]: :(stderr stdout)' \ + '--comments[Show commented tasks only]' \ + '--job-stats[Display job statistics]:level' \ + '--suppress-backtrace[Suppress backtrace lines matching regexp PATTERN]:pattern' \ + '(-A --all)'{-A,--all}'[Show all tasks, even uncommented ones]' \ + '(-B --build-all)'{-B,--build-all}'[Build all prerequisites, including those which are up-to-date]' \ + '(-C --directory)'{-C,--directory}'[Change to DIRECTORY before doing anything]: :_files -/' \ + '(-D --describe)'{-D,--describe}'[Describe the tasks, then exit]:pattern' \ + '(-E --execute-continue)'{-E,--execute-continue}'[Execute Ruby code and exit]:code' \ + '(-f --rakefile)'{-f,--rakefile}'[Use FILENAME as the rakefile to search for]: :_files' \ + '(-G --no-system --nosystem)'{-G,--no-system,--nosystem}'[Use standard project Rakefile search paths, ignore system wide rakefiles]' \ + '(-g --system)'{-g,--system}'[Using system wide rakefiles]' \ + '(-I --libdir)'\*{-I,--libdir}'[Include LIBDIR in the search path for required modules]: :_files -/' \ + '(-j --jobs)'{-j,--jobs}'[Specifies the maximum number of tasks to execute in parallel]:num' \ + '(-m --multitask)'{-m,--multitask}'[Treat all tasks as multitasks]' \ + '(-N --no-search --nosearch)'{-N,--no-search,--nosearch}'[Do not search parent directories for the Rakefile]' \ + '(-P --prereqs)'{-P,--prereqs}'[Display the tasks and dependencies, then exit]' \ + '--execute-print[Execute some Ruby code, print the result, then exit]:code' \ + '--require[Require MODULE before executing rakefile]:module' \ + '(-R --rakelibdir --rakelib)'{-R,--rakelibdir,--rakelib}'[Auto-import any .rake files in RAKELIBDIR]: :_files -/' \ + '(-t --trace)'{-t,--trace}'[Turn on invoke/execute tracing, enable full backtrace]: :(stderr stdout)' \ + '(-T --tasks)'{-T,--tasks}'[Display the tasks with descriptions]::pattern' \ + '(-W --where)'{-W,--where}'[Describe the tasks then exit]::pattern' \ + '(-X --no-deprecation-warnings)'{-X,--no-deprecation-warnings}'[Disable the deprecation warnings]' \ + '(- *)'{-V,--version}'[Display the program version]' \ + '(-n --dry-run)'{-n,--dry-run}'[Do a dry run without executing actions]' \ + '(-r --roles)'{-r,--roles}'[Run SSH commands only on hosts matching these roles]:roles' \ + '(-z --hosts)'{-z,--hosts}'[Run SSH commands only on matching hosts]:hosts' \ + '(-p --print-config-variables)'{-p,--print-config-variables}'[Display the defined config variables before starting the deployment tasks]' \ + '(- *)'{-h,-H,--help}'[Display help message]' \ + '*: :->cmds' && ret=0 case $state in - cmds) - cmds=( ${(f)"$(_call_program commands cap -T 2> /dev/null | sed -e '/ # /!d; s/:/\\:/g; s/cap \([A-Za-z0-9\\:_-]*\) .*# /\1:/')"} ) - _describe -t commands 'cap command' cmds && ret=0 - ;; + cmds) + cmds=( ${(f)"$(_call_program commands cap -T 2>/dev/null | sed -e '/ # /!d; s/:/\\:/g; s/cap \([A-Za-z0-9\\:_-]*\) .*# /\1:/')"} ) + _describe -t commands 'cap command' cmds && ret=0 + ;; esac return ret