You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
1.4 KiB
48 lines
1.4 KiB
export const completionShTemplate = `###-begin-{{app_name}}-completions-### |
|
# |
|
# yargs command completion script |
|
# |
|
# Installation: {{app_path}} {{completion_command}} >> ~/.bashrc |
|
# or {{app_path}} {{completion_command}} >> ~/.bash_profile on OSX. |
|
# |
|
_{{app_name}}_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 bashdefault -o default -F _{{app_name}}_yargs_completions {{app_name}} |
|
###-end-{{app_name}}-completions-### |
|
`; |
|
export const completionZshTemplate = `#compdef {{app_name}} |
|
###-begin-{{app_name}}-completions-### |
|
# |
|
# yargs command completion script |
|
# |
|
# Installation: {{app_path}} {{completion_command}} >> ~/.zshrc |
|
# or {{app_path}} {{completion_command}} >> ~/.zprofile 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-### |
|
`;
|
|
|