浏览代码

use official heroku autocomplete (#6919)

Jeff Dickey 6 年之前
父节点
当前提交
0cc371181a
共有 2 个文件被更改,包括 9 次插入199 次删除
  1. 0 199
      plugins/heroku/_heroku
  2. 9 0
      plugins/heroku/heroku.plugin.zsh

+ 0 - 199
plugins/heroku/_heroku

@@ -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

+ 9 - 0
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