Browse Source

Merge branch 'catull-enhancement-add-angular-cli-plugin'

Closes #5299
Marc Cornellà 8 years ago
parent
commit
d51ee38906
2 changed files with 114 additions and 0 deletions
  1. 37 0
      plugins/ng/README.md
  2. 77 0
      plugins/ng/ng.plugin.zsh

+ 37 - 0
plugins/ng/README.md

@@ -0,0 +1,37 @@
+## NG Plugin
+
+This [ng plugin](https://github.com/robbyrussell/oh-my-zsh/tree/master/plugins/ng)
+ adds completion support for Angular's CLI (named ng).
+
+Ng is hosted on [ng home](https://github.com/catull/angular-cli)
+
+It is used to generate Angular 2 app "stubs", build those apps, configure them,
+test them, lint them etc.
+
+Ahem, "stubs" is not what Angular engineers refer to the items ng can generate
+for you.
+
+"Stubs" can be any one of:
+- class
+- component
+- directive
+- enum
+- module
+- pipe
+- route
+- service
+
+At the moment, `ng completion` creates a very rough completion for Zsh and
+Bash.
+
+It is missing most of the options and a few arguments.
+In future, this plugin may be shortened to simply being
+
+```zsh
+eval `ng completion`
+```
+
+There is hope this materialises in the 21st century.
+
+### CONTRIBUTOR
+ - Carlo Dapor ([catull](https://github.com/catull))

+ 77 - 0
plugins/ng/ng.plugin.zsh

@@ -0,0 +1,77 @@
+
+ng_opts='addon asset-sizes b build completion d destroy doc e2e g generate get github-pages:deploy gh-pages:deploy h help i init install lint make-this-awesome new s serve server set t test v version -h --help'
+
+_ng_completion () {
+  local words cword opts
+  read -Ac words
+  read -cn cword
+  let cword-=1
+
+  case $words[cword] in
+    addon )
+      opts='-b --blueprint -d -dir --directory --dry-run -sb --skip-bower -sg --skip-git -sn --skip-npm -v --verbose'
+      ;;
+
+    asset-sizes )
+      opts='-o --output-path'
+      ;;
+
+    b | build )
+      opts='--environment --output-path --suppress-sizes --target --watch --watcher -dev -e -prod'
+      ;;
+
+    d | destroy )
+      opts='--dry-run --verbose --pod --classic --dummy --in-repo --in-repo-addon -d -v -p -c -dum -id -ir'
+      ;;
+
+    g | generate )
+      opts='class component directive enum module pipe route service --generate -d --dry-run --verbose -v --pod -p --classic -c --dummy -dum -id --in-repo --in-repo-addon -ir'
+      ;;
+
+    gh-pages:deploy | github-pages:deploy )
+      opts='--environment --gh-token --gh-username --skip-build --user-page --message'
+      ;;
+
+    h | help | -h | --help)
+      opts='--json --verbose -v'
+      ;;
+
+    init )
+      opts='--blueprint --dry-run --link-cli --mobile --name --prefix --skip-bower --skip-npm --source-dir --style --verbose -b -d -lc -n -p -sb -sd -sn -v'
+      ;;
+
+    new )
+      opts='--blueprint --directory --dry-run --link-cli --mobile --prefix --skip-bower --skip-git --skip-npm --source-dir --style --verbose -b -d -dir -lc -p -sb -sd -sg -sn -v'
+      ;;
+
+    s | serve | server )
+      opts='--environment --host --insecure-proxy --inspr --live-reload --live-reload-base-url --live-reload-host --live-reload-live-css --live-reload-port --output-path --port --proxy --ssl --ssl-cert --ssl-key --target --watcher -H -dev -e -lr -lrbu -lrh -lrp -op -out -p -pr -prod -pxy -t -w'
+      ;;
+
+    set )
+      opts='--global -g'
+      ;;
+
+    t | test )
+      opts='--browsers --colors --config-file --environment --filter --host --launch --log-level --module --path --port --query --reporter --server --silent --test-page --test-port --watch -H -c -cf -e -f -m -r -s -tp -w'
+      ;;
+
+    v | version )
+      opts='--verbose'
+      ;;
+
+    ng )
+      opts=$ng_opts
+      ;;
+
+    * )
+      opts=''
+      ;;
+  esac
+
+  setopt shwordsplit
+  reply=($opts)
+  unset shwordsplit
+}
+
+compctl -K _ng_completion ng