use official heroku autocomplete (#6919)
parent
850975eb78
commit
0cc371181a
2 changed files with 9 additions and 199 deletions
@ -1,199 +0,0 @@ |
||||
#compdef heroku |
||||
|
||||
# Heroku Autocomplete plugin for Oh-My-Zsh |
||||
# Requires: The Heroku client gem (https://github.com/heroku/heroku) |
||||
# Author: Ali B. (http://awhitebox.com) |
||||
|
||||
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\:pull":"pull heroku config vars down to the local environment" |
||||
"config\:push":"push local config vars to heroku" |
||||
"config\:set":"set one or more config vars" |
||||
"config\:unset":"unset one or more config vars" |
||||
"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" |
||||
"features":"list available app features" |
||||
"features\:disable":"disables a feature" |
||||
"features\:enable":"enables an feature" |
||||
"features\:info":"displays additional information about feature" |
||||
"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" |
||||
"pipelines":"list pipelines you have access to" |
||||
"pipelines\:add":"add this app to a pipeline" |
||||
"pipelines\:create":"create a new pipeline" |
||||
"pipelines\:destroy":"destroy a pipeline" |
||||
"pipelines\:diff":"compares the latest release of this app to its downstream app(s)" |
||||
"pipelines\:info":"show list of apps in a pipeline" |
||||
"pipelines\:list":"list pipelines you have access to" |
||||
"pipelines\:open":"open a pipeline in dashboard" |
||||
"pipelines\:promote":"promote the latest release of this app to its downstream app(s)" |
||||
"pipelines\:remove":"remove this app from its pipeline" |
||||
"pipelines\:rename":"rename a pipeline" |
||||
"pipelines\:update":"update this app's stage in a pipeline" |
||||
"pg\:credentials":"display the DATABASE credentials" |
||||
"pg\:diagnose":"run diagnostics report on DATABASE" |
||||
"pg\:info":"display database information" |
||||
"pg\:kill":"kill a query" |
||||
"pg\:killall":"terminates ALL connections" |
||||
"pg\:maintenance":"manage maintenance for DATABASE" |
||||
"pg\:promote":"sets DATABASE as your DATABASE_URL" |
||||
"pg\:ps":"view active queries with execution time" |
||||
"pg\:psql":"open a psql shell to the database" |
||||
"pg\:pull":"pull from REMOTE_SOURCE_DATABASE to LOCAL_TARGET_DATABASE" |
||||
"pg\:push":"push from LOCAL_SOURCE_DATABASE to REMOTE_TARGET_DATABASE" |
||||
"pg\:reset":"delete all data in DATABASE" |
||||
"pg\:unfollow":"stop a replica from following and make it a read/write database" |
||||
"pg\:upgrade":"unfollow a database and upgrade it to the latest PostgreSQL version" |
||||
"pg\:wait":"monitor database creation, exit when complete" |
||||
"pg\:backups":"Interact with built-in backups" |
||||
"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]' \ |
||||
) |
||||
;; |
||||
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]' \ |
||||
) |
||||
;; |
||||
pipelines) |
||||
_command_args=( |
||||
'(--json)'--json'[output in json format]' \ |
||||
) |
||||
;; |
||||
pipelines:add) |
||||
_command_args=( |
||||
'(-s|--stage)'{-s,--stage}'[stage of first app in pipeline]' \ |
||||
) |
||||
;; |
||||
pipelines:create) |
||||
_command_args=( |
||||
'(-s|--stage)'{-s,--stage}'[stage of first app in pipeline]' \ |
||||
) |
||||
;; |
||||
pipelines:info) |
||||
_command_args=( |
||||
'(--json)'--json'[output in json format]' \ |
||||
) |
||||
;; |
||||
pipelines:list) |
||||
_command_args=( |
||||
'(--json)'--json'[output in json format]' \ |
||||
) |
||||
;; |
||||
pipelines:promote) |
||||
_command_args=( |
||||
'(-t|--to)'{-t,--to}'[comma separated list of apps to promote to]' \ |
||||
) |
||||
;; |
||||
pipelines:update) |
||||
_command_args=( |
||||
'(-s|--stage)'{-s,--stage}'[stage of first app in pipeline]' \ |
||||
) |
||||
;; |
||||
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]' \ |
||||
'(--remote)--remote[the remote name]' \ |
||||
'(--help)--help[help about the current command]' \ |
||||
&& return 0 |
||||
@ -0,0 +1,9 @@ |
||||
HEROKU_AC_CACHE_DIR="$HOME/.cache" |
||||
if [ "$(uname -s)" = "Darwin" ]; then |
||||
HEROKU_AC_CACHE_DIR="$HOME/Library/Caches" |
||||
fi |
||||
if [ ! -z "$XDG_CACHE_HOME" ]; then |
||||
HEROKU_AC_CACHE_DIR="$XDG_CACHE_DIR" |
||||
fi |
||||
HEROKU_AC_ZSH_SETUP_PATH=$HEROKU_AC_CACHE_DIR/heroku/autocomplete/zsh_setup |
||||
[ -f $HEROKU_AC_ZSH_SETUP_PATH ] && source $HEROKU_AC_ZSH_SETUP_PATH |
||||
Loading…
Reference in new issue