Commit d51ee389 authored by Marc Cornellà's avatar Marc Cornellà
Browse files

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

Closes #5299
parents 8f07e26b 34bc556b
## 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))
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
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment