2022-01-15 15:46:11 +09:00
# -*- mode: bash -*-
2017-10-10 18:07:01 +07:00
# apm-bash-completion is written by Ugur Ozyilmazel
# repo: https://github.com/vigo/apm-bash-completion
__apm( ) {
local cur prev options apm_command
COMPREPLY = ( )
cur = " ${ COMP_WORDS [COMP_CWORD] } "
prev = " ${ COMP_WORDS [COMP_CWORD-1] } "
__apm_get_command
if [ [ $cur = -* ] ] ; then
options = "--color"
if [ [ -z $apm_command ] ] ; then
options = " $options --version --help "
fi
if [ [ $apm_command && $apm_command = publish ] ] ; then
options = "--tag --rename"
fi
else
if [ [ -z $apm_command || $apm_command = help ] ] ; then
options = "help clean config dedupe deinstall delete dev develop docs erase featured home init install link linked links list ln lns login ls open outdated publish rebuild rebuild-module-cache remove rm search show star starred stars test uninstall unlink unpublish unstar update upgrade view"
fi
if [ [ $apm_command && $apm_command = publish ] ] ; then
options = "major minor patch build"
fi
if [ [ $apm_command && $apm_command = config ] ] ; then
options = "set get delete list edit"
fi
fi
COMPREPLY = ( $( compgen -W " $options " -- " $cur " ) )
}
__apm_get_command( ) {
local i
for ( ( i = 1; i < $COMP_CWORD ; ++i) ) ; do
local arg = ${ COMP_WORDS [ $i ] }
case $arg in
[ ^-] *)
apm_command = $arg
return ; ;
--version)
apm_command = -
return ; ;
--help)
apm_command = help
return ; ;
publish)
apm_command = publish
return ; ;
config)
apm_command = config
return ; ;
esac
done
}
complete -F __apm -o bashdefault -o default apm