Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
adam.huang
Ohmyzsh
Commits
cf5ca2f4
Commit
cf5ca2f4
authored
Jul 05, 2013
by
Alexandre Joly
Browse files
commands and subcommands
parent
c26facb5
Changes
1
Hide whitespace changes
Inline
Side-by-side
plugins/pod/_pod
View file @
cf5ca2f4
#compdef pod
#compdef pod
#autoload
# -----------------------------------------------------------------------------
# -----------------------------------------------------------------------------
# FILE: pod.plugin.zsh
# FILE: pod.plugin.zsh
# DESCRIPTION: Cocoapods autocomplete plugin for Oh-My-Zsh
# DESCRIPTION: Cocoapods autocomplete plugin for Oh-My-Zsh
# http://cocoapods.org
# AUTHOR: Alexandre Joly (alexandre.joly@mekanics.ch)
# AUTHOR: Alexandre Joly (alexandre.joly@mekanics.ch)
# GITHUB: https://github.com/mekanics
# GITHUB: https://github.com/mekanics
# TWITTER: @jolyAlexandre
# VERSION: 0.0.1
# VERSION: 0.0.1
# LICENSE: MIT
# -----------------------------------------------------------------------------
# -----------------------------------------------------------------------------
_pod_all_repos() {
#------------------
repos=(`ls ~/.cocoapods`)
# TODO:
}
# - Parameters for
# - install
# - update
# - outdated
# - search
# - list
# - push
# - podfile-info
# - setup
#------------------
local -a _1st_arguments
local -a _1st_arguments
_1st_arguments=(
_1st_arguments=(
...
@@ -29,54 +42,158 @@ _1st_arguments=(
...
@@ -29,54 +42,158 @@ _1st_arguments=(
'update:Update outdated project dependencies'
'update:Update outdated project dependencies'
)
)
_arguments '*:: :->command'
local -a _repo_arguments
_repo_arguments=(
if (( CURRENT == 1 )); then
'add:Add a spec repo'
_describe -t commands "pod command" _1st_arguments
'lint:Validates all specs in a repo'
return
'update:Update a spec repo'
fi
)
local -a _command_args
local -a _spec_arguments
case "$words[1]" in
_spec_arguments=(
install)
'cat:Prints a spec file'
_command_args=(
'create:Create spec file stub'
'(--no-clean)--no-clean[Leave SCM dirs like `.git` and `.svn` intact after downloading]' \
'edit:Edit a spec file'
'(--no-integrate)--no-integrate[Skip integration of the Pods libraries in the Xcode project(s)]' \
'lint:Validates a spec file'
'(--no-repo-update)--no-repo-update[Skip running `pod repo update before install]'
'which:Prints the path of the given spec'
)
)
;;
update)
local -a _ipc_arguments
_command_args=(
_ipc_arguments=(
'(--no-clean)--no-clean[Leave SCM dirs like `.git` and `.svn intact after downloading]' \
'list:Lists the specifications know to CocoaPods'
'(--no-integrate)--no-integrate[Skip integration of the Pods libraries in the Xcode project(s)]' \
'podfile:Converts a Podfile to YAML'
'(--no-repo-update)--no-repo-update[Skip running `pod repo update before install]'
'repl:The repl listens to commands on standard input'
)
'spec:Converts a podspec to YAML'
;;
'update-search-index:Updates the search index'
outdated)
)
_command_args=(
'(--no-repo-update)--no-repo-update[Skip running `pod repo update before install]'
local -a _list_arguments
)
_list_arguments=(
;;
'new:Lists pods introduced in the master spec-repo since the last check'
search)
)
_command_args=(
'(--full)--full[Search by name, summary, and description]' \
__first_command_list ()
'(--stats)--stats[Show additional stats (like GitHub watchers and forks)]' \
{
'(--ios)--ios[Restricts the search to Pods supported on iOS]' \
local expl
'(--osx)--osx[Restricts the search to Pods supported on OS X]'
declare -a tasks
)
;;
tasks=(install ipc lib list outdated podfile-info push repo search setup spec update)
update)
_command_args=(
_wanted tasks expl 'help' compadd $tasks
'(--update)--update[Run `pod repo update before listing]'
}
)
;;
__repo_list() {
esac
_wanted application expl 'command' compadd $(command ls -1 ~/.cocoapods 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 "gem subcommand" _repo_arguments
return
;;
(options)
case $line[1] in
(update|lint)
_arguments ':feature:__repo_list'
;;
esac
;;
esac
}
__pod-spec() {
local curcontext="$curcontext" state line
typeset -A opt_args
_arguments \
_arguments -C \
$_command_args \
':command:->command' \
'(--silent)--silent[Show nothing]' \
'*::options:->options'
'(--version)--version[Show the version of CocoaPods]' \
'(--no-color)--no-color[Show output without color]' \
case $state in
'(--verbose)--verbose[Show more debugging information]' \
(command)
'(--help)--help[Show help banner of specified command]' \
_describe -t commands "gem subcommand" _spec_arguments
&& return 0
return
\ No newline at end of file
;;
(options)
#todo
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 "gem subcommand" _ipc_arguments
return
;;
(options)
#todo
return
;;
esac
}
local expl
#local -a boxes installed_boxes
local curcontext="$curcontext" state line
typeset -A opt_args
_arguments -C \
':command:->command' \
'*::options:->options'
case $state in
(command)
_describe -t commands "gem subcommand" _1st_arguments
return
;;
(options)
case $line[1] in
(help)
_arguments ':feature:__first_command_list'
;;
(repo)
__pod-repo
;;
(spec)
__pod-spec
;;
(ipc)
__pod-ipc
;;
(list)
__pod-list
;;
(install|lib|outdated|podfile-info|push|search|setup|update)
#_arguments ':feature:__repo_list'
esac
;;
esac
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment