View difference between Paste ID: f52475980 and
SHOW:
|
|
- or go back to the newest paste.
| 1 | - | |
| 1 | + | export GRAILS_VERSION="$(ls -lhr $HOME/.grails | egrep -i '1\.' | head -1 | gawk '{print $9 }')"
|
| 2 | ||
| 3 | sed_option="-E" | |
| 4 | ||
| 5 | [ "$(uname)" == "Linux" ] && sed_option="-r" | |
| 6 | ||
| 7 | _get_domain_classes(){
| |
| 8 | find ./grails-app/domain -iname *.groovy 2> /dev/null | tr \\n ' ' | sed 's/\.groovy//g' | sed 's/\.\/grails-app\/domain\///g' | tr '/' \. | |
| 9 | } | |
| 10 | ||
| 11 | _get_tests(){
| |
| 12 | find ./test -iname *.groovy 2> /dev/null | sed 's/\.\/test\/integration\///g' | sed 's/\Tests.groovy//g' | tr '/' \. | |
| 13 | } | |
| 14 | ||
| 15 | _get_plugins(){
| |
| 16 | cat $HOME/.grails/$GRAILS_VERSION/plugins/plugins-list.xml 2> /dev/null | grep \<plugin | gawk -F"name=" '{print $2}' | sed 's/\"//g' | sed 's/\/\{0,1\}\>//g'
| |
| 17 | } | |
| 18 | ||
| 19 | _get_scripts(){
| |
| 20 | for D in $SCRIPT_DIRS; do | |
| 21 | if [ -d $D ] | |
| 22 | then ls -1 $D/*.groovy 2> /dev/null | sed $sed_option 's/(.*)\/(.*)\.groovy/\2/' | sed $sed_option 's/([A-Z])/-\1/g' | sed $sed_option 's/^-//' | tr "[:upper:]" "[:lower:]" | |
| 23 | fi | |
| 24 | done | sort | uniq | grep -vE "^_" | |
| 25 | } | |
| 26 | ||
| 27 | _grails_comp(){
| |
| 28 | local cur prev opts base | |
| 29 | COMPREPLY=() | |
| 30 | cur="${COMP_WORDS[COMP_CWORD]}"
| |
| 31 | prev="${COMP_WORDS[COMP_CWORD-1]}"
| |
| 32 | if [ -r ./grails-app ]; then | |
| 33 | SCRIPT_DIRS="$GRAILS_HOME/scripts ./scripts $HOME/.grails/scripts" | |
| 34 | if [ -d plugins ] | |
| 35 | then for PLUGIN_DIR in $(ls -d plugins/*/scripts 2> /dev/null); do | |
| 36 | SCRIPT_DIRS="$SCRIPT_DIRS $PLUGIN_DIR" | |
| 37 | done | |
| 38 | fi | |
| 39 | ||
| 40 | opts=$(_get_scripts) | |
| 41 | ||
| 42 | case "${prev}" in
| |
| 43 | generate-all) | |
| 44 | local classes=$(_get_domain_classes) | |
| 45 | COMPREPLY=( $(compgen -W "${classes}" -- ${cur}) )
| |
| 46 | return 0 | |
| 47 | ;; | |
| 48 | generate-views) | |
| 49 | local classes=$(_get_domain_classes) | |
| 50 | COMPREPLY=( $(compgen -W "${classes}" -- ${cur}) )
| |
| 51 | return 0 | |
| 52 | ;; | |
| 53 | generate-controller) | |
| 54 | local classes=$(_get_domain_classes) | |
| 55 | COMPREPLY=( $(compgen -W "${classes}" -- ${cur}) )
| |
| 56 | return 0 | |
| 57 | ;; | |
| 58 | test-app) | |
| 59 | local test_classes=$(_get_tests) | |
| 60 | COMPREPLY=( $(compgen -W "${test_classes}" -- ${cur}) )
| |
| 61 | return 0 | |
| 62 | ;; | |
| 63 | install-plugin) | |
| 64 | local plugins=$(_get_plugins) | |
| 65 | COMPREPLY=( $(compgen -W "${plugins}" -- ${cur}) )
| |
| 66 | return 0 | |
| 67 | ;; | |
| 68 | package-plugin) | |
| 69 | COMPREPLY=( $(compgen -f) ) | |
| 70 | return 0 | |
| 71 | ;; | |
| 72 | plugin-info) | |
| 73 | local plugins=$(opts) | |
| 74 | COMPREPLY=( $(compgen -W "${plugins}" -- ${cur}) )
| |
| 75 | return 0 | |
| 76 | ;; | |
| 77 | help) | |
| 78 | local opts=$(_get_scripts) | |
| 79 | COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
| |
| 80 | return 0 | |
| 81 | ;; | |
| 82 | *) | |
| 83 | ;; | |
| 84 | esac | |
| 85 | ||
| 86 | if [[ "${opts}" =~ "${prev}" ]]; then
| |
| 87 | COMPREPLY=( $(compgen -f) ) | |
| 88 | return 0 | |
| 89 | fi | |
| 90 | ||
| 91 | COMPREPLY=($(compgen -W "${opts}" -- ${cur}))
| |
| 92 | return 0 | |
| 93 | else | |
| 94 | opts="create-app create-plugin help list-plugins package-plugin plugin-info set-proxy" | |
| 95 | case "${prev}" in
| |
| 96 | create-app) | |
| 97 | COMPREPLY=( $(compgen -f) ) | |
| 98 | return 0 | |
| 99 | ;; | |
| 100 | create-plugin) | |
| 101 | COMPREPLY=( $(compgen -f) ) | |
| 102 | return 0 | |
| 103 | ;; | |
| 104 | package-plugin) | |
| 105 | COMPREPLY=( $(compgen -f) ) | |
| 106 | return 0 | |
| 107 | ;; | |
| 108 | plugin-info) | |
| 109 | local plugins=$(_get_plugins) | |
| 110 | COMPREPLY=( $(compgen -W "${plugins}" -- ${cur}) )
| |
| 111 | return 0 | |
| 112 | ;; | |
| 113 | *) | |
| 114 | ;; | |
| 115 | esac | |
| 116 | COMPREPLY=($(compgen -W "${opts}" -- ${cur}))
| |
| 117 | return 0 | |
| 118 | fi | |
| 119 | } | |
| 120 | ||
| 121 | complete -F _grails_comp grails |