|
|
|
|
@ -12,19 +12,6 @@ |
|
|
|
|
# LICENSE: MIT |
|
|
|
|
# ----------------------------------------------------------------------------- |
|
|
|
|
|
|
|
|
|
#------------------ |
|
|
|
|
# TODO: |
|
|
|
|
# - Parameters for |
|
|
|
|
# - install |
|
|
|
|
# - update |
|
|
|
|
# - outdated |
|
|
|
|
# - search |
|
|
|
|
# - list |
|
|
|
|
# - push |
|
|
|
|
# - podfile-info |
|
|
|
|
# - setup |
|
|
|
|
#------------------ |
|
|
|
|
|
|
|
|
|
local -a _1st_arguments |
|
|
|
|
_1st_arguments=( |
|
|
|
|
'help:Show help for the given command.' |
|
|
|
|
@ -71,6 +58,92 @@ _list_arguments=( |
|
|
|
|
'new:Lists pods introduced in the master spec-repo since the last check' |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
local -a _inherited_options |
|
|
|
|
_inherited_options=( |
|
|
|
|
'(--silent)--silent[Show nothing]' \ |
|
|
|
|
'(--version)--version[Show the version of CocoaPods]' \ |
|
|
|
|
'(--no-color)--no-color[Show output without color]' \ |
|
|
|
|
'(--verbose)--verbose[Show more debugging information]' \ |
|
|
|
|
'(--help)--help[Show help banner of specified command]' |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
local -a _install_options |
|
|
|
|
_install_options=( |
|
|
|
|
'(--no-clean)--no-clean[Leave SCM dirs like `.git` and `.svn` intact after downloading]' \ |
|
|
|
|
'(--no-integrate)--no-integrate[Skip integration of the Pods libraries in the Xcode project(s)]' \ |
|
|
|
|
'(--no-repo-update)--no-repo-update[Skip running `pod repo update` before install]' |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
local -a _update_options |
|
|
|
|
_update_options=( |
|
|
|
|
'(--no-clean)--no-clean[Leave SCM dirs like `.git` and `.svn intact after downloading]' \ |
|
|
|
|
'(--no-integrate)--no-integrate[Skip integration of the Pods libraries in the Xcode project(s)]' \ |
|
|
|
|
'(--no-repo-update)--no-repo-update[Skip running `pod repo update before install]' |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
local -a _outdated_options |
|
|
|
|
_outdated_options=( |
|
|
|
|
'(--no-repo-update)--no-repo-update[Skip running `pod repo update` before install]' |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
local -a _search_options |
|
|
|
|
_search_options=( |
|
|
|
|
'(--full)--full[Search by name, summary, and description]' \ |
|
|
|
|
'(--stats)--stats[Show additional stats (like GitHub watchers and forks)]' \ |
|
|
|
|
'(--ios)--ios[Restricts the search to Pods supported on iOS]' \ |
|
|
|
|
'(--osx)--osx[Restricts the search to Pods supported on OS X]' |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
local -a _list_options |
|
|
|
|
_list_options=( |
|
|
|
|
'(--update)--update[Run `pod repo update` before listing]' |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
local -a _podfile_info_options |
|
|
|
|
_podfile_info_options=( |
|
|
|
|
'(--all)--all[Show information about all Pods with dependencies that are used in a project]' \ |
|
|
|
|
'(--md)--md[Output information in Markdown format]' |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
local -a _push_options |
|
|
|
|
_push_options=( |
|
|
|
|
'(--allow-warnings)--allow-warnings[Allows pushing even if there are warnings]' \ |
|
|
|
|
'(--local-only)--local-only[Does not perform the step of pushing REPO to its remote]' |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
local -a _repo_lint_options |
|
|
|
|
_repo_lint_options=( |
|
|
|
|
'(--only-errors)--only-errors[Lint presents only the errors]' |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
local -a _setup_options |
|
|
|
|
_setup_options=( |
|
|
|
|
'(--push)--push[Use this option to enable push access once granted]' |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
local -a _spec_lint_options |
|
|
|
|
_spec_lint_options=( |
|
|
|
|
'(--quick)--quick[Lint skips checks that would require to download and build the spec]' \ |
|
|
|
|
'(--only-errors)--only-errors[Lint validates even if warnings are present]' \ |
|
|
|
|
'(--no-clean)--no-clean[Lint leaves the build directory intact for inspection]' |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
local -a _spec_cat_options |
|
|
|
|
_spec_cat_options=( |
|
|
|
|
'(--show-all)--show-all[Pick from all versions of the given podspec]' |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
local -a _spec_which_options |
|
|
|
|
_spec_which_options=( |
|
|
|
|
'(--show-all)--show-all[Print all versions of the given podspec]' |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
local -a _spec_edit_options |
|
|
|
|
_spec_edit_options=( |
|
|
|
|
'(--show-all)--show-all[Pick which spec to edit from all available versions of the given podspec]' |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
__first_command_list () |
|
|
|
|
{ |
|
|
|
|
local expl |
|
|
|
|
@ -82,7 +155,7 @@ __first_command_list () |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
__repo_list() { |
|
|
|
|
_wanted application expl 'command' compadd $(command ls -1 ~/.cocoapods 2>/dev/null | sed -e 's/ /\\ /g') |
|
|
|
|
_wanted application expl 'repo' compadd $(command ls -1 ~/.cocoapods 2>/dev/null | sed -e 's/ /\\ /g') |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
__pod-repo() { |
|
|
|
|
@ -93,19 +166,32 @@ __pod-repo() { |
|
|
|
|
':command:->command' \ |
|
|
|
|
'*::options:->options' |
|
|
|
|
|
|
|
|
|
case $state in |
|
|
|
|
(command) |
|
|
|
|
_describe -t commands "gem subcommand" _repo_arguments |
|
|
|
|
return |
|
|
|
|
;; |
|
|
|
|
|
|
|
|
|
(options) |
|
|
|
|
case $line[1] in |
|
|
|
|
(update|lint) |
|
|
|
|
_arguments ':feature:__repo_list' |
|
|
|
|
;; |
|
|
|
|
esac |
|
|
|
|
;; |
|
|
|
|
case $state in |
|
|
|
|
(command) |
|
|
|
|
_describe -t commands "pod repo" _repo_arguments |
|
|
|
|
return |
|
|
|
|
;; |
|
|
|
|
|
|
|
|
|
(options) |
|
|
|
|
case $line[1] in |
|
|
|
|
(lint) |
|
|
|
|
_arguments \ |
|
|
|
|
$_inherited_options \ |
|
|
|
|
$_repo_lint_options \ |
|
|
|
|
':feature:__repo_list' |
|
|
|
|
;; |
|
|
|
|
|
|
|
|
|
(update) |
|
|
|
|
_arguments \ |
|
|
|
|
$_inherited_options \ |
|
|
|
|
':feature:__repo_list' |
|
|
|
|
;; |
|
|
|
|
|
|
|
|
|
(add) |
|
|
|
|
_arguments \ |
|
|
|
|
$_inherited_options |
|
|
|
|
esac |
|
|
|
|
;; |
|
|
|
|
esac |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -119,12 +205,41 @@ __pod-spec() { |
|
|
|
|
|
|
|
|
|
case $state in |
|
|
|
|
(command) |
|
|
|
|
_describe -t commands "gem subcommand" _spec_arguments |
|
|
|
|
_describe -t commands "pod spec" _spec_arguments |
|
|
|
|
return |
|
|
|
|
;; |
|
|
|
|
|
|
|
|
|
(options) |
|
|
|
|
#todo |
|
|
|
|
case $line[1] in |
|
|
|
|
(create) |
|
|
|
|
_arguments \ |
|
|
|
|
$_inherited_options |
|
|
|
|
;; |
|
|
|
|
|
|
|
|
|
(lint) |
|
|
|
|
_arguments \ |
|
|
|
|
$_inherited_options \ |
|
|
|
|
$_spec_lint_options |
|
|
|
|
;; |
|
|
|
|
|
|
|
|
|
(cat) |
|
|
|
|
_arguments \ |
|
|
|
|
$_inherited_options \ |
|
|
|
|
$_spec_cat_options |
|
|
|
|
;; |
|
|
|
|
|
|
|
|
|
(which) |
|
|
|
|
_arguments \ |
|
|
|
|
$_inherited_options \ |
|
|
|
|
$_spec_which_options |
|
|
|
|
;; |
|
|
|
|
|
|
|
|
|
(edit) |
|
|
|
|
_arguments \ |
|
|
|
|
$_inherited_options \ |
|
|
|
|
$_spec_edit_options |
|
|
|
|
;; |
|
|
|
|
esac |
|
|
|
|
return |
|
|
|
|
;; |
|
|
|
|
esac |
|
|
|
|
@ -140,12 +255,13 @@ __pod-ipc() { |
|
|
|
|
|
|
|
|
|
case $state in |
|
|
|
|
(command) |
|
|
|
|
_describe -t commands "gem subcommand" _ipc_arguments |
|
|
|
|
_describe -t commands "pod ipc" _ipc_arguments |
|
|
|
|
return |
|
|
|
|
;; |
|
|
|
|
|
|
|
|
|
(options) |
|
|
|
|
#todo |
|
|
|
|
_arguments -C \ |
|
|
|
|
$_inherited_options |
|
|
|
|
return |
|
|
|
|
;; |
|
|
|
|
esac |
|
|
|
|
@ -156,48 +272,53 @@ __pod-list() { |
|
|
|
|
typeset -A opt_args |
|
|
|
|
|
|
|
|
|
_arguments -C \ |
|
|
|
|
$_inherited_options \ |
|
|
|
|
$_list_options \ |
|
|
|
|
':command:->command' \ |
|
|
|
|
'*::options:->options' |
|
|
|
|
|
|
|
|
|
case $state in |
|
|
|
|
(command) |
|
|
|
|
_describe -t commands "gem subcommand" _list_arguments |
|
|
|
|
_describe -t commands "pod list" _list_arguments |
|
|
|
|
return |
|
|
|
|
;; |
|
|
|
|
|
|
|
|
|
(options) |
|
|
|
|
#todo |
|
|
|
|
_arguments -C \ |
|
|
|
|
$_inherited_options \ |
|
|
|
|
$_list_options |
|
|
|
|
return |
|
|
|
|
;; |
|
|
|
|
esac |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
local expl |
|
|
|
|
#local -a boxes installed_boxes |
|
|
|
|
|
|
|
|
|
local curcontext="$curcontext" state line |
|
|
|
|
typeset -A opt_args |
|
|
|
|
|
|
|
|
|
_arguments -C \ |
|
|
|
|
$_inherited_options \ |
|
|
|
|
':command:->command' \ |
|
|
|
|
'*::options:->options' |
|
|
|
|
|
|
|
|
|
case $state in |
|
|
|
|
(command) |
|
|
|
|
_describe -t commands "gem subcommand" _1st_arguments |
|
|
|
|
_describe -t commands "pod" _1st_arguments |
|
|
|
|
return |
|
|
|
|
;; |
|
|
|
|
|
|
|
|
|
(options) |
|
|
|
|
case $line[1] in |
|
|
|
|
(help) |
|
|
|
|
_arguments ':feature:__first_command_list' |
|
|
|
|
_arguments \ |
|
|
|
|
$_inherited_options \ |
|
|
|
|
':help:__first_command_list' |
|
|
|
|
;; |
|
|
|
|
|
|
|
|
|
(push) |
|
|
|
|
_arguments ':feature:__repo_list' |
|
|
|
|
_arguments \ |
|
|
|
|
$_inherited_options \ |
|
|
|
|
$_push_options \ |
|
|
|
|
':repo:__repo_list' |
|
|
|
|
;; |
|
|
|
|
|
|
|
|
|
(repo) |
|
|
|
|
@ -216,8 +337,42 @@ case $state in |
|
|
|
|
__pod-list |
|
|
|
|
;; |
|
|
|
|
|
|
|
|
|
(install|outdated|podfile-info|search|setup|update) |
|
|
|
|
#_arguments ':feature:__repo_list' |
|
|
|
|
(install) |
|
|
|
|
_arguments \ |
|
|
|
|
$_inherited_options \ |
|
|
|
|
$_install_options |
|
|
|
|
;; |
|
|
|
|
|
|
|
|
|
(update) |
|
|
|
|
_arguments \ |
|
|
|
|
$_inherited_options \ |
|
|
|
|
$_update_options |
|
|
|
|
;; |
|
|
|
|
|
|
|
|
|
(outdated) |
|
|
|
|
_arguments \ |
|
|
|
|
$_inherited_options \ |
|
|
|
|
$_outdated_options |
|
|
|
|
;; |
|
|
|
|
|
|
|
|
|
(search) |
|
|
|
|
_arguments \ |
|
|
|
|
$_inherited_options \ |
|
|
|
|
$_search_options |
|
|
|
|
;; |
|
|
|
|
|
|
|
|
|
(podfile-info) |
|
|
|
|
_arguments \ |
|
|
|
|
$_inherited_options \ |
|
|
|
|
$_podfile_info_options |
|
|
|
|
;; |
|
|
|
|
|
|
|
|
|
(setup) |
|
|
|
|
_arguments \ |
|
|
|
|
$_inherited_options \ |
|
|
|
|
$_setup_options |
|
|
|
|
;; |
|
|
|
|
|
|
|
|
|
esac |
|
|
|
|
;; |
|
|
|
|
esac |
|
|
|
|
|