12345678910111213141516171819202122232425262728293031323334353637 |
- #!/bin/zsh
- # grunt-cli
- # http://gruntjs.com/
- #
- # Copyright (c) 2016 Tyler Kellen, contributors
- # Licensed under the MIT license.
- # https://github.com/gruntjs/grunt/blob/master/LICENSE-MIT
- # Usage:
- #
- # To enable zsh <tab> completion for grunt, add the following line (minus the
- # leading #, which is the zsh comment character) to your ~/.zshrc file:
- #
- # eval "$(grunt --completion=zsh)"
- # Enable zsh autocompletion.
- function _grunt_completion() {
- local completions
- # The currently-being-completed word.
- local cur="${words[@]}"
- # The current grunt version, available tasks, options, etc.
- local gruntinfo="$(grunt --version --verbose 2>/dev/null)"
- # Options and tasks.
- local opts="$(echo "$gruntinfo" | awk '/Available options: / {$1=$2=""; print $0}')"
- local compls="$(echo "$gruntinfo" | awk '/Available tasks: / {$1=$2=""; print $0}')"
- # Only add -- or - options if the user has started typing -
- [[ "$cur" == -* ]] && compls="$compls $opts"
- # Trim whitespace.
- compls=$(echo "$compls" | sed -e 's/^ *//g' -e 's/ *$//g')
- # Turn compls into an array to of completions.
- completions=(${=compls})
- # Tell complete what stuff to show.
- compadd -- $completions
- }
- compdef _grunt_completion grunt
|