Browse Source

feat(ember-cli): add completions for ember-cli (#5916)

Closes #5916
t-sauer 7 years ago
parent
commit
02d8cf6e9a
3 changed files with 219 additions and 24 deletions
  1. 28 17
      plugins/ember-cli/README.md
  2. 189 0
      plugins/ember-cli/_ember-cli
  3. 2 7
      plugins/ember-cli/ember-cli.plugin.zsh

+ 28 - 17
plugins/ember-cli/README.md

@@ -1,22 +1,33 @@
 # Ember CLI
 
-**Maintainers:** [BilalBudhani](https://github.com/BilalBudhani), [eubenesa](https://github.com/eubenesa), [scottkidder](https://github.com/scottkidder]
+This plugin adds completion and aliases for using [`ember-cli`](https://cli.emberjs.com/).
 
-Ember CLI (https://www.ember-cli.com/)
+To use it, add `ember-cli` to the plugins array in your zshrc file:
 
-### List of Aliases
+```zsh
+plugins=(... ember-cli)
+```
 
-Alias | Ember-CLI command
------ | -----------------
-**es** | *ember serve*
-**ea** | *ember addon*
-**eb** | *ember build*
-**ed** | *ember destroy*
-**eg** | *ember generate*
-**eh** | *ember help*
-**ein** | *ember init*
-**ei** | *ember install*
-**et** | *ember test*
-**ets** | *ember test --serve*
-**eu** | *ember update*
-**ev** | *ember version*
+## Aliases
+
+| Alias | Command              |
+| ----- | -------------------- |
+| `ea`  | `ember addon`        |
+| `eb`  | `ember build`        |
+| `ed`  | `ember destroy`      |
+| `eg`  | `ember generate`     |
+| `eh`  | `ember help`         |
+| `ei`  | `ember install`      |
+| `ein` | `ember init`         |
+| `es`  | `ember serve`        |
+| `et`  | `ember test`         |
+| `ets` | `ember test --serve` |
+| `eu`  | `ember update`       |
+| `ev`  | `ember version`      |
+
+## Maintainers
+
+- [BilalBudhani](https://github.com/BilalBudhani)
+- [eubenesa](https://github.com/eubenesa)
+- [scottkidder](https://github.com/scottkidder]
+- [t-sauer](https://www.github.com/t-sauer)

+ 189 - 0
plugins/ember-cli/_ember-cli

@@ -0,0 +1,189 @@
+#compdef ember
+
+local curcontext="$curcontext" state line ret=1
+
+_arguments -C -A "--version" -A "--help" \
+  '(- 1 *)--help' \
+  '(- 1 *)--version' \
+  '1: :->cmds' \
+  '*:: :->args' && ret=0
+
+case $state in
+  cmds)
+    _values "ember command" \
+      "addon[Generates a new folder structure for building an addon, complete with test harness]" \
+      "asset-sizes[Shows the sizes of your asset files]" \
+      "build[Builds your app and places it into the output path (dist/ by default)]" \
+      "destroy[Destroys code generated by generate command]" \
+      "generate[Generates new code from blueprints]" \
+      "help[Outputs the usage instructions for all commands or the provided command]" \
+      "init[Creates a new ember-cli project in the current folder]" \
+      "install[Installs an ember-cli addon from npm]" \
+      "new[Creates a new directory and runs ember init in it]" \
+      "serve[Builds and serves your app, rebuilding on file changes]" \
+      "test[Runs your app's test suite]" \
+      "version[outputs ember-cli version]"
+    ret=0
+    ;;
+  args)
+    case $line[1] in
+      help)
+        _values 'commands' \
+          'addon' \
+          'asset-sizes' \
+          'build' \
+          'destroy' \
+          'generate' \
+          'help' \
+          'init' \
+          'install' \
+          'new' \
+          'serve' \
+          'test' \
+          'vesion' && ret=0
+        ;;
+      addon)
+        _arguments \
+          '(--blueprint)--blueprint=-' \
+          '(--directory)--directory=-' \
+          '(--dry-run)--dry-run' \
+          '(--skip-bower)--skip-bower' \
+          '(--skip-git)--skip-git' \
+          '(--skip-npm)--skip-npm' \
+          '(--verbose)--verbose'
+        ;;
+      asset-sizes)
+        _arguments \
+          '(--output-path)--output-path=-'
+        ;;
+      build)
+        _arguments \
+          '(--environment)--environment=-' \
+          '(--output-path)--output-path=-' \
+          '(--output-path)--suppress-sizes' \
+          '(--watch)--watch' \
+          '(--watcher)--watcher=-' \
+          '(-dev)-dev' \
+          '(-prod)-prod'
+        ;;
+      destroy|generate)
+        _values 'arguments' \
+          '(--classic)--classic' \
+          '(--dry-run)--dry-run' \
+          '(--dummy)--dummy' \
+          '(--in-repo-addon)--in-repo-addon-=' \
+          '(--pod)--pod' \
+          '(--verbose)--verbose' && ret=0
+        _values 'blueprints' \
+          'acceptance-test' \
+          'adapter' \
+          'adapter-test' \
+          'component' \
+          'component-addon' \
+          'component-test' \
+          'controller' \
+          'controller-test' \
+          'helper' \
+          'helper-addon' \
+          'helper-test' \
+          'initializer' \
+          'initializer-addon' \
+          'initializer-test' \
+          'instance-initializer' \
+          'instance-initializer-addon' \
+          'instance-initializer-test' \
+          'mixin' \
+          'mixin-test' \
+          'model' \
+          'model-test' \
+          'resource' \
+          'route' \
+          'route-addon' \
+          'route-test' \
+          'serializer' \
+          'serializer-test' \
+          'service' \
+          'service-test' \
+          'template' \
+          'test-helper' \
+          'transform' \
+          'transform-test' \
+          'util' \
+          'util-test' \
+          'view' \
+          'view-test' \
+          'addon' \
+          'addon-import' \
+          'app' \
+          'blueprint' \
+          'http-mock' \
+          'http-proxy' \
+          'in-repo-addon' \
+          'lib' \
+          'server' \
+          'vendor-shim' && ret=0
+        ;;
+      init)
+        _arguments \
+          '(--blueprint)--blueprint=-' \
+          '(--name)--name=-' \
+          '(--dry-run)--dry-run' \
+          '(--skip-bower)--skip-bower' \
+          '(--skip-npm)--skip-npm' \
+          '(--verbose)--verbose'
+        ;;
+      install)
+        _arguments \
+          '(--save-dev)--save-dev' \
+          '(--save)--save'
+        ;;
+      new)
+        _arguments \
+          '(--blueprint)--blueprint=-' \
+          '(--directory)--directory=-' \
+          '(--dry-run)--dry-run' \
+          '(--skip-bower)--skip-bower' \
+          '(--skip-git)--skip-git' \
+          '(--skip-npm)--skip-npm' \
+          '(--verbose)--verbose'
+        ;;
+      serve)
+        _arguments \
+          '(--port)--port=-[To use a port different than 4200. Pass 0 to automatically pick an available port.]' \
+          '(--host)--host=-[Listens on all interfaces by default]' \
+          '(--proxy)--proxy=-' \
+          '(--secure-proxy)--secure-proxy[Set to false to proxy self-signed SSL certificates]' \
+          '(--transparent-proxy)--transparent-proxy[Set to false to omit x-forwarded-* headers when proxying]' \
+          '(--watcher)--watcher=-' \
+          '(--live-reload)--live-reload' \
+          '(--live-reload-host)--live-reload-host=-[Defaults to host]' \
+          '(--live-reload-base-url)--live-reload-base-url=-[Defaults to baseURL]' \
+          '(--live-reload-port)--live-reload-port=-[Defaults to port number within \[49152...65535\]]' \
+          '(--environment)--environment=-' \
+          '(--output-path)--output-path=-' \
+          '(--ssl)--ssl' \
+          '(--ssl-key)--ssl-key=-' \
+          '(--ssl-cert)--ssl-cert=-'
+        ;;
+      test)
+        _arguments \
+          '(--environment)--environment=-' \
+          '(--config-file)--config-file=-' \
+          '(--server)--server' \
+          '(--host)--host=-' \
+          '(--test-port)--test-port=-[The test port to use when running with --server.]' \
+          '(--filter)--filter=-[A string to filter tests to run]' \
+          '(--module)--module=-[The name of a test module to run]' \
+          '(--watcher)--watcher=-' \
+          '(--launch)--launch=-[A comma separated list of browsers to launch for tests.]' \
+          '(--reporter)--reporter=-[Test reporter to use \[tap|dot|xunit\] (default: tap)]' \
+          '(--silent)--silent[Suppress any output except for the test report]' \
+          '(--test-page)--test-page=-[Test page to invoke]' \
+          '(--path)--path=-[Reuse an existing build at given path.]' \
+          '(--query)--query=-[A query string to append to the test page URL.]'
+        ;;
+    esac
+    ;;
+esac
+
+return ret

+ 2 - 7
plugins/ember-cli/ember-cli.plugin.zsh

@@ -1,17 +1,12 @@
-# Ember CLI
-# Visit https://www.ember-cli.com/ to view user guide
-
-alias es='ember serve'
 alias ea='ember addon'
 alias eb='ember build'
 alias ed='ember destroy'
 alias eg='ember generate'
 alias eh='ember help'
-alias ein='ember init'
 alias ei='ember install'
+alias ein='ember init'
+alias es='ember serve'
 alias et='ember test'
 alias ets='ember test --serve'
 alias eu='ember update'
-
-# version
 alias ev='ember version'