mirror of
				https://github.com/ohmyzsh/ohmyzsh.git
				synced 2024-05-11 05:55:17 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			390 lines
		
	
	
		
			9.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			390 lines
		
	
	
		
			9.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
#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
 |