mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2026-01-02 02:19:06 +01:00
CocoaPods is a bundler like tool used for specifying dependencies in OSX/iOS development projects.
112 lines
2.6 KiB
Text
112 lines
2.6 KiB
Text
#compdef pod
|
|
_pod()
|
|
{
|
|
if (( CURRENT > 2 )); then
|
|
_process_subcommand
|
|
else
|
|
_pod_cmds
|
|
fi
|
|
|
|
}
|
|
|
|
_pod_cmd_install()
|
|
{
|
|
_arguments \
|
|
"--no-clean[Leave SCM dirs like \'.git\' and \'.svn\' in tact after downloading]" \
|
|
"--no-update[Skip running \'pod repo update\' before install]" \
|
|
'*::xcode project file:_files -/ -g "*.xcodeproj"'
|
|
}
|
|
|
|
_pod_cmd_list()
|
|
{
|
|
}
|
|
|
|
_pod_cmd_repo()
|
|
{
|
|
if ((CURRENT == 2)); then
|
|
repo_cmds=(
|
|
"add:pod repo add NAME URL. Clones \`URL\' in the local spec-repos directory at \`~/.cocoapods\'."
|
|
"update:pod repo update NAME. Updates the local clone of the spec-repo \`NAME\'."
|
|
"set-url:pod repo set-url NAME URL. Updates the remote \`URL\' of the spec-repo \`NAME\'."
|
|
)
|
|
_describe 'pod repo commands' repo_cmds
|
|
fi
|
|
}
|
|
|
|
_pod_cmd_search()
|
|
{
|
|
_arguments \
|
|
"--full[Search by name, summary, and description]" \
|
|
'1: :->specs'
|
|
case $state in
|
|
specs)
|
|
spec_list_cmd='pod list | awk "/==>/ {print \$2}"'
|
|
installed_specs=(`eval ${spec_list_cmd}`)
|
|
compadd -a installed_specs
|
|
;;
|
|
esac
|
|
}
|
|
|
|
_pod_cmd_spec()
|
|
{
|
|
if ((CURRENT == 2)); then
|
|
spec_cmds=(
|
|
"create:pod spec create NAME. Creates a PodSpec, in the current working dir, called \`NAME.podspec\'."
|
|
"lint:pod spec lint NAME.podspec. Validates \`NAME.podspec\'."
|
|
)
|
|
_describe 'pod spec commands' spec_cmds
|
|
elif ((CURRENT == 3)); then
|
|
local cmd=${words[2]}
|
|
if [[ $cmd == "lint" ]]; then
|
|
_files -g "*.podspec"
|
|
fi
|
|
fi
|
|
}
|
|
|
|
_pod_cmd_setup()
|
|
{
|
|
}
|
|
|
|
_pod_cmds()
|
|
{
|
|
local -a cmdlist
|
|
#cmdlist=(`pod --help | awk '/\*/ {print \$4}'`)
|
|
cmdlist=(
|
|
"setup:Creates a directory at \`~/.cocoapods\' which will hold your spec-repos."
|
|
"search:pod search [QUERY]. Searches for pods, ignoring case, whose name matches \`QUERY\'."
|
|
"list:Lists all available pods."
|
|
"install:pod install [PROJECT]. Downloads all dependencies defined in \`Podfile\' and creates an Xcode Pods library project in \`./Pods\'."
|
|
"repo:Managing spec-repos"
|
|
"spec:Managing PodSpec files"
|
|
)
|
|
_pod_base_options
|
|
_describe 'Pod commands' cmdlist
|
|
}
|
|
|
|
_process_subcommand()
|
|
{
|
|
local cmd=${words[2]}
|
|
(( CURRENT-- ))
|
|
shift words
|
|
_pod_cmd_$cmd
|
|
}
|
|
|
|
_pod_base_options()
|
|
{
|
|
_arguments \
|
|
"--help[Show help information]" \
|
|
"--silent[Print nothing]" \
|
|
"--verbose[Print more information while working]" \
|
|
"--version[Prints the version of CocoaPods]"
|
|
}
|
|
|
|
_installed_podspecs() {
|
|
local -a installed_specs
|
|
spec_list_cmd='pod list | awk "/==>/ {print \$2}"'
|
|
installed_specs=(`eval ${spec_list_cmd}`)
|
|
return installed_specs
|
|
|
|
}
|
|
|
|
_pod "$@"
|
|
|