Brak opisu
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.

completion-templates.js 1.4KB

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