1
0
Fork 0
mirror of https://github.com/ohmyzsh/ohmyzsh.git synced 2024-11-30 17:50:07 +00:00
ohmyzsh/plugins/cordova/_cordova
2022-11-24 01:39:06 +04:00

172 lines
No EOL
3.2 KiB
Text

#compdef cordova
# autoload
typeset -A opt_args
local context state line
_cordova() {
local context state line curcontext="$curcontext"
if (( CURRENT > 2 )); then
(( CURRENT-- ))
shift words
_call_function - "__cordova_${words[1]}" || _nothing
else
__cordova_commands
fi
}
__cordova_commands() {
local context state line curcontext="$curcontext"
local -a cordova_options
__cordova_setup_cordova_options
_arguments -C \
$cordova_options \
': :->command'
case "$state" in
command)
local -a commands
commands=(
create'[creates a cordova project in the specified PATH]'
help'[shows this syntax summary]'
info'[print out useful information helpful for submitting bug reports and getting help.]'
server'[runs a local web server for www/ assets. Port defaults to 8000.]'
run'[deploys app on specified (or all) platform devices]'
prepare'[copies files for specified platforms, or all platforms]'
compile'[builds the app for specified platforms, or all platforms]'
build'[shortcut for prepare, then compile]'
emulate'[deploys app in specified (or all) platform emulator(s)]'
platform'[add or remove a specified PLATFORM, etc]'
plugin'[add or remove a plugin from the specified PATH or URI, etc]'
)
_values 'command' $commands
;;
esac
}
__cordova_plugin() {
local context state line curcontext="$curcontext"
if (( CURRENT > 2 )); then
(( CURRENT-- ))
shift word
_call_function - "__cordova_plugin_${words[1]}" || _nothing
else
__cordova_plugin_commands
fi
}
__cordova_plugin_commands (){
local context state line curcontext="$curcontext"
local -a cordova_options
_arguments -C \
$cordova_options \
': :->command'
case "$state" in
command)
local -a commands
commands=(
add'[add platform]'
{remove,rm}'[remove platform]'
{list,ls}'[list all currently installed plugins]'
search'[search the plugin registry for plugins matching the keywords]'
)
_values 'command' $commands
;;
esac
}
__cordova_platform() {
local context state line curcontext="$curcontext"
if (( CURRENT > 2 )); then
(( CURRENT-- ))
shift word
_call_function - "__cordova_platform_${words[1]}" || _nothing
else
__cordova_platform_commands
fi
}
__cordova_platform_commands (){
local context state line curcontext="$curcontext"
local -a cordova_options
_arguments -C \
$cordova_options \
': :->command'
case "$state" in
command)
local -a commands
commands=(
add'[add platform]'
{remove,rm}'[remove platform]'
{list,ls}'[list all currently installed plugins]'
{update,up}'[update the version of cordova]'
search'[search the plugin registry for plugins matching the keywords]'
)
_values 'command' $commands
;;
esac
}
__cordova_setup_cordova_options() {
cordova_options=(
-d'[debug mode ...]'
-v'[prints out this utility version]'
)
}
__cordova_server(){
__cordova_platform_select
}
__cordova_run(){
__cordova_platform_select
}
__cordova_prepare(){
__cordova_platform_select
}
__cordova_compile(){
__cordova_platform_select
}
__cordova_build(){
__cordova_platform_select
}
__cordova_emulate(){
__cordova_platform_select
}
__cordova_platform_select(){
_values 'platform' 'ios' 'android'
}
_cordova "$@"