summaryrefslogtreecommitdiff
path: root/plugins/meteor/_meteor
blob: 48b9fa4c10dea5a341f112df52ae28ae51745208 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#compdef meteor
#autoload

# Meteor Autocomplete plugin for Oh-My-Zsh, based on homebrew completion
# Original author: Dimitri JORGE (https://github.com/jorge-d)

_meteor_all_packages() {
  packages=(`meteor list | cut -d" " -f1`)
}
_meteor_installed_packages() {
  installed_packages=(`meteor list --using`)
}

local -a _1st_arguments
_1st_arguments=(
  "run: [default] Run this project in local development mode."
  "debug: Run the project, but suspend the server process for debugging."
  "create: Create a new project."
  "update: Upgrade this project's dependencies to their latest versions."
  "add: Add a package to this project."
  "remove: Remove a package from this project."
  "list: List the packages explicitly used by your project."
  "add-platform: Add a platform to this project."
  "remove-platform: Remove a platform from this project."
  "list-platforms: List the platforms added to your project."
  "build: Build this project for all platforms."
  "lint: Build this project and run the linters printing all errors and warnings."
  "shell: Launch a Node REPL for interactively evaluating server-side code."
  "mongo: Connect to the Mongo database for the specified site."
  "reset: Reset the project state. Erases the local database."
  "deploy: Deploy this project to Meteor."
  "logs: Show logs for specified site."
  "authorized: View or change authorized users and organizations for a site."
  "claim: Claim a site deployed with an old Meteor version."
  "login: Log in to your Meteor developer account."
  "logout: Log out of your Meteor developer account."
  "whoami: Prints the username of your Meteor developer account."
  "test-packages: Test one or more packages."
  "admin: Administrative commands."
  "list-sites: List sites for which you are authorized."
  "publish-release: Publish a new meteor release to the package server."
  "publish: Publish a new version of a package to the package server."
  "publish-for-arch: Builds an already-published package for a new platform."
  "search: Search through the package server database."
  "show: Show detailed information about a release or package."
  "install-sdk:Installs SDKs for a platform."
  "configure-android:Run the Android configuration tool from Meteor’s ADK environment."
)

local expl
local -a packages installed_packages

if (( CURRENT == 2 )); then
  _describe -t commands "meteor subcommand" _1st_arguments
  return
fi

case "$words[2]" in
    help)
      _describe -t commands "meteor subcommand" _1st_arguments ;;
    remove)
      _meteor_installed_packages
      _wanted installed_packages expl 'installed packages' compadd -a installed_packages ;;
    add)
      _meteor_all_packages
      _wanted packages expl 'all packages' compadd -a packages ;;
esac