Add completion for zsh
This commit is contained in:
parent
acbce88bac
commit
555a10dcb8
1 changed files with 51 additions and 0 deletions
51
nimble.zsh-completion
Normal file
51
nimble.zsh-completion
Normal file
|
|
@ -0,0 +1,51 @@
|
||||||
|
#compdef nimble
|
||||||
|
|
||||||
|
_nimble() {
|
||||||
|
local line
|
||||||
|
|
||||||
|
_arguments -C \
|
||||||
|
'1: :(install init publish uninstall build c cc js doc doc2 refresh search list tasks path dump develop)' \
|
||||||
|
'*::options:->options' \
|
||||||
|
'(--version)--version[show version]' \
|
||||||
|
'(--help)--help[show help]' \
|
||||||
|
'(-)--help[display help information]' \
|
||||||
|
'(-)--version[display version information]' \
|
||||||
|
'(-y --accept)'{-y,--accept}'[accept all interactive prompts]' \
|
||||||
|
{-n,--reject}'[reject all interactive prompts]' \
|
||||||
|
'--ver[Query remote server for package version information when searching or listing packages]' \
|
||||||
|
'--nimbleDir dirname[Set the Nimble directory]' \
|
||||||
|
'(-d --depsOnly)'{-d,--depsOnly}'[Install only dependencies]'
|
||||||
|
|
||||||
|
if [ $#line -eq 0 ]; then
|
||||||
|
# if the command line is empty and "nimble tasks" is successfull, add custom tasks
|
||||||
|
tasks=$(nimble tasks)
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
compadd - $(echo $tasks | cut -f1 -d" " | tr '\n' ' ')
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
case $line[1] in
|
||||||
|
install)
|
||||||
|
_nimble_installable_packages
|
||||||
|
;;
|
||||||
|
uninstall|path|dump)
|
||||||
|
_nimble_installed_packages
|
||||||
|
;;
|
||||||
|
init|publish|build|refresh|search|tasks)
|
||||||
|
(( ret )) && _message 'no more arguments'
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
(( ret )) && _message 'no more arguments'
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
function _nimble_installable_packages {
|
||||||
|
compadd - $(nimble list 2> /dev/null | grep -v '^ ' | tr -d ':')
|
||||||
|
}
|
||||||
|
|
||||||
|
function _nimble_installed_packages {
|
||||||
|
compadd - $(nimble list -i 2> /dev/null | grep ']$' | cut -d' ' -f1)
|
||||||
|
}
|
||||||
|
|
||||||
|
_nimble "$@"
|
||||||
Loading…
Add table
Add a link
Reference in a new issue