| exports.completionShTemplate = |
| `###-begin-{{app_name}}-completions-### |
| # |
| # yargs command completion script |
| # |
| # Installation: {{app_path}} {{completion_command}} >> ~/.bashrc |
| # or {{app_path}} {{completion_command}} >> ~/.bash_profile on OSX. |
| # |
| _yargs_completions() |
| { |
| local cur_word args type_list |
| |
| cur_word="\${COMP_WORDS[COMP_CWORD]}" |
| args=("\${COMP_WORDS[@]}") |
| |
| # ask yargs to generate completions. |
| type_list=$({{app_path}} --get-yargs-completions "\${args[@]}") |
| |
| COMPREPLY=( $(compgen -W "\${type_list}" -- \${cur_word}) ) |
| |
| # if no match was found, fall back to filename completion |
| if [ \${#COMPREPLY[@]} -eq 0 ]; then |
| COMPREPLY=() |
| fi |
| |
| return 0 |
| } |
| complete -o default -F _yargs_completions {{app_name}} |
| ###-end-{{app_name}}-completions-### |
| ` |
| |
| exports.completionZshTemplate = `###-begin-{{app_name}}-completions-### |
| # |
| # yargs command completion script |
| # |
| # Installation: {{app_path}} {{completion_command}} >> ~/.zshrc |
| # or {{app_path}} {{completion_command}} >> ~/.zsh_profile on OSX. |
| # |
| _{{app_name}}_yargs_completions() |
| { |
| local reply |
| local si=$IFS |
| IFS=$'\n' reply=($(COMP_CWORD="$((CURRENT-1))" COMP_LINE="$BUFFER" COMP_POINT="$CURSOR" {{app_path}} --get-yargs-completions "\${words[@]}")) |
| IFS=$si |
| _describe 'values' reply |
| } |
| compdef _{{app_name}}_yargs_completions {{app_name}} |
| ###-end-{{app_name}}-completions-### |
| ` |