170 lines
		
	
	
		
			6.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			170 lines
		
	
	
		
			6.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| #compdef heroku
 | |
| # ------------------------------------------------------------------------------
 | |
| # Description
 | |
| # -----------
 | |
| #
 | |
| #  Completion script for the Heroku client gem (https://github.com/heroku/heroku)
 | |
| #
 | |
| # ------------------------------------------------------------------------------
 | |
| # Authors
 | |
| # -------
 | |
| #
 | |
| #  * Ali B. (http://awhitebox.com)
 | |
| #
 | |
| # ------------------------------------------------------------------------------
 | |
| # -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*-
 | |
| # vim: ft=zsh sw=2 ts=2 et
 | |
| # ------------------------------------------------------------------------------
 | |
| 
 | |
| local -a _1st_arguments
 | |
| _1st_arguments=(
 | |
|   "account\:confirm_billing":"Confirm that your account can be billed at the end of the month"
 | |
|   "addons":"list installed addons"
 | |
|   "addons\:list":"list all available addons"
 | |
|   "addons\:add":"install an addon"
 | |
|   "addons\:upgrade":"upgrade an existing addon"
 | |
|   "addons\:downgrade":"downgrade an existing addon"
 | |
|   "addons\:remove":"uninstall an addon"
 | |
|   "addons\:open":"open an addon's dashboard in your browser"
 | |
|   "apps":"list your apps"
 | |
|   "apps\:info":"show detailed app information"
 | |
|   "apps\:create":"create a new app"
 | |
|   "apps\:rename":"rename the app"
 | |
|   "apps\:open":"open the app in a web browser"
 | |
|   "apps\:destroy":"permanently destroy an app"
 | |
|   "auth\:login":"log in with your heroku credentials"
 | |
|   "auth\:logout":"clear local authentication credentials"
 | |
|   "config":"display the config vars for an app"
 | |
|   "config\:add":"add one or more config vars"
 | |
|   "config\:remove":"remove a config var"
 | |
|   "db\:push":"push local data up to your app"
 | |
|   "db\:pull":"pull heroku data down into your local database"
 | |
|   "domains":"list custom domains for an app"
 | |
|   "domains\:add":"add a custom domain to an app"
 | |
|   "domains\:remove":"remove a custom domain from an app"
 | |
|   "domains\:clear":"remove all custom domains from an app"
 | |
|   "help":"list available commands or display help for a specific command"
 | |
|   "keys":"display keys for the current user"
 | |
|   "keys\:add":"add a key for the current user"
 | |
|   "keys\:remove":"remove a key from the current user"
 | |
|   "keys\:clear":"remove all authentication keys from the current user"
 | |
|   "logs":"display recent log output"
 | |
|   "logs\:cron":"DEPRECATED: display cron logs from legacy logging"
 | |
|   "logs\:drains":"manage syslog drains"
 | |
|   "maintenance\:on":"put the app into maintenance mode"
 | |
|   "maintenance\:off":"take the app out of maintenance mode"
 | |
|   "pg\:info":"display database information"
 | |
|   "pg\:ingress":"allow direct connections to the database from this IP for one minute"
 | |
|   "pg\:promote":"sets DATABASE as your DATABASE_URL"
 | |
|   "pg\:psql":"open a psql shell to the database"
 | |
|   "pg\:reset":"delete all data in DATABASE"
 | |
|   "pg\:unfollow":"stop a replica from following and make it a read/write database"
 | |
|   "pg\:wait":"monitor database creation, exit when complete"
 | |
|   "pgbackups":"list captured backups"
 | |
|   "pgbackups\:url":"get a temporary URL for a backup"
 | |
|   "pgbackups\:capture":"capture a backup from a database id"
 | |
|   "pgbackups\:restore":"restore a backup to a database"
 | |
|   "pgbackups\:destroy":"destroys a backup"
 | |
|   "plugins":"list installed plugins"
 | |
|   "plugins\:install":"install a plugin"
 | |
|   "plugins\:uninstall":"uninstall a plugin"
 | |
|   "ps\:dynos":"scale to QTY web processes"
 | |
|   "ps\:workers":"scale to QTY background processes"
 | |
|   "ps":"list processes for an app"
 | |
|   "ps\:restart":"restart an app process"
 | |
|   "ps\:scale":"scale processes by the given amount"
 | |
|   "releases":"list releases"
 | |
|   "releases\:info":"view detailed information for a release"
 | |
|   "rollback":"roll back to an older release"
 | |
|   "run":"run an attached process"
 | |
|   "run\:rake":"remotely execute a rake command"
 | |
|   "run\:console":"open a remote console session"
 | |
|   "sharing":"list collaborators on an app"
 | |
|   "sharing\:add":"add a collaborator to an app"
 | |
|   "sharing\:remove":"remove a collaborator from an app"
 | |
|   "sharing\:transfer":"transfer an app to a new owner"
 | |
|   "ssl":"list certificates for an app"
 | |
|   "ssl\:add":"add an ssl certificate to an app"
 | |
|   "ssl\:remove":"remove an ssl certificate from an app"
 | |
|   "ssl\:clear":"remove all ssl certificates from an app"
 | |
|   "stack":"show the list of available stacks"
 | |
|   "stack\:migrate":"prepare migration of this app to a new stack"
 | |
|   "version":"show heroku client version"
 | |
| )
 | |
| 
 | |
| _arguments '*:: :->command'
 | |
| 
 | |
| if (( CURRENT == 1 )); then
 | |
|   _describe -t commands "heroku command" _1st_arguments
 | |
|   return
 | |
| fi
 | |
| 
 | |
| local -a _command_args
 | |
| case "$words[1]" in
 | |
|   apps:info)
 | |
|     _command_args=(
 | |
|       '(-r|--raw)'{-r,--raw}'[output info as raw key/value pairs]' \
 | |
|     )
 | |
|     ;;
 | |
|   apps:create)
 | |
|     _command_args=(
 | |
|       '(-a|--addons)'{-a,--addons}'[a list of addons to install]' \
 | |
|       '(-r|--remote)'{-r,--remote}'[the git remote to create, default "heroku"]' \
 | |
|       '(-s|--stack)'{-s,--stack}'[the stack on which to create the app]' \
 | |
|     )
 | |
|     ;;
 | |
|   config)
 | |
|     _command_args=(
 | |
|       '(-s|--shell)'{-s,--shell}'[output config vars in shell format]' \
 | |
|     )
 | |
|     ;;
 | |
|   db:push)
 | |
|     _command_args=(
 | |
|       '(-c|--chunksize)'{-c,--chunksize}'[specify the number of rows to send in each batch]' \
 | |
|       '(-d|--debug)'{-d,--debug}'[enable debugging output]' \
 | |
|       '(-e|--exclude)'{-e,--exclude}'[exclude the specified tables from the push]' \
 | |
|       '(-f|--filter)'{-f,--filter}'[only push certain tables]' \
 | |
|       '(-r|--resume)'{-r,--resume}'[resume transfer described by a .dat file]' \
 | |
|       '(-t|--tables)'{-t,--tables}'[only push the specified tables]' \
 | |
|     )
 | |
|     ;;
 | |
|   db:pull)
 | |
|     _command_args=(
 | |
|       '(-c|--chunksize)'{-c,--chunksize}'[specify the number of rows to send in each batch]' \
 | |
|       '(-d|--debug)'{-d,--debug}'[enable debugging output]' \
 | |
|       '(-e|--exclude)'{-e,--exclude}'[exclude the specified tables from the pull]' \
 | |
|       '(-f|--filter)'{-f,--filter}'[only pull certain tables]' \
 | |
|       '(-r|--resume)'{-r,--resume}'[resume transfer described by a .dat file]' \
 | |
|       '(-t|--tables)'{-t,--tables}'[only pull the specified tables]' \
 | |
|     )
 | |
|     ;;
 | |
|   keys)
 | |
|     _command_args=(
 | |
|       '(-l|--long)'{-l,--long}'[display extended information for each key]' \
 | |
|     )
 | |
|     ;;
 | |
|   logs)
 | |
|     _command_args=(
 | |
|       '(-n|--num)'{-n,--num}'[the number of lines to display]' \
 | |
|       '(-p|--ps)'{-p,--ps}'[only display logs from the given process]' \
 | |
|       '(-s|--source)'{-s,--source}'[only display logs from the given source]' \
 | |
|       '(-t|--tail)'{-t,--tail}'[continually stream logs]' \
 | |
|     )
 | |
|     ;;
 | |
|   pgbackups:capture)
 | |
|     _command_args=(
 | |
|       '(-e|--expire)'{-e,--expire}'[if no slots are available to capture, delete the oldest backup to make room]' \
 | |
|     )
 | |
|     ;;
 | |
|   stack)
 | |
|     _command_args=(
 | |
|       '(-a|--all)'{-a,--all}'[include deprecated stacks]' \
 | |
|     )
 | |
|     ;;
 | |
|   esac
 | |
| 
 | |
| _arguments \
 | |
|   $_command_args \
 | |
|   '(--app)--app[the app name]' \
 | |
|   &&  return 0
 |