deployphp / deployer

The PHP deployment tool with support for popular frameworks out of the box
https://deployer.org
MIT License
10.56k stars 1.48k forks source link

Fish shell autocomplete #2527

Closed frederickjh closed 2 weeks ago

frederickjh commented 3 years ago

Please, provide a minimal reproducible example of deploy.php NA

Running dep autocomplete returns the following instructions for setting up auto completion for fish shell:

Fish

dep autocomplete --install > ~/.config/fish/completions/deployer.fish

Running this command does not produce the desired results, even after starting a new terminal session.


In #1305 it was mentioned in this comment that:

Please check this project to https://github.com/bamarni/symfony-console-autocomplete Deployer's autocomplete based on it.

Looking at the README.md for bamarni/symfony-console-autocomplete I saw that Deployer was on the list of Supported tools. So I thought why not give it a try. I installed bamarni/symfony-console-autocomplete and then ran

symfony-autocomplete --shell=fish dep > ~/.config/fish/completions/dep.fish

Even without starting a new terminal I could type dep and hit tab an see that auto completion was working. NOTE: The name of the completion file does mater it should match the command that the autocompletion is for.

The two completion files created are very different. deployer.fish starts with a hash bang for bash as it appears to be a bash script. dep.fish is a fish function that looks like a fish completion file. You can see the code for both of these in the collapsed text blocks below.

CLICK ME to see collapsed text of ~/.config/fish/completions/deployer.fish

```bash #!/bin/bash _deployer() { local cur script com opts COMPREPLY=() _get_comp_words_by_ref -n : cur words # for an alias, get the real script behind it if [[ $(type -t ${words[0]}) == "alias" ]]; then script=$(alias ${words[0]} | sed -E "s/alias ${words[0]}='(.*)'/\1/") else script=${words[0]} fi # lookup for command for word in ${words[@]:1}; do if [[ $word != -* ]]; then com=$word break fi done # completing for an option if [[ ${cur} == --* ]] ; then opts=$script [[ -n $com ]] && opts=$opts" -h "$com opts=$($opts --no-ansi 2>/dev/null | sed -n '/Options/,/^$/p' | sed -e '1d;$d' | sed 's/[^--]*\(--.*\)/\1/' | sed -En 's/[^ ]*(-(-[[:alnum:]]+){1,}).*/\1/p' | awk '{$1=$1};1'; exit ${PIPESTATUS[0]}); [[ $? -eq 0 ]] || return 0; COMPREPLY=($(compgen -W "${opts}" -- ${cur})) __ltrim_colon_completions "$cur" return 0 fi # completing for a command if [[ $cur == $com ]]; then coms=$($script list --raw 2>/dev/null | awk '{print $1}'; exit ${PIPESTATUS[0]}) [[ $? -eq 0 ]] || return 0; COMPREPLY=($(compgen -W "${coms}" -- ${cur})) __ltrim_colon_completions "$cur" return 0; fi } complete -o default -F _deployer dep ```

CLICK ME to see collapsed text of ~/.config/fish/completions/dep.fish

```fish function __fish_dep_no_subcommand for i in (commandline -opc) if contains -- $i autocomplete build cleanup copyenvsettingslocalphp createhashsalt createwebrootlink depinfo deploy drushcim drushcr drushcsexexcluded drushdisablemaintenancemode drushenslickparagraphs drushentup drushpmuslickparagraphs drushsqldump drushsseteicr drushsseteicrdev drushupdb dumpandupdatedevdb dumpandupdatetestdb getenv help init initialdeploy initialdeploydatabasesetup list localdbdump localdrushcrcimupdbcr rollback run self-update ssh updatedevdb worker config:current config:dump config:hosts debug:task deploy:clear_paths deploy:copy_dirs deploy:lock deploy:prepare deploy:release deploy:shared deploy:special deploy:symlink deploy:unlock deploy:update_code deploy:vendors deploy:writable return 1 end end return 0 end # global options complete -c dep -n '__fish_dep_no_subcommand' -l help -d 'Display this help message' complete -c dep -n '__fish_dep_no_subcommand' -l quiet -d 'Do not output any message' complete -c dep -n '__fish_dep_no_subcommand' -l verbose -d 'Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug' complete -c dep -n '__fish_dep_no_subcommand' -l version -d 'Display this application version' complete -c dep -n '__fish_dep_no_subcommand' -l ansi -d 'Force ANSI output' complete -c dep -n '__fish_dep_no_subcommand' -l no-ansi -d 'Disable ANSI output' complete -c dep -n '__fish_dep_no_subcommand' -l no-interaction -d 'Do not ask any interactive question' complete -c dep -n '__fish_dep_no_subcommand' -l file -d 'Specify Deployer file' complete -c dep -n '__fish_dep_no_subcommand' -l tag -d 'Tag to deploy' complete -c dep -n '__fish_dep_no_subcommand' -l revision -d 'Revision to deploy' complete -c dep -n '__fish_dep_no_subcommand' -l branch -d 'Branch to deploy' complete -c dep -n '__fish_dep_no_subcommand' -l stage-initial-dbdump -d 'Dump the DB from this stage, to be used in the initial deployment.' # commands complete -c dep -f -n '__fish_dep_no_subcommand' -a autocomplete -d 'Install command line autocompletion capabilities' complete -c dep -f -n '__fish_dep_no_subcommand' -a build -d '' complete -c dep -f -n '__fish_dep_no_subcommand' -a cleanup -d 'Cleaning up old releases' complete -c dep -f -n '__fish_dep_no_subcommand' -a copyenvsettingslocalphp -d 'Copy environment settings.local.php file to the server. Naming convention: settings.local-.php' complete -c dep -f -n '__fish_dep_no_subcommand' -a createhashsalt -d 'Create the required hash_salt for Drupal 8 in a text file that will be included in settings.php' complete -c dep -f -n '__fish_dep_no_subcommand' -a createwebrootlink -d 'Create webroot link to docroot folder inside the composer project root, which is also the deployment folder.' complete -c dep -f -n '__fish_dep_no_subcommand' -a depinfo -d 'Show the current deployment information.' complete -c dep -f -n '__fish_dep_no_subcommand' -a deploy -d 'Main deployment tasks group.' complete -c dep -f -n '__fish_dep_no_subcommand' -a drushcim -d 'Import Drupal 8 configuration into the database. This also runs \'drush -y cr\' before the export.' complete -c dep -f -n '__fish_dep_no_subcommand' -a drushcr -d 'Run \'drush -y cr\'' complete -c dep -f -n '__fish_dep_no_subcommand' -a drushcsexexcluded -d 'Export the excluded Drupal 8 configuration from the database. This also runs \'drush -y cr\' before the export.' complete -c dep -f -n '__fish_dep_no_subcommand' -a drushdisablemaintenancemode -d 'Run \'drush sset system.maintenance_mode 0\'' complete -c dep -f -n '__fish_dep_no_subcommand' -a drushenslickparagraphs -d 'Run \'drush -y en slick_paragraphs\'' complete -c dep -f -n '__fish_dep_no_subcommand' -a drushentup -d 'Run \'drush -y entity-updates\'' complete -c dep -f -n '__fish_dep_no_subcommand' -a drushpmuslickparagraphs -d 'Run \'drush -y pmu slick_paragraphs\'' complete -c dep -f -n '__fish_dep_no_subcommand' -a drushsqldump -d 'Make a backup of the database in the current release using \'drush sql:dump\'.' complete -c dep -f -n '__fish_dep_no_subcommand' -a drushsseteicr -d 'Set environment_indicator.current_release state so that the environmental indicator displays the git info.' complete -c dep -f -n '__fish_dep_no_subcommand' -a drushsseteicrdev -d 'Set environment_indicator.current_release state on local development environment so that the environmental indicator displays the git info.' complete -c dep -f -n '__fish_dep_no_subcommand' -a drushupdb -d 'Run \'drush -y dbup\'' complete -c dep -f -n '__fish_dep_no_subcommand' -a dumpandupdatedevdb -d 'Update dev db. Local dev db dump, followed by dump on live and import on dev to update to the latest live db.' complete -c dep -f -n '__fish_dep_no_subcommand' -a dumpandupdatetestdb -d 'Update test db. Live or dev db dump is then imported on test to update to the latest db. Run this after dumpandupdatedevdb to update both dev and test to live db and use the option --stage-initial-dbdump=dev to use the development database.' complete -c dep -f -n '__fish_dep_no_subcommand' -a getenv -d 'Get environmental variables from the host.' complete -c dep -f -n '__fish_dep_no_subcommand' -a help -d 'Displays help for a command' complete -c dep -f -n '__fish_dep_no_subcommand' -a init -d 'Initialize deployer in your project' complete -c dep -f -n '__fish_dep_no_subcommand' -a initialdeploy -d 'Task to do the initial deployment of a Drupal Drupal 8 website. This sets up needed links, configuration files and database.' complete -c dep -f -n '__fish_dep_no_subcommand' -a initialdeploydatabasesetup -d 'Setup database for new deploy. Will not create the database. Dumps, drops tables and imports database.' complete -c dep -f -n '__fish_dep_no_subcommand' -a list -d 'Lists commands' complete -c dep -f -n '__fish_dep_no_subcommand' -a localdbdump -d 'Ordered dump of the local database for storage in git. (also runs "drush cr" before' complete -c dep -f -n '__fish_dep_no_subcommand' -a localdrushcrcimupdbcr -d '' complete -c dep -f -n '__fish_dep_no_subcommand' -a rollback -d 'Rollback to previous release' complete -c dep -f -n '__fish_dep_no_subcommand' -a run -d 'Run any arbitrary command on hosts' complete -c dep -f -n '__fish_dep_no_subcommand' -a self-update -d 'Updates deployer.phar to the latest version' complete -c dep -f -n '__fish_dep_no_subcommand' -a ssh -d 'Connect to host through ssh' complete -c dep -f -n '__fish_dep_no_subcommand' -a updatedevdb -d 'Dumps live db, drops tables and imports db on dev. Will not backup dev db. Use dumpandupdatedevdb task to backup first.' complete -c dep -f -n '__fish_dep_no_subcommand' -a worker -d 'Deployer uses workers for parallel deployment' complete -c dep -f -n '__fish_dep_no_subcommand' -a config:current -d 'Show current paths' complete -c dep -f -n '__fish_dep_no_subcommand' -a config:dump -d 'Print host configuration' complete -c dep -f -n '__fish_dep_no_subcommand' -a config:hosts -d 'Print all hosts' complete -c dep -f -n '__fish_dep_no_subcommand' -a debug:task -d 'Display the task-tree for a given task' complete -c dep -f -n '__fish_dep_no_subcommand' -a deploy:clear_paths -d 'Cleaning up files and/or directories' complete -c dep -f -n '__fish_dep_no_subcommand' -a deploy:copy_dirs -d 'Copy directories' complete -c dep -f -n '__fish_dep_no_subcommand' -a deploy:lock -d 'Lock deploy' complete -c dep -f -n '__fish_dep_no_subcommand' -a deploy:prepare -d 'Preparing host for deploy' complete -c dep -f -n '__fish_dep_no_subcommand' -a deploy:release -d 'Prepare release. Clean up unfinished releases and prepare next release' complete -c dep -f -n '__fish_dep_no_subcommand' -a deploy:shared -d 'Creating symlinks for shared files and dirs' complete -c dep -f -n '__fish_dep_no_subcommand' -a deploy:special -d 'Special deployment tasks group. slick_paragraphs dbup error issue - Lightning 3.2.9 -> 3.3.0' complete -c dep -f -n '__fish_dep_no_subcommand' -a deploy:symlink -d 'Creating symlink to release' complete -c dep -f -n '__fish_dep_no_subcommand' -a deploy:unlock -d 'Unlock deploy' complete -c dep -f -n '__fish_dep_no_subcommand' -a deploy:update_code -d 'Update code' complete -c dep -f -n '__fish_dep_no_subcommand' -a deploy:vendors -d 'Installing vendors' complete -c dep -f -n '__fish_dep_no_subcommand' -a deploy:writable -d 'Make writable dirs' # command options # autocomplete complete -c dep -A -n '__fish_seen_subcommand_from autocomplete' -l install -d '' # build complete -c dep -A -n '__fish_seen_subcommand_from build' -l parallel -d 'Run tasks in parallel' complete -c dep -A -n '__fish_seen_subcommand_from build' -l limit -d 'How many host to run in parallel?' complete -c dep -A -n '__fish_seen_subcommand_from build' -l no-hooks -d 'Run task without after/before hooks' complete -c dep -A -n '__fish_seen_subcommand_from build' -l log -d 'Log to file' complete -c dep -A -n '__fish_seen_subcommand_from build' -l roles -d 'Roles to deploy' complete -c dep -A -n '__fish_seen_subcommand_from build' -l hosts -d 'Host to deploy, comma separated, supports ranges [:]' complete -c dep -A -n '__fish_seen_subcommand_from build' -l option -d 'Sets configuration option' # cleanup complete -c dep -A -n '__fish_seen_subcommand_from cleanup' -l parallel -d 'Run tasks in parallel' complete -c dep -A -n '__fish_seen_subcommand_from cleanup' -l limit -d 'How many host to run in parallel?' complete -c dep -A -n '__fish_seen_subcommand_from cleanup' -l no-hooks -d 'Run task without after/before hooks' complete -c dep -A -n '__fish_seen_subcommand_from cleanup' -l log -d 'Log to file' complete -c dep -A -n '__fish_seen_subcommand_from cleanup' -l roles -d 'Roles to deploy' complete -c dep -A -n '__fish_seen_subcommand_from cleanup' -l hosts -d 'Host to deploy, comma separated, supports ranges [:]' complete -c dep -A -n '__fish_seen_subcommand_from cleanup' -l option -d 'Sets configuration option' # copyenvsettingslocalphp complete -c dep -A -n '__fish_seen_subcommand_from copyenvsettingslocalphp' -l parallel -d 'Run tasks in parallel' complete -c dep -A -n '__fish_seen_subcommand_from copyenvsettingslocalphp' -l limit -d 'How many host to run in parallel?' complete -c dep -A -n '__fish_seen_subcommand_from copyenvsettingslocalphp' -l no-hooks -d 'Run task without after/before hooks' complete -c dep -A -n '__fish_seen_subcommand_from copyenvsettingslocalphp' -l log -d 'Log to file' complete -c dep -A -n '__fish_seen_subcommand_from copyenvsettingslocalphp' -l roles -d 'Roles to deploy' complete -c dep -A -n '__fish_seen_subcommand_from copyenvsettingslocalphp' -l hosts -d 'Host to deploy, comma separated, supports ranges [:]' complete -c dep -A -n '__fish_seen_subcommand_from copyenvsettingslocalphp' -l option -d 'Sets configuration option' # createhashsalt complete -c dep -A -n '__fish_seen_subcommand_from createhashsalt' -l parallel -d 'Run tasks in parallel' complete -c dep -A -n '__fish_seen_subcommand_from createhashsalt' -l limit -d 'How many host to run in parallel?' complete -c dep -A -n '__fish_seen_subcommand_from createhashsalt' -l no-hooks -d 'Run task without after/before hooks' complete -c dep -A -n '__fish_seen_subcommand_from createhashsalt' -l log -d 'Log to file' complete -c dep -A -n '__fish_seen_subcommand_from createhashsalt' -l roles -d 'Roles to deploy' complete -c dep -A -n '__fish_seen_subcommand_from createhashsalt' -l hosts -d 'Host to deploy, comma separated, supports ranges [:]' complete -c dep -A -n '__fish_seen_subcommand_from createhashsalt' -l option -d 'Sets configuration option' # createwebrootlink complete -c dep -A -n '__fish_seen_subcommand_from createwebrootlink' -l parallel -d 'Run tasks in parallel' complete -c dep -A -n '__fish_seen_subcommand_from createwebrootlink' -l limit -d 'How many host to run in parallel?' complete -c dep -A -n '__fish_seen_subcommand_from createwebrootlink' -l no-hooks -d 'Run task without after/before hooks' complete -c dep -A -n '__fish_seen_subcommand_from createwebrootlink' -l log -d 'Log to file' complete -c dep -A -n '__fish_seen_subcommand_from createwebrootlink' -l roles -d 'Roles to deploy' complete -c dep -A -n '__fish_seen_subcommand_from createwebrootlink' -l hosts -d 'Host to deploy, comma separated, supports ranges [:]' complete -c dep -A -n '__fish_seen_subcommand_from createwebrootlink' -l option -d 'Sets configuration option' # depinfo complete -c dep -A -n '__fish_seen_subcommand_from depinfo' -l parallel -d 'Run tasks in parallel' complete -c dep -A -n '__fish_seen_subcommand_from depinfo' -l limit -d 'How many host to run in parallel?' complete -c dep -A -n '__fish_seen_subcommand_from depinfo' -l no-hooks -d 'Run task without after/before hooks' complete -c dep -A -n '__fish_seen_subcommand_from depinfo' -l log -d 'Log to file' complete -c dep -A -n '__fish_seen_subcommand_from depinfo' -l roles -d 'Roles to deploy' complete -c dep -A -n '__fish_seen_subcommand_from depinfo' -l hosts -d 'Host to deploy, comma separated, supports ranges [:]' complete -c dep -A -n '__fish_seen_subcommand_from depinfo' -l option -d 'Sets configuration option' # deploy complete -c dep -A -n '__fish_seen_subcommand_from deploy' -l parallel -d 'Run tasks in parallel' complete -c dep -A -n '__fish_seen_subcommand_from deploy' -l limit -d 'How many host to run in parallel?' complete -c dep -A -n '__fish_seen_subcommand_from deploy' -l no-hooks -d 'Run task without after/before hooks' complete -c dep -A -n '__fish_seen_subcommand_from deploy' -l log -d 'Log to file' complete -c dep -A -n '__fish_seen_subcommand_from deploy' -l roles -d 'Roles to deploy' complete -c dep -A -n '__fish_seen_subcommand_from deploy' -l hosts -d 'Host to deploy, comma separated, supports ranges [:]' complete -c dep -A -n '__fish_seen_subcommand_from deploy' -l option -d 'Sets configuration option' # drushcim complete -c dep -A -n '__fish_seen_subcommand_from drushcim' -l parallel -d 'Run tasks in parallel' complete -c dep -A -n '__fish_seen_subcommand_from drushcim' -l limit -d 'How many host to run in parallel?' complete -c dep -A -n '__fish_seen_subcommand_from drushcim' -l no-hooks -d 'Run task without after/before hooks' complete -c dep -A -n '__fish_seen_subcommand_from drushcim' -l log -d 'Log to file' complete -c dep -A -n '__fish_seen_subcommand_from drushcim' -l roles -d 'Roles to deploy' complete -c dep -A -n '__fish_seen_subcommand_from drushcim' -l hosts -d 'Host to deploy, comma separated, supports ranges [:]' complete -c dep -A -n '__fish_seen_subcommand_from drushcim' -l option -d 'Sets configuration option' # drushcr complete -c dep -A -n '__fish_seen_subcommand_from drushcr' -l parallel -d 'Run tasks in parallel' complete -c dep -A -n '__fish_seen_subcommand_from drushcr' -l limit -d 'How many host to run in parallel?' complete -c dep -A -n '__fish_seen_subcommand_from drushcr' -l no-hooks -d 'Run task without after/before hooks' complete -c dep -A -n '__fish_seen_subcommand_from drushcr' -l log -d 'Log to file' complete -c dep -A -n '__fish_seen_subcommand_from drushcr' -l roles -d 'Roles to deploy' complete -c dep -A -n '__fish_seen_subcommand_from drushcr' -l hosts -d 'Host to deploy, comma separated, supports ranges [:]' complete -c dep -A -n '__fish_seen_subcommand_from drushcr' -l option -d 'Sets configuration option' # drushcsexexcluded complete -c dep -A -n '__fish_seen_subcommand_from drushcsexexcluded' -l parallel -d 'Run tasks in parallel' complete -c dep -A -n '__fish_seen_subcommand_from drushcsexexcluded' -l limit -d 'How many host to run in parallel?' complete -c dep -A -n '__fish_seen_subcommand_from drushcsexexcluded' -l no-hooks -d 'Run task without after/before hooks' complete -c dep -A -n '__fish_seen_subcommand_from drushcsexexcluded' -l log -d 'Log to file' complete -c dep -A -n '__fish_seen_subcommand_from drushcsexexcluded' -l roles -d 'Roles to deploy' complete -c dep -A -n '__fish_seen_subcommand_from drushcsexexcluded' -l hosts -d 'Host to deploy, comma separated, supports ranges [:]' complete -c dep -A -n '__fish_seen_subcommand_from drushcsexexcluded' -l option -d 'Sets configuration option' # drushdisablemaintenancemode complete -c dep -A -n '__fish_seen_subcommand_from drushdisablemaintenancemode' -l parallel -d 'Run tasks in parallel' complete -c dep -A -n '__fish_seen_subcommand_from drushdisablemaintenancemode' -l limit -d 'How many host to run in parallel?' complete -c dep -A -n '__fish_seen_subcommand_from drushdisablemaintenancemode' -l no-hooks -d 'Run task without after/before hooks' complete -c dep -A -n '__fish_seen_subcommand_from drushdisablemaintenancemode' -l log -d 'Log to file' complete -c dep -A -n '__fish_seen_subcommand_from drushdisablemaintenancemode' -l roles -d 'Roles to deploy' complete -c dep -A -n '__fish_seen_subcommand_from drushdisablemaintenancemode' -l hosts -d 'Host to deploy, comma separated, supports ranges [:]' complete -c dep -A -n '__fish_seen_subcommand_from drushdisablemaintenancemode' -l option -d 'Sets configuration option' # drushenslickparagraphs complete -c dep -A -n '__fish_seen_subcommand_from drushenslickparagraphs' -l parallel -d 'Run tasks in parallel' complete -c dep -A -n '__fish_seen_subcommand_from drushenslickparagraphs' -l limit -d 'How many host to run in parallel?' complete -c dep -A -n '__fish_seen_subcommand_from drushenslickparagraphs' -l no-hooks -d 'Run task without after/before hooks' complete -c dep -A -n '__fish_seen_subcommand_from drushenslickparagraphs' -l log -d 'Log to file' complete -c dep -A -n '__fish_seen_subcommand_from drushenslickparagraphs' -l roles -d 'Roles to deploy' complete -c dep -A -n '__fish_seen_subcommand_from drushenslickparagraphs' -l hosts -d 'Host to deploy, comma separated, supports ranges [:]' complete -c dep -A -n '__fish_seen_subcommand_from drushenslickparagraphs' -l option -d 'Sets configuration option' # drushentup complete -c dep -A -n '__fish_seen_subcommand_from drushentup' -l parallel -d 'Run tasks in parallel' complete -c dep -A -n '__fish_seen_subcommand_from drushentup' -l limit -d 'How many host to run in parallel?' complete -c dep -A -n '__fish_seen_subcommand_from drushentup' -l no-hooks -d 'Run task without after/before hooks' complete -c dep -A -n '__fish_seen_subcommand_from drushentup' -l log -d 'Log to file' complete -c dep -A -n '__fish_seen_subcommand_from drushentup' -l roles -d 'Roles to deploy' complete -c dep -A -n '__fish_seen_subcommand_from drushentup' -l hosts -d 'Host to deploy, comma separated, supports ranges [:]' complete -c dep -A -n '__fish_seen_subcommand_from drushentup' -l option -d 'Sets configuration option' # drushpmuslickparagraphs complete -c dep -A -n '__fish_seen_subcommand_from drushpmuslickparagraphs' -l parallel -d 'Run tasks in parallel' complete -c dep -A -n '__fish_seen_subcommand_from drushpmuslickparagraphs' -l limit -d 'How many host to run in parallel?' complete -c dep -A -n '__fish_seen_subcommand_from drushpmuslickparagraphs' -l no-hooks -d 'Run task without after/before hooks' complete -c dep -A -n '__fish_seen_subcommand_from drushpmuslickparagraphs' -l log -d 'Log to file' complete -c dep -A -n '__fish_seen_subcommand_from drushpmuslickparagraphs' -l roles -d 'Roles to deploy' complete -c dep -A -n '__fish_seen_subcommand_from drushpmuslickparagraphs' -l hosts -d 'Host to deploy, comma separated, supports ranges [:]' complete -c dep -A -n '__fish_seen_subcommand_from drushpmuslickparagraphs' -l option -d 'Sets configuration option' # drushsqldump complete -c dep -A -n '__fish_seen_subcommand_from drushsqldump' -l parallel -d 'Run tasks in parallel' complete -c dep -A -n '__fish_seen_subcommand_from drushsqldump' -l limit -d 'How many host to run in parallel?' complete -c dep -A -n '__fish_seen_subcommand_from drushsqldump' -l no-hooks -d 'Run task without after/before hooks' complete -c dep -A -n '__fish_seen_subcommand_from drushsqldump' -l log -d 'Log to file' complete -c dep -A -n '__fish_seen_subcommand_from drushsqldump' -l roles -d 'Roles to deploy' complete -c dep -A -n '__fish_seen_subcommand_from drushsqldump' -l hosts -d 'Host to deploy, comma separated, supports ranges [:]' complete -c dep -A -n '__fish_seen_subcommand_from drushsqldump' -l option -d 'Sets configuration option' # drushsseteicr complete -c dep -A -n '__fish_seen_subcommand_from drushsseteicr' -l parallel -d 'Run tasks in parallel' complete -c dep -A -n '__fish_seen_subcommand_from drushsseteicr' -l limit -d 'How many host to run in parallel?' complete -c dep -A -n '__fish_seen_subcommand_from drushsseteicr' -l no-hooks -d 'Run task without after/before hooks' complete -c dep -A -n '__fish_seen_subcommand_from drushsseteicr' -l log -d 'Log to file' complete -c dep -A -n '__fish_seen_subcommand_from drushsseteicr' -l roles -d 'Roles to deploy' complete -c dep -A -n '__fish_seen_subcommand_from drushsseteicr' -l hosts -d 'Host to deploy, comma separated, supports ranges [:]' complete -c dep -A -n '__fish_seen_subcommand_from drushsseteicr' -l option -d 'Sets configuration option' # drushsseteicrdev complete -c dep -A -n '__fish_seen_subcommand_from drushsseteicrdev' -l parallel -d 'Run tasks in parallel' complete -c dep -A -n '__fish_seen_subcommand_from drushsseteicrdev' -l limit -d 'How many host to run in parallel?' complete -c dep -A -n '__fish_seen_subcommand_from drushsseteicrdev' -l no-hooks -d 'Run task without after/before hooks' complete -c dep -A -n '__fish_seen_subcommand_from drushsseteicrdev' -l log -d 'Log to file' complete -c dep -A -n '__fish_seen_subcommand_from drushsseteicrdev' -l roles -d 'Roles to deploy' complete -c dep -A -n '__fish_seen_subcommand_from drushsseteicrdev' -l hosts -d 'Host to deploy, comma separated, supports ranges [:]' complete -c dep -A -n '__fish_seen_subcommand_from drushsseteicrdev' -l option -d 'Sets configuration option' # drushupdb complete -c dep -A -n '__fish_seen_subcommand_from drushupdb' -l parallel -d 'Run tasks in parallel' complete -c dep -A -n '__fish_seen_subcommand_from drushupdb' -l limit -d 'How many host to run in parallel?' complete -c dep -A -n '__fish_seen_subcommand_from drushupdb' -l no-hooks -d 'Run task without after/before hooks' complete -c dep -A -n '__fish_seen_subcommand_from drushupdb' -l log -d 'Log to file' complete -c dep -A -n '__fish_seen_subcommand_from drushupdb' -l roles -d 'Roles to deploy' complete -c dep -A -n '__fish_seen_subcommand_from drushupdb' -l hosts -d 'Host to deploy, comma separated, supports ranges [:]' complete -c dep -A -n '__fish_seen_subcommand_from drushupdb' -l option -d 'Sets configuration option' # dumpandupdatedevdb complete -c dep -A -n '__fish_seen_subcommand_from dumpandupdatedevdb' -l parallel -d 'Run tasks in parallel' complete -c dep -A -n '__fish_seen_subcommand_from dumpandupdatedevdb' -l limit -d 'How many host to run in parallel?' complete -c dep -A -n '__fish_seen_subcommand_from dumpandupdatedevdb' -l no-hooks -d 'Run task without after/before hooks' complete -c dep -A -n '__fish_seen_subcommand_from dumpandupdatedevdb' -l log -d 'Log to file' complete -c dep -A -n '__fish_seen_subcommand_from dumpandupdatedevdb' -l roles -d 'Roles to deploy' complete -c dep -A -n '__fish_seen_subcommand_from dumpandupdatedevdb' -l hosts -d 'Host to deploy, comma separated, supports ranges [:]' complete -c dep -A -n '__fish_seen_subcommand_from dumpandupdatedevdb' -l option -d 'Sets configuration option' # dumpandupdatetestdb complete -c dep -A -n '__fish_seen_subcommand_from dumpandupdatetestdb' -l parallel -d 'Run tasks in parallel' complete -c dep -A -n '__fish_seen_subcommand_from dumpandupdatetestdb' -l limit -d 'How many host to run in parallel?' complete -c dep -A -n '__fish_seen_subcommand_from dumpandupdatetestdb' -l no-hooks -d 'Run task without after/before hooks' complete -c dep -A -n '__fish_seen_subcommand_from dumpandupdatetestdb' -l log -d 'Log to file' complete -c dep -A -n '__fish_seen_subcommand_from dumpandupdatetestdb' -l roles -d 'Roles to deploy' complete -c dep -A -n '__fish_seen_subcommand_from dumpandupdatetestdb' -l hosts -d 'Host to deploy, comma separated, supports ranges [:]' complete -c dep -A -n '__fish_seen_subcommand_from dumpandupdatetestdb' -l option -d 'Sets configuration option' # getenv complete -c dep -A -n '__fish_seen_subcommand_from getenv' -l parallel -d 'Run tasks in parallel' complete -c dep -A -n '__fish_seen_subcommand_from getenv' -l limit -d 'How many host to run in parallel?' complete -c dep -A -n '__fish_seen_subcommand_from getenv' -l no-hooks -d 'Run task without after/before hooks' complete -c dep -A -n '__fish_seen_subcommand_from getenv' -l log -d 'Log to file' complete -c dep -A -n '__fish_seen_subcommand_from getenv' -l roles -d 'Roles to deploy' complete -c dep -A -n '__fish_seen_subcommand_from getenv' -l hosts -d 'Host to deploy, comma separated, supports ranges [:]' complete -c dep -A -n '__fish_seen_subcommand_from getenv' -l option -d 'Sets configuration option' # help complete -c dep -A -n '__fish_seen_subcommand_from help' -l format -d 'The output format (txt, xml, json, or md)' complete -c dep -A -n '__fish_seen_subcommand_from help' -l raw -d 'To output raw command help' # init complete -c dep -A -n '__fish_seen_subcommand_from init' -l template -d 'The template of you project. Available templates: Common, Laravel, Symfony, Yii, Yii2 Basic App, Yii2 Advanced App, Zend Framework, CakePHP, CodeIgniter, Drupal, TYPO3' complete -c dep -A -n '__fish_seen_subcommand_from init' -l directory -d 'The directory for create "deploy.php" file' complete -c dep -A -n '__fish_seen_subcommand_from init' -l filename -d 'The file name. Default "deploy.php"' # initialdeploy complete -c dep -A -n '__fish_seen_subcommand_from initialdeploy' -l parallel -d 'Run tasks in parallel' complete -c dep -A -n '__fish_seen_subcommand_from initialdeploy' -l limit -d 'How many host to run in parallel?' complete -c dep -A -n '__fish_seen_subcommand_from initialdeploy' -l no-hooks -d 'Run task without after/before hooks' complete -c dep -A -n '__fish_seen_subcommand_from initialdeploy' -l log -d 'Log to file' complete -c dep -A -n '__fish_seen_subcommand_from initialdeploy' -l roles -d 'Roles to deploy' complete -c dep -A -n '__fish_seen_subcommand_from initialdeploy' -l hosts -d 'Host to deploy, comma separated, supports ranges [:]' complete -c dep -A -n '__fish_seen_subcommand_from initialdeploy' -l option -d 'Sets configuration option' # initialdeploydatabasesetup complete -c dep -A -n '__fish_seen_subcommand_from initialdeploydatabasesetup' -l parallel -d 'Run tasks in parallel' complete -c dep -A -n '__fish_seen_subcommand_from initialdeploydatabasesetup' -l limit -d 'How many host to run in parallel?' complete -c dep -A -n '__fish_seen_subcommand_from initialdeploydatabasesetup' -l no-hooks -d 'Run task without after/before hooks' complete -c dep -A -n '__fish_seen_subcommand_from initialdeploydatabasesetup' -l log -d 'Log to file' complete -c dep -A -n '__fish_seen_subcommand_from initialdeploydatabasesetup' -l roles -d 'Roles to deploy' complete -c dep -A -n '__fish_seen_subcommand_from initialdeploydatabasesetup' -l hosts -d 'Host to deploy, comma separated, supports ranges [:]' complete -c dep -A -n '__fish_seen_subcommand_from initialdeploydatabasesetup' -l option -d 'Sets configuration option' # list complete -c dep -A -n '__fish_seen_subcommand_from list' -l raw -d 'To output raw command list' complete -c dep -A -n '__fish_seen_subcommand_from list' -l format -d 'The output format (txt, xml, json, or md)' # localdbdump complete -c dep -A -n '__fish_seen_subcommand_from localdbdump' -l parallel -d 'Run tasks in parallel' complete -c dep -A -n '__fish_seen_subcommand_from localdbdump' -l limit -d 'How many host to run in parallel?' complete -c dep -A -n '__fish_seen_subcommand_from localdbdump' -l no-hooks -d 'Run task without after/before hooks' complete -c dep -A -n '__fish_seen_subcommand_from localdbdump' -l log -d 'Log to file' complete -c dep -A -n '__fish_seen_subcommand_from localdbdump' -l roles -d 'Roles to deploy' complete -c dep -A -n '__fish_seen_subcommand_from localdbdump' -l hosts -d 'Host to deploy, comma separated, supports ranges [:]' complete -c dep -A -n '__fish_seen_subcommand_from localdbdump' -l option -d 'Sets configuration option' # localdrushcrcimupdbcr complete -c dep -A -n '__fish_seen_subcommand_from localdrushcrcimupdbcr' -l parallel -d 'Run tasks in parallel' complete -c dep -A -n '__fish_seen_subcommand_from localdrushcrcimupdbcr' -l limit -d 'How many host to run in parallel?' complete -c dep -A -n '__fish_seen_subcommand_from localdrushcrcimupdbcr' -l no-hooks -d 'Run task without after/before hooks' complete -c dep -A -n '__fish_seen_subcommand_from localdrushcrcimupdbcr' -l log -d 'Log to file' complete -c dep -A -n '__fish_seen_subcommand_from localdrushcrcimupdbcr' -l roles -d 'Roles to deploy' complete -c dep -A -n '__fish_seen_subcommand_from localdrushcrcimupdbcr' -l hosts -d 'Host to deploy, comma separated, supports ranges [:]' complete -c dep -A -n '__fish_seen_subcommand_from localdrushcrcimupdbcr' -l option -d 'Sets configuration option' # rollback complete -c dep -A -n '__fish_seen_subcommand_from rollback' -l parallel -d 'Run tasks in parallel' complete -c dep -A -n '__fish_seen_subcommand_from rollback' -l limit -d 'How many host to run in parallel?' complete -c dep -A -n '__fish_seen_subcommand_from rollback' -l no-hooks -d 'Run task without after/before hooks' complete -c dep -A -n '__fish_seen_subcommand_from rollback' -l log -d 'Log to file' complete -c dep -A -n '__fish_seen_subcommand_from rollback' -l roles -d 'Roles to deploy' complete -c dep -A -n '__fish_seen_subcommand_from rollback' -l hosts -d 'Host to deploy, comma separated, supports ranges [:]' complete -c dep -A -n '__fish_seen_subcommand_from rollback' -l option -d 'Sets configuration option' # run complete -c dep -A -n '__fish_seen_subcommand_from run' -l log -d 'Log to file' complete -c dep -A -n '__fish_seen_subcommand_from run' -l stage -d 'Stage to deploy' complete -c dep -A -n '__fish_seen_subcommand_from run' -l roles -d 'Roles to deploy' complete -c dep -A -n '__fish_seen_subcommand_from run' -l hosts -d 'Host to deploy, comma separated, supports ranges [:]' # self-update complete -c dep -A -n '__fish_seen_subcommand_from self-update' -l pre -d 'Allow pre-release updates.' complete -c dep -A -n '__fish_seen_subcommand_from self-update' -l redo -d 'Redownload update if already using current version.' complete -c dep -A -n '__fish_seen_subcommand_from self-update' -l upgrade -d 'Upgrade to next major release, if available.' # ssh # updatedevdb complete -c dep -A -n '__fish_seen_subcommand_from updatedevdb' -l parallel -d 'Run tasks in parallel' complete -c dep -A -n '__fish_seen_subcommand_from updatedevdb' -l limit -d 'How many host to run in parallel?' complete -c dep -A -n '__fish_seen_subcommand_from updatedevdb' -l no-hooks -d 'Run task without after/before hooks' complete -c dep -A -n '__fish_seen_subcommand_from updatedevdb' -l log -d 'Log to file' complete -c dep -A -n '__fish_seen_subcommand_from updatedevdb' -l roles -d 'Roles to deploy' complete -c dep -A -n '__fish_seen_subcommand_from updatedevdb' -l hosts -d 'Host to deploy, comma separated, supports ranges [:]' complete -c dep -A -n '__fish_seen_subcommand_from updatedevdb' -l option -d 'Sets configuration option' # worker complete -c dep -A -n '__fish_seen_subcommand_from worker' -l hostname -d '' complete -c dep -A -n '__fish_seen_subcommand_from worker' -l task -d '' complete -c dep -A -n '__fish_seen_subcommand_from worker' -l config-file -d '' complete -c dep -A -n '__fish_seen_subcommand_from worker' -l log -d '' # config:current complete -c dep -A -n '__fish_seen_subcommand_from config:current' -l parallel -d 'Run tasks in parallel' complete -c dep -A -n '__fish_seen_subcommand_from config:current' -l limit -d 'How many host to run in parallel?' complete -c dep -A -n '__fish_seen_subcommand_from config:current' -l no-hooks -d 'Run task without after/before hooks' complete -c dep -A -n '__fish_seen_subcommand_from config:current' -l log -d 'Log to file' complete -c dep -A -n '__fish_seen_subcommand_from config:current' -l roles -d 'Roles to deploy' complete -c dep -A -n '__fish_seen_subcommand_from config:current' -l hosts -d 'Host to deploy, comma separated, supports ranges [:]' complete -c dep -A -n '__fish_seen_subcommand_from config:current' -l option -d 'Sets configuration option' # config:dump complete -c dep -A -n '__fish_seen_subcommand_from config:dump' -l parallel -d 'Run tasks in parallel' complete -c dep -A -n '__fish_seen_subcommand_from config:dump' -l limit -d 'How many host to run in parallel?' complete -c dep -A -n '__fish_seen_subcommand_from config:dump' -l no-hooks -d 'Run task without after/before hooks' complete -c dep -A -n '__fish_seen_subcommand_from config:dump' -l log -d 'Log to file' complete -c dep -A -n '__fish_seen_subcommand_from config:dump' -l roles -d 'Roles to deploy' complete -c dep -A -n '__fish_seen_subcommand_from config:dump' -l hosts -d 'Host to deploy, comma separated, supports ranges [:]' complete -c dep -A -n '__fish_seen_subcommand_from config:dump' -l option -d 'Sets configuration option' # config:hosts complete -c dep -A -n '__fish_seen_subcommand_from config:hosts' -l parallel -d 'Run tasks in parallel' complete -c dep -A -n '__fish_seen_subcommand_from config:hosts' -l limit -d 'How many host to run in parallel?' complete -c dep -A -n '__fish_seen_subcommand_from config:hosts' -l no-hooks -d 'Run task without after/before hooks' complete -c dep -A -n '__fish_seen_subcommand_from config:hosts' -l log -d 'Log to file' complete -c dep -A -n '__fish_seen_subcommand_from config:hosts' -l roles -d 'Roles to deploy' complete -c dep -A -n '__fish_seen_subcommand_from config:hosts' -l hosts -d 'Host to deploy, comma separated, supports ranges [:]' complete -c dep -A -n '__fish_seen_subcommand_from config:hosts' -l option -d 'Sets configuration option' # debug:task # deploy:clear_paths complete -c dep -A -n '__fish_seen_subcommand_from deploy:clear_paths' -l parallel -d 'Run tasks in parallel' complete -c dep -A -n '__fish_seen_subcommand_from deploy:clear_paths' -l limit -d 'How many host to run in parallel?' complete -c dep -A -n '__fish_seen_subcommand_from deploy:clear_paths' -l no-hooks -d 'Run task without after/before hooks' complete -c dep -A -n '__fish_seen_subcommand_from deploy:clear_paths' -l log -d 'Log to file' complete -c dep -A -n '__fish_seen_subcommand_from deploy:clear_paths' -l roles -d 'Roles to deploy' complete -c dep -A -n '__fish_seen_subcommand_from deploy:clear_paths' -l hosts -d 'Host to deploy, comma separated, supports ranges [:]' complete -c dep -A -n '__fish_seen_subcommand_from deploy:clear_paths' -l option -d 'Sets configuration option' # deploy:copy_dirs complete -c dep -A -n '__fish_seen_subcommand_from deploy:copy_dirs' -l parallel -d 'Run tasks in parallel' complete -c dep -A -n '__fish_seen_subcommand_from deploy:copy_dirs' -l limit -d 'How many host to run in parallel?' complete -c dep -A -n '__fish_seen_subcommand_from deploy:copy_dirs' -l no-hooks -d 'Run task without after/before hooks' complete -c dep -A -n '__fish_seen_subcommand_from deploy:copy_dirs' -l log -d 'Log to file' complete -c dep -A -n '__fish_seen_subcommand_from deploy:copy_dirs' -l roles -d 'Roles to deploy' complete -c dep -A -n '__fish_seen_subcommand_from deploy:copy_dirs' -l hosts -d 'Host to deploy, comma separated, supports ranges [:]' complete -c dep -A -n '__fish_seen_subcommand_from deploy:copy_dirs' -l option -d 'Sets configuration option' # deploy:lock complete -c dep -A -n '__fish_seen_subcommand_from deploy:lock' -l parallel -d 'Run tasks in parallel' complete -c dep -A -n '__fish_seen_subcommand_from deploy:lock' -l limit -d 'How many host to run in parallel?' complete -c dep -A -n '__fish_seen_subcommand_from deploy:lock' -l no-hooks -d 'Run task without after/before hooks' complete -c dep -A -n '__fish_seen_subcommand_from deploy:lock' -l log -d 'Log to file' complete -c dep -A -n '__fish_seen_subcommand_from deploy:lock' -l roles -d 'Roles to deploy' complete -c dep -A -n '__fish_seen_subcommand_from deploy:lock' -l hosts -d 'Host to deploy, comma separated, supports ranges [:]' complete -c dep -A -n '__fish_seen_subcommand_from deploy:lock' -l option -d 'Sets configuration option' # deploy:prepare complete -c dep -A -n '__fish_seen_subcommand_from deploy:prepare' -l parallel -d 'Run tasks in parallel' complete -c dep -A -n '__fish_seen_subcommand_from deploy:prepare' -l limit -d 'How many host to run in parallel?' complete -c dep -A -n '__fish_seen_subcommand_from deploy:prepare' -l no-hooks -d 'Run task without after/before hooks' complete -c dep -A -n '__fish_seen_subcommand_from deploy:prepare' -l log -d 'Log to file' complete -c dep -A -n '__fish_seen_subcommand_from deploy:prepare' -l roles -d 'Roles to deploy' complete -c dep -A -n '__fish_seen_subcommand_from deploy:prepare' -l hosts -d 'Host to deploy, comma separated, supports ranges [:]' complete -c dep -A -n '__fish_seen_subcommand_from deploy:prepare' -l option -d 'Sets configuration option' # deploy:release complete -c dep -A -n '__fish_seen_subcommand_from deploy:release' -l parallel -d 'Run tasks in parallel' complete -c dep -A -n '__fish_seen_subcommand_from deploy:release' -l limit -d 'How many host to run in parallel?' complete -c dep -A -n '__fish_seen_subcommand_from deploy:release' -l no-hooks -d 'Run task without after/before hooks' complete -c dep -A -n '__fish_seen_subcommand_from deploy:release' -l log -d 'Log to file' complete -c dep -A -n '__fish_seen_subcommand_from deploy:release' -l roles -d 'Roles to deploy' complete -c dep -A -n '__fish_seen_subcommand_from deploy:release' -l hosts -d 'Host to deploy, comma separated, supports ranges [:]' complete -c dep -A -n '__fish_seen_subcommand_from deploy:release' -l option -d 'Sets configuration option' # deploy:shared complete -c dep -A -n '__fish_seen_subcommand_from deploy:shared' -l parallel -d 'Run tasks in parallel' complete -c dep -A -n '__fish_seen_subcommand_from deploy:shared' -l limit -d 'How many host to run in parallel?' complete -c dep -A -n '__fish_seen_subcommand_from deploy:shared' -l no-hooks -d 'Run task without after/before hooks' complete -c dep -A -n '__fish_seen_subcommand_from deploy:shared' -l log -d 'Log to file' complete -c dep -A -n '__fish_seen_subcommand_from deploy:shared' -l roles -d 'Roles to deploy' complete -c dep -A -n '__fish_seen_subcommand_from deploy:shared' -l hosts -d 'Host to deploy, comma separated, supports ranges [:]' complete -c dep -A -n '__fish_seen_subcommand_from deploy:shared' -l option -d 'Sets configuration option' # deploy:special complete -c dep -A -n '__fish_seen_subcommand_from deploy:special' -l parallel -d 'Run tasks in parallel' complete -c dep -A -n '__fish_seen_subcommand_from deploy:special' -l limit -d 'How many host to run in parallel?' complete -c dep -A -n '__fish_seen_subcommand_from deploy:special' -l no-hooks -d 'Run task without after/before hooks' complete -c dep -A -n '__fish_seen_subcommand_from deploy:special' -l log -d 'Log to file' complete -c dep -A -n '__fish_seen_subcommand_from deploy:special' -l roles -d 'Roles to deploy' complete -c dep -A -n '__fish_seen_subcommand_from deploy:special' -l hosts -d 'Host to deploy, comma separated, supports ranges [:]' complete -c dep -A -n '__fish_seen_subcommand_from deploy:special' -l option -d 'Sets configuration option' # deploy:symlink complete -c dep -A -n '__fish_seen_subcommand_from deploy:symlink' -l parallel -d 'Run tasks in parallel' complete -c dep -A -n '__fish_seen_subcommand_from deploy:symlink' -l limit -d 'How many host to run in parallel?' complete -c dep -A -n '__fish_seen_subcommand_from deploy:symlink' -l no-hooks -d 'Run task without after/before hooks' complete -c dep -A -n '__fish_seen_subcommand_from deploy:symlink' -l log -d 'Log to file' complete -c dep -A -n '__fish_seen_subcommand_from deploy:symlink' -l roles -d 'Roles to deploy' complete -c dep -A -n '__fish_seen_subcommand_from deploy:symlink' -l hosts -d 'Host to deploy, comma separated, supports ranges [:]' complete -c dep -A -n '__fish_seen_subcommand_from deploy:symlink' -l option -d 'Sets configuration option' # deploy:unlock complete -c dep -A -n '__fish_seen_subcommand_from deploy:unlock' -l parallel -d 'Run tasks in parallel' complete -c dep -A -n '__fish_seen_subcommand_from deploy:unlock' -l limit -d 'How many host to run in parallel?' complete -c dep -A -n '__fish_seen_subcommand_from deploy:unlock' -l no-hooks -d 'Run task without after/before hooks' complete -c dep -A -n '__fish_seen_subcommand_from deploy:unlock' -l log -d 'Log to file' complete -c dep -A -n '__fish_seen_subcommand_from deploy:unlock' -l roles -d 'Roles to deploy' complete -c dep -A -n '__fish_seen_subcommand_from deploy:unlock' -l hosts -d 'Host to deploy, comma separated, supports ranges [:]' complete -c dep -A -n '__fish_seen_subcommand_from deploy:unlock' -l option -d 'Sets configuration option' # deploy:update_code complete -c dep -A -n '__fish_seen_subcommand_from deploy:update_code' -l parallel -d 'Run tasks in parallel' complete -c dep -A -n '__fish_seen_subcommand_from deploy:update_code' -l limit -d 'How many host to run in parallel?' complete -c dep -A -n '__fish_seen_subcommand_from deploy:update_code' -l no-hooks -d 'Run task without after/before hooks' complete -c dep -A -n '__fish_seen_subcommand_from deploy:update_code' -l log -d 'Log to file' complete -c dep -A -n '__fish_seen_subcommand_from deploy:update_code' -l roles -d 'Roles to deploy' complete -c dep -A -n '__fish_seen_subcommand_from deploy:update_code' -l hosts -d 'Host to deploy, comma separated, supports ranges [:]' complete -c dep -A -n '__fish_seen_subcommand_from deploy:update_code' -l option -d 'Sets configuration option' # deploy:vendors complete -c dep -A -n '__fish_seen_subcommand_from deploy:vendors' -l parallel -d 'Run tasks in parallel' complete -c dep -A -n '__fish_seen_subcommand_from deploy:vendors' -l limit -d 'How many host to run in parallel?' complete -c dep -A -n '__fish_seen_subcommand_from deploy:vendors' -l no-hooks -d 'Run task without after/before hooks' complete -c dep -A -n '__fish_seen_subcommand_from deploy:vendors' -l log -d 'Log to file' complete -c dep -A -n '__fish_seen_subcommand_from deploy:vendors' -l roles -d 'Roles to deploy' complete -c dep -A -n '__fish_seen_subcommand_from deploy:vendors' -l hosts -d 'Host to deploy, comma separated, supports ranges [:]' complete -c dep -A -n '__fish_seen_subcommand_from deploy:vendors' -l option -d 'Sets configuration option' # deploy:writable complete -c dep -A -n '__fish_seen_subcommand_from deploy:writable' -l parallel -d 'Run tasks in parallel' complete -c dep -A -n '__fish_seen_subcommand_from deploy:writable' -l limit -d 'How many host to run in parallel?' complete -c dep -A -n '__fish_seen_subcommand_from deploy:writable' -l no-hooks -d 'Run task without after/before hooks' complete -c dep -A -n '__fish_seen_subcommand_from deploy:writable' -l log -d 'Log to file' complete -c dep -A -n '__fish_seen_subcommand_from deploy:writable' -l roles -d 'Roles to deploy' complete -c dep -A -n '__fish_seen_subcommand_from deploy:writable' -l hosts -d 'Host to deploy, comma separated, supports ranges [:]' complete -c dep -A -n '__fish_seen_subcommand_from deploy:writable' -l option -d 'Sets configuration option' ```

Since the bamarni/symfony-console-autocomplete is already providing good auto completion for fish for deployer and considers it a supported tool, I would suggest that you consider changing the instructions for auto complete to something like the following:

Fish

Install bamarni/symfony-console-autocomplete : by either adding it globally with: composer global update bamarni/symfony-console-autocomplete or add to your project with: composer update bamarni/symfony-console-autocomplete then run symfony-autocomplete --shell=fish dep > ~/.config/fish/completions/dep.fish

Thanks for your consideration of this! Frederick

Upvote & Fund

Fund with Polar

antonmedv commented 3 years ago

In v7 I only implemented autocomplete for bash/zsh.

Having fish will be cool. Does anybody what’s to look into this?

frederickjh commented 3 years ago

I think the other option if you don't want to make it so that you add a dependency for autocomplete is to use amarni/symfony-console-autocomplete to create a autocomplete file to ship with deployer each time you do a release, however this would not provide autocomplete for tasks created in deployer by the end users. The fish autocomplete file I created using this method works for all the deployer tasks in the project it was run in.

frederickjh commented 3 years ago

NOTE: The name of the completion file does not mater.

I take this back as this morning login new in I found that auto completion was not working. Renamed the file to dep.fish so that it matches the command and autocompletion is now working even after logging out and back in. I will edit the OP to reflect this.

frederickjh commented 3 years ago

A tip. To check what completions are available for a command in fish you can run something like: (ie. for dep)

complete -c dep
antonmedv commented 3 years ago

But amarni/symfony-console-autocomplete is only for basic stuff. In v7 for example autocomplete knows labels, selectors, hosts.

frederickjh commented 3 years ago

True I have noticed that. Having the rest would be the icing on the cake. :cake:

github-actions[bot] commented 2 weeks ago

This issue has been automatically closed. Please, open a discussion for bug reports and feature requests.

Read more: [https://github.com/deployphp/deployer/discussions/3888]