diff options
Diffstat (limited to 'plugins/pod/_pod')
| -rw-r--r-- | plugins/pod/_pod | 389 | 
1 files changed, 389 insertions, 0 deletions
| diff --git a/plugins/pod/_pod b/plugins/pod/_pod new file mode 100644 index 000000000..8c0f4460f --- /dev/null +++ b/plugins/pod/_pod @@ -0,0 +1,389 @@ +#compdef pod +#autoload + +# ----------------------------------------------------------------------------- +#          FILE:  _pod +#   DESCRIPTION:  Cocoapods (0.27.1) autocomplete plugin for Oh-My-Zsh +#                 http://cocoapods.org +#        AUTHOR:  Alexandre Joly (alexandre.joly@mekanics.ch) +#        GITHUB:  https://github.com/mekanics +#       TWITTER:  @jolyAlexandre +#       VERSION:  0.0.3 +#       LICENSE:  MIT +# ----------------------------------------------------------------------------- + +local -a _1st_arguments +_1st_arguments=( +    'help:Show help for the given command' +    'init:Generate a Podfile for the current directory' +    'install:Install project dependencies' +    'ipc:Inter-process communication' +    'list:List pods' +    'outdated:Show outdated project dependencies' +    'podfile-info:Shows information on installed Pods' +    'push:Push new specifications to a spec-repo' +    'repo:Manage spec-repositories' +    'search:Searches for pods' +    'setup:Setup the CocoaPods environment' +    'spec:Manage pod specs' +    'update:Update outdated project dependencies' +) + +local -a _repo_arguments +_repo_arguments=( +    'add:Add a spec repo' +    'lint:Validates all specs in a repo' +    'remove:Remove a spec repo.' +    'update:Update a spec repo' +) + +local -a _spec_arguments +_spec_arguments=( +    'cat:Prints a spec file' +    'create:Create spec file stub' +    'edit:Edit a spec file' +    'lint:Validates a spec file' +    'which:Prints the path of the given spec' +) + +local -a _ipc_arguments +_ipc_arguments=( +    'list:Lists the specifications know to CocoaPods' +    'podfile:Converts a Podfile to YAML' +    'repl:The repl listens to commands on standard input' +    'spec:Converts a podspec to YAML' +    'update-search-index:Updates the search index' +) + +local -a _list_arguments +_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]' \ +    '*:script or directory:_files' +) + +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]' \ +    '*:script or directory:_files' +) + +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]' \ +    '*:script or directory:_files' +) + +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 +    declare -a tasks + +    tasks=(install ipc list outdated podfile-info push repo search setup spec update) + +    _wanted tasks expl 'help' compadd $tasks +} + +__repo_list() { +    _wanted application expl 'repo' compadd $(command ls -1 ~/.cocoapods/repos 2>/dev/null | sed -e 's/ /\\ /g') +} + +__pod-repo() { +    local curcontext="$curcontext" state line +    typeset -A opt_args + +    _arguments -C \ +        ':command:->command' \ +        '*::options:->options' + +    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 + +                (remove) +                    _arguments \ +                        $_inherited_options \ +                        ':feature:__repo_list' +                ;; +            esac +        ;; +    esac +} + +__pod-spec() { +    local curcontext="$curcontext" state line +    typeset -A opt_args + +    _arguments -C \ +        ':command:->command' \ +        '*::options:->options' + +   case $state in +        (command) +            _describe -t commands "pod spec" _spec_arguments +            return +        ;; + +        (options) +            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 +} + +__pod-ipc() { +    local curcontext="$curcontext" state line +    typeset -A opt_args + +    _arguments -C \ +        ':command:->command' \ +        '*::options:->options' + +   case $state in +        (command) +            _describe -t commands "pod ipc" _ipc_arguments +            return +        ;; + +        (options) +            _arguments -C \ +                $_inherited_options +            return +        ;; +    esac +} + +__pod-list() { +    local curcontext="$curcontext" state line +    typeset -A opt_args + +    _arguments -C \ +        $_inherited_options \ +        $_list_options \ +        ':command:->command' \ +        '*::options:->options' + +   case $state in +        (command) +            _describe -t commands "pod list" _list_arguments +            return +        ;; + +        (options) +            _arguments -C \ +                $_inherited_options \ +                $_list_options +            return +        ;; +    esac +} + +local curcontext="$curcontext" state line +typeset -A opt_args + +_arguments -C \ +    $_inherited_options \ +    ':command:->command' \ +    '*::options:->options' + +case $state in +  (command) +      _describe -t commands "pod" _1st_arguments +      return +  ;; + +  (options) +    case $line[1] in +        (help) +            _arguments \ +                $_inherited_options \ +                ':help:__first_command_list' +        ;; + +        (push) +            _arguments \ +                $_inherited_options \ +                $_push_options \ +                ':repo:__repo_list' +        ;; + +        (repo) +            __pod-repo +        ;; + +        (spec) +            __pod-spec +        ;; + +        (ipc) +            __pod-ipc +        ;; + +        (list) +            __pod-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 | 
