diff --git a/plugins/heroku/_heroku b/plugins/heroku/_heroku deleted file mode 100644 index 4122de237..000000000 --- a/plugins/heroku/_heroku +++ /dev/null @@ -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 diff --git a/plugins/heroku/heroku.plugin.zsh b/plugins/heroku/heroku.plugin.zsh new file mode 100644 index 000000000..9a99b4211 --- /dev/null +++ b/plugins/heroku/heroku.plugin.zsh @@ -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