1export const completionShTemplate = `###-begin-{{app_name}}-completions-### 2# 3# yargs command completion script 4# 5# Installation: {{app_path}} {{completion_command}} >> ~/.bashrc 6# or {{app_path}} {{completion_command}} >> ~/.bash_profile on OSX. 7# 8_{{app_name}}_yargs_completions() 9{ 10 local cur_word args type_list 11 12 cur_word="\${COMP_WORDS[COMP_CWORD]}" 13 args=("\${COMP_WORDS[@]}") 14 15 # ask yargs to generate completions. 16 type_list=$({{app_path}} --get-yargs-completions "\${args[@]}") 17 18 COMPREPLY=( $(compgen -W "\${type_list}" -- \${cur_word}) ) 19 20 # if no match was found, fall back to filename completion 21 if [ \${#COMPREPLY[@]} -eq 0 ]; then 22 COMPREPLY=() 23 fi 24 25 return 0 26} 27complete -o bashdefault -o default -F _{{app_name}}_yargs_completions {{app_name}} 28###-end-{{app_name}}-completions-### 29`; 30export const completionZshTemplate = `#compdef {{app_name}} 31###-begin-{{app_name}}-completions-### 32# 33# yargs command completion script 34# 35# Installation: {{app_path}} {{completion_command}} >> ~/.zshrc 36# or {{app_path}} {{completion_command}} >> ~/.zsh_profile on OSX. 37# 38_{{app_name}}_yargs_completions() 39{ 40 local reply 41 local si=$IFS 42 IFS=$'\n' reply=($(COMP_CWORD="$((CURRENT-1))" COMP_LINE="$BUFFER" COMP_POINT="$CURSOR" {{app_path}} --get-yargs-completions "\${words[@]}")) 43 IFS=$si 44 _describe 'values' reply 45} 46compdef _{{app_name}}_yargs_completions {{app_name}} 47###-end-{{app_name}}-completions-### 48`; 49