forked from extern/ohmyzsh
Merge remote-tracking branch 'robbyrussell/master'
This commit is contained in:
commit
fda5afaebc
@ -4,7 +4,7 @@
|
|||||||
if [[ -f config/deploy.rb || -f Capfile ]]; then
|
if [[ -f config/deploy.rb || -f Capfile ]]; then
|
||||||
if [[ ! -f .cap_tasks~ || config/deploy.rb -nt .cap_tasks~ ]]; then
|
if [[ ! -f .cap_tasks~ || config/deploy.rb -nt .cap_tasks~ ]]; then
|
||||||
echo "\nGenerating .cap_tasks~..." > /dev/stderr
|
echo "\nGenerating .cap_tasks~..." > /dev/stderr
|
||||||
cap --tasks | grep '#' | cut -d " " -f 2 > .cap_tasks~
|
cap -v --tasks | grep '#' | cut -d " " -f 2 > .cap_tasks~
|
||||||
fi
|
fi
|
||||||
compadd `cat .cap_tasks~`
|
compadd `cat .cap_tasks~`
|
||||||
fi
|
fi
|
||||||
|
19
plugins/docker/README.md
Normal file
19
plugins/docker/README.md
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
## Docker autocomplete plugin
|
||||||
|
|
||||||
|
- Adds autocomplete options for all docker commands.
|
||||||
|
- Will also show containerIDs and Image names where applicable
|
||||||
|
|
||||||
|
####Shows help for all commands
|
||||||
|
![General Help](http://i.imgur.com/tUBO9jh.png "Help for all commands")
|
||||||
|
|
||||||
|
|
||||||
|
####Shows your downloaded images where applicable
|
||||||
|
![Images](http://i.imgur.com/R8ZsWO1.png "Images")
|
||||||
|
|
||||||
|
|
||||||
|
####Shows your running containers where applicable
|
||||||
|
![Containers](http://i.imgur.com/WQtbheg.png "Containers")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Maintainer : Ahmed Azaan ([@aeonazaan](https://twitter.com/aeonazaan))
|
290
plugins/docker/_docker
Normal file
290
plugins/docker/_docker
Normal file
@ -0,0 +1,290 @@
|
|||||||
|
#compdef docker
|
||||||
|
|
||||||
|
# Docker autocompletion for oh-my-zsh
|
||||||
|
# Requires: Docker installed
|
||||||
|
# Author : Azaan (@aeonazaan)
|
||||||
|
|
||||||
|
|
||||||
|
# ----- Helper functions
|
||||||
|
# Output a selectable list of all running docker containers
|
||||||
|
__docker_containers() {
|
||||||
|
declare -a cont_cmd
|
||||||
|
cont_cmd=($(docker ps | awk 'NR>1{print $1":[CON("$1")"$2"("$3")]"}'))
|
||||||
|
_describe 'containers' cont_cmd
|
||||||
|
}
|
||||||
|
|
||||||
|
# output a selectable list of all docker images
|
||||||
|
__docker_images() {
|
||||||
|
declare -a img_cmd
|
||||||
|
img_cmd=($(docker images | awk 'NR>1{print $1}'))
|
||||||
|
_describe 'images' img_cmd
|
||||||
|
}
|
||||||
|
|
||||||
|
# ----- Commands
|
||||||
|
# Seperate function for each command, makes extension easier later
|
||||||
|
# ---------------------------
|
||||||
|
__attach() {
|
||||||
|
__docker_containers
|
||||||
|
}
|
||||||
|
|
||||||
|
__build() {
|
||||||
|
_arguments \
|
||||||
|
'-q=false[Suppress verbose build output]' \
|
||||||
|
'-t="[fuck to be applied to the resulting image in case of success]' \
|
||||||
|
'*:files:_files'
|
||||||
|
}
|
||||||
|
|
||||||
|
__commit() {
|
||||||
|
_arguments \
|
||||||
|
'-author="[Author]' \
|
||||||
|
'-m="[Commit message]' \
|
||||||
|
'-run="[Config automatically applied when the image is run.\n]'
|
||||||
|
__docker_containers
|
||||||
|
}
|
||||||
|
|
||||||
|
__diff() {
|
||||||
|
__docker_containers
|
||||||
|
}
|
||||||
|
|
||||||
|
__export() {
|
||||||
|
__docker_containers
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
__history() {
|
||||||
|
__docker_images
|
||||||
|
}
|
||||||
|
|
||||||
|
__images() {
|
||||||
|
_arguments \
|
||||||
|
'-a[show all images]' \
|
||||||
|
'-notrunc[dont truncate output]' \
|
||||||
|
'-q[only show numeric IDs]' \
|
||||||
|
'-viz[output graph in graphviz format]'
|
||||||
|
__docker_images
|
||||||
|
}
|
||||||
|
|
||||||
|
__import() {
|
||||||
|
_arguments '*:files:_files'
|
||||||
|
}
|
||||||
|
|
||||||
|
__info() {
|
||||||
|
# no arguments
|
||||||
|
}
|
||||||
|
|
||||||
|
__insert() {
|
||||||
|
__docker_images
|
||||||
|
_arguments '*:files:_files'
|
||||||
|
}
|
||||||
|
|
||||||
|
__inspect() {
|
||||||
|
__docker_images
|
||||||
|
__docker_containers
|
||||||
|
}
|
||||||
|
|
||||||
|
__kill() {
|
||||||
|
__docker_containers
|
||||||
|
}
|
||||||
|
|
||||||
|
__login() {
|
||||||
|
_arguments \
|
||||||
|
'-e="[email]' \
|
||||||
|
'-p="[password]' \
|
||||||
|
'-u="[username]' \
|
||||||
|
}
|
||||||
|
|
||||||
|
__logs() {
|
||||||
|
__docker_containers
|
||||||
|
}
|
||||||
|
|
||||||
|
__port() {
|
||||||
|
__docker_containers
|
||||||
|
}
|
||||||
|
|
||||||
|
__top() {
|
||||||
|
__docker_containers
|
||||||
|
}
|
||||||
|
|
||||||
|
__ps() {
|
||||||
|
_arguments \
|
||||||
|
'-a[Show all containers. Only running containers are shown by default.]' \
|
||||||
|
'-beforeId="[Show only container created before Id, include non-running ones.]' \
|
||||||
|
'-l[Show only the latest created container, include non-running ones.]' \
|
||||||
|
'-n=[Show n last created containers, include non-running ones.]' \
|
||||||
|
'-notrurrrrnc[Dont truncate output]' \
|
||||||
|
'-q[Only display numeric IDs]' \
|
||||||
|
'-s[Display sizes]' \
|
||||||
|
'-sinceId="[Show only containers created since Id, include non-running ones.]'
|
||||||
|
}
|
||||||
|
|
||||||
|
__pull() {
|
||||||
|
_arguments '-t="[Download tagged image in repository]'
|
||||||
|
}
|
||||||
|
|
||||||
|
__push() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
__restart() {
|
||||||
|
_arguments '-t=[number of seconds to try to stop before killing]'
|
||||||
|
__docker_containers
|
||||||
|
}
|
||||||
|
|
||||||
|
__rm() {
|
||||||
|
_arguments '-v[Remove the volumes associated to the container]'
|
||||||
|
__docker_containers
|
||||||
|
}
|
||||||
|
|
||||||
|
__rmi() {
|
||||||
|
__docker_images
|
||||||
|
}
|
||||||
|
|
||||||
|
__run() {
|
||||||
|
_arguments \
|
||||||
|
'-a=[Attach to stdin, stdout or stderr.]' \
|
||||||
|
'-c=[CPU shares (relative weight)]' \
|
||||||
|
'-d[Detached mode: leave the container running in the background]' \
|
||||||
|
'-dns=[Set custom dns servers]' \
|
||||||
|
'-e=[Set environment variables]' \
|
||||||
|
'-entrypoint="[Overwrite the default entrypoint of the image]' \
|
||||||
|
'-h="[Container host name]' \
|
||||||
|
'-i[Keep stdin open even if not attached]' \
|
||||||
|
'-m=[Memory limit (in bytes)]' \
|
||||||
|
'-p=[Expose a containers port to the host (use docker port to see the actual mapping)]' \
|
||||||
|
'-t[Allocate a pseudo-tty]' \
|
||||||
|
'-u="[Username or UID]' \
|
||||||
|
'-v=[Bind mount a volume (e.g. from the host: -v /host:/container, from docker: -v /container)]' \
|
||||||
|
'-volumes-from="[Mount volumes from the specified container]'
|
||||||
|
__docker_images
|
||||||
|
}
|
||||||
|
|
||||||
|
__search() {
|
||||||
|
_arguments '-notrunc[Dont truncate output]'
|
||||||
|
}
|
||||||
|
|
||||||
|
__start() {
|
||||||
|
__docker_containers
|
||||||
|
}
|
||||||
|
|
||||||
|
__stop() {
|
||||||
|
_arguments '-t=[number of seconds to try to stop before killing]'
|
||||||
|
__docker_containers
|
||||||
|
}
|
||||||
|
|
||||||
|
__tag() {
|
||||||
|
_arguments '-f[Force]'
|
||||||
|
__docker_images
|
||||||
|
}
|
||||||
|
|
||||||
|
__version() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
__wait() {
|
||||||
|
__docker_containers
|
||||||
|
}
|
||||||
|
|
||||||
|
# end commands ---------
|
||||||
|
# ----------------------
|
||||||
|
|
||||||
|
local -a _1st_arguments
|
||||||
|
_1st_arguments=(
|
||||||
|
"attach":"Attach to a running container"
|
||||||
|
"build":"Build a container from a Dockerfile"
|
||||||
|
"commit":"Create a new image from a container's changes"
|
||||||
|
"diff":"Inspect changes on a container's filesystem"
|
||||||
|
"export":"Stream the contents of a container as a tar archive"
|
||||||
|
"history":"Show the history of an image"
|
||||||
|
"images":"List images"
|
||||||
|
"import":"Create a new filesystem image from the contents of a tarball"
|
||||||
|
"info":"Display system-wide information"
|
||||||
|
"insert":"Insert a file in an image"
|
||||||
|
"inspect":"Return low-level information on a container"
|
||||||
|
"kill":"Kill a running container"
|
||||||
|
"login":"Register or Login to the docker registry server"
|
||||||
|
"logs":"Fetch the logs of a container"
|
||||||
|
"port":"Lookup the public-facing port which is NAT-ed to PRIVATE_PORT"
|
||||||
|
"top":"Lookup the running processes of a container"
|
||||||
|
"ps":"List containers"
|
||||||
|
"pull":"Pull an image or a repository from the docker registry server"
|
||||||
|
"push":"Push an image or a repository to the docker registry server"
|
||||||
|
"restart":"Restart a running container"
|
||||||
|
"rm":"Remove one or more containers"
|
||||||
|
"rmi":"Remove one or more images"
|
||||||
|
"run":"Run a command in a new container"
|
||||||
|
"search":"Search for an image in the docker index"
|
||||||
|
"start":"Start a stopped container"
|
||||||
|
"stop":"Stop a running container"
|
||||||
|
"tag":"Tag an image into a repository"
|
||||||
|
"version":"Show the docker version information"
|
||||||
|
"wait":"Block until a container stops, then print its exit code"
|
||||||
|
)
|
||||||
|
|
||||||
|
_arguments '*:: :->command'
|
||||||
|
|
||||||
|
if (( CURRENT == 1 )); then
|
||||||
|
_describe -t commands "docker command" _1st_arguments
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
local -a _command_args
|
||||||
|
case "$words[1]" in
|
||||||
|
attach)
|
||||||
|
__docker_containers ;;
|
||||||
|
build)
|
||||||
|
__build ;;
|
||||||
|
commit)
|
||||||
|
__commit ;;
|
||||||
|
diff)
|
||||||
|
__diff ;;
|
||||||
|
export)
|
||||||
|
__export ;;
|
||||||
|
history)
|
||||||
|
__history ;;
|
||||||
|
images)
|
||||||
|
__images ;;
|
||||||
|
import)
|
||||||
|
__import ;;
|
||||||
|
info)
|
||||||
|
__info ;;
|
||||||
|
insert)
|
||||||
|
__insert ;;
|
||||||
|
inspect)
|
||||||
|
__inspect ;;
|
||||||
|
kill)
|
||||||
|
__kill ;;
|
||||||
|
login)
|
||||||
|
__login ;;
|
||||||
|
logs)
|
||||||
|
__logs ;;
|
||||||
|
port)
|
||||||
|
__port ;;
|
||||||
|
top)
|
||||||
|
__top ;;
|
||||||
|
ps)
|
||||||
|
__ps ;;
|
||||||
|
pull)
|
||||||
|
__pull ;;
|
||||||
|
push)
|
||||||
|
__push ;;
|
||||||
|
restart)
|
||||||
|
__restart ;;
|
||||||
|
rm)
|
||||||
|
__rm ;;
|
||||||
|
rmi)
|
||||||
|
__rmi ;;
|
||||||
|
run)
|
||||||
|
__run ;;
|
||||||
|
search)
|
||||||
|
__search ;;
|
||||||
|
start)
|
||||||
|
__start ;;
|
||||||
|
stop)
|
||||||
|
__stop ;;
|
||||||
|
tag)
|
||||||
|
__tag ;;
|
||||||
|
version)
|
||||||
|
__version ;;
|
||||||
|
wait)
|
||||||
|
__wait ;;
|
||||||
|
esac
|
@ -9,8 +9,9 @@ _gem_installed() {
|
|||||||
|
|
||||||
local -a _1st_arguments
|
local -a _1st_arguments
|
||||||
_1st_arguments=(
|
_1st_arguments=(
|
||||||
|
'build:Build a gem from a gemspec'
|
||||||
'cert:Manage RubyGems certificates and signing settings'
|
'cert:Manage RubyGems certificates and signing settings'
|
||||||
'check:Check installed gems'
|
'check:Check a gem repository for added or missing files'
|
||||||
'cleanup:Clean up old versions of installed gems in the local repository'
|
'cleanup:Clean up old versions of installed gems in the local repository'
|
||||||
'contents:Display the contents of the installed gems'
|
'contents:Display the contents of the installed gems'
|
||||||
'dependency:Show the dependencies of an installed gem'
|
'dependency:Show the dependencies of an installed gem'
|
||||||
@ -21,7 +22,7 @@ _1st_arguments=(
|
|||||||
'install:Install a gem into the local repository'
|
'install:Install a gem into the local repository'
|
||||||
'list:Display gems whose name starts with STRING'
|
'list:Display gems whose name starts with STRING'
|
||||||
'lock:Generate a lockdown list of gems'
|
'lock:Generate a lockdown list of gems'
|
||||||
'mirror:Mirror a gem repository'
|
'mirror:Mirror all gem files (requires rubygems-mirror)'
|
||||||
'outdated:Display all gems that need updates'
|
'outdated:Display all gems that need updates'
|
||||||
'owner:Manage gem owners on RubyGems.org.'
|
'owner:Manage gem owners on RubyGems.org.'
|
||||||
'pristine:Restores installed gems to pristine condition from files located in the gem cache'
|
'pristine:Restores installed gems to pristine condition from files located in the gem cache'
|
||||||
@ -35,8 +36,9 @@ _1st_arguments=(
|
|||||||
'stale:List gems along with access times'
|
'stale:List gems along with access times'
|
||||||
'uninstall:Uninstall gems from the local repository'
|
'uninstall:Uninstall gems from the local repository'
|
||||||
'unpack:Unpack an installed gem to the current directory'
|
'unpack:Unpack an installed gem to the current directory'
|
||||||
'update:Update the named gems (or all installed gems) in the local repository'
|
'update:Update installed gems to the latest version'
|
||||||
'which:Find the location of a library file you can require'
|
'which:Find the location of a library file you can require'
|
||||||
|
'yank:Remove a specific gem version release from RubyGems.org'
|
||||||
)
|
)
|
||||||
|
|
||||||
local expl
|
local expl
|
||||||
|
@ -60,3 +60,24 @@ _git-branch ()
|
|||||||
"($l $c $m -d)-D[delete a branch]" \
|
"($l $c $m -d)-D[delete a branch]" \
|
||||||
$dependent_deletion_args
|
$dependent_deletion_args
|
||||||
}
|
}
|
||||||
|
|
||||||
|
(( $+functions[__git_ignore_line] )) ||
|
||||||
|
__git_ignore_line () {
|
||||||
|
declare -a ignored
|
||||||
|
ignored=()
|
||||||
|
((CURRENT > 1)) &&
|
||||||
|
ignored+=(${line[1,CURRENT-1]//(#m)[\[\]()\\*?#<>~\^]/\\$MATCH})
|
||||||
|
((CURRENT < $#line)) &&
|
||||||
|
ignored+=(${line[CURRENT+1,-1]//(#m)[\[\]()\\*?#<>~\^]/\\$MATCH})
|
||||||
|
$* -F ignored
|
||||||
|
}
|
||||||
|
|
||||||
|
(( $+functions[__git_ignore_line_inside_arguments] )) ||
|
||||||
|
__git_ignore_line_inside_arguments () {
|
||||||
|
declare -a compadd_opts
|
||||||
|
|
||||||
|
zparseopts -D -E -a compadd_opts V: J: 1 2 n f X: M: P: S: r: R: q F:
|
||||||
|
|
||||||
|
__git_ignore_line $* $compadd_opts
|
||||||
|
}
|
||||||
|
|
||||||
|
@ -22,6 +22,8 @@ alias gca='git commit -v -a'
|
|||||||
compdef _git gc=git-commit
|
compdef _git gc=git-commit
|
||||||
alias gca!='git commit -v -a --amend'
|
alias gca!='git commit -v -a --amend'
|
||||||
compdef _git gca!=git-commit
|
compdef _git gca!=git-commit
|
||||||
|
alias gcmsg='git commit -m'
|
||||||
|
compdef _git gcmsg=git-commit
|
||||||
alias gco='git checkout'
|
alias gco='git checkout'
|
||||||
compdef _git gco=git-checkout
|
compdef _git gco=git-checkout
|
||||||
alias gcm='git checkout master'
|
alias gcm='git checkout master'
|
||||||
|
18
plugins/knife_ssh/knife_ssh.plugin.zsh
Normal file
18
plugins/knife_ssh/knife_ssh.plugin.zsh
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
function knife_ssh() {
|
||||||
|
grep -q $1 ~/.knife_comp~ 2> /dev/null || rm -f ~/.knife_comp~;
|
||||||
|
ssh $(knife node show $1 | awk '/IP:/{print $2}')
|
||||||
|
}
|
||||||
|
|
||||||
|
_knife_ssh() {
|
||||||
|
if hash knife 2>/dev/null; then
|
||||||
|
if [[ ! -f ~/.knife_comp~ ]]; then
|
||||||
|
echo "\nGenerating ~/.knife_comp~..." >/dev/stderr
|
||||||
|
knife node list > ~/.knife_comp~
|
||||||
|
fi
|
||||||
|
compadd $(<~/.knife_comp~)
|
||||||
|
else
|
||||||
|
echo "Could not find knife" > /dev/stderr;
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
compdef _knife_ssh knife_ssh
|
63
plugins/mix/_mix
Normal file
63
plugins/mix/_mix
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
#compdef mix
|
||||||
|
#autoload
|
||||||
|
|
||||||
|
# Elixir mix zsh completion
|
||||||
|
|
||||||
|
local -a _1st_arguments
|
||||||
|
_1st_arguments=(
|
||||||
|
'archive:Archive this project into a .ez file'
|
||||||
|
'clean:Clean generated application files'
|
||||||
|
'compile:Compile source files'
|
||||||
|
'deps:List dependencies and their status'
|
||||||
|
"deps.clean:Remove dependencies' files"
|
||||||
|
'deps.compile:Compile dependencies'
|
||||||
|
'deps.get:Get all out of date dependencies'
|
||||||
|
'deps.unlock:Unlock the given dependencies'
|
||||||
|
'deps.update:Update dependencies'
|
||||||
|
'do:Executes the commands separated by comma'
|
||||||
|
'escriptize:Generates an escript for the project'
|
||||||
|
'help:Print help information for tasks'
|
||||||
|
'local:List local tasks'
|
||||||
|
'local.install:Install a task or an archive locally'
|
||||||
|
'local.rebar:Install rebar locally'
|
||||||
|
'local.uninstall:Uninstall local tasks or archives'
|
||||||
|
'new:Creates a new Elixir project'
|
||||||
|
'run:Run the given file or expression'
|
||||||
|
"test:Run a project's tests"
|
||||||
|
'--help:Describe available tasks'
|
||||||
|
'--version:Prints the Elixir version information'
|
||||||
|
)
|
||||||
|
|
||||||
|
__task_list ()
|
||||||
|
{
|
||||||
|
local expl
|
||||||
|
declare -a tasks
|
||||||
|
|
||||||
|
tasks=(archive clean compile deps deps.clean deps.compile deps.get deps.unlock deps.update do escriptize help local local.install local.rebar local.uninstall new run test)
|
||||||
|
|
||||||
|
_wanted tasks expl 'help' compadd $tasks
|
||||||
|
}
|
||||||
|
|
||||||
|
local expl
|
||||||
|
|
||||||
|
local curcontext="$curcontext" state line
|
||||||
|
typeset -A opt_args
|
||||||
|
|
||||||
|
_arguments -C \
|
||||||
|
':command:->command' \
|
||||||
|
'*::options:->options'
|
||||||
|
|
||||||
|
case $state in
|
||||||
|
(command)
|
||||||
|
_describe -t commands "mix subcommand" _1st_arguments
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
|
||||||
|
(options)
|
||||||
|
case $line[1] in
|
||||||
|
(help)
|
||||||
|
_arguments ':feature:__task_list'
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
381
plugins/pod/_pod
Normal file
381
plugins/pod/_pod
Normal file
@ -0,0 +1,381 @@
|
|||||||
|
#compdef pod
|
||||||
|
#autoload
|
||||||
|
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
# FILE: _pod
|
||||||
|
# DESCRIPTION: Cocoapods 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.1
|
||||||
|
# LICENSE: MIT
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
local -a _1st_arguments
|
||||||
|
_1st_arguments=(
|
||||||
|
'help:Show help for the given command.'
|
||||||
|
'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'
|
||||||
|
'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 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
|
||||||
|
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
|
@ -4,7 +4,11 @@ function _rails_command () {
|
|||||||
if [ -e "script/server" ]; then
|
if [ -e "script/server" ]; then
|
||||||
ruby script/$@
|
ruby script/$@
|
||||||
else
|
else
|
||||||
ruby script/rails $@
|
if [ -e "bin/rails" ]; then
|
||||||
|
bin/rails $@
|
||||||
|
else
|
||||||
|
rails $@
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
# To load multiple identities use the identities style, For
|
# To load multiple identities use the identities style, For
|
||||||
# example:
|
# example:
|
||||||
#
|
#
|
||||||
# zstyle :omz:plugins:ssh-agent id_rsa id_rsa2 id_github
|
# zstyle :omz:plugins:ssh-agent identities id_rsa id_rsa2 id_github
|
||||||
#
|
#
|
||||||
# To set the maximum lifetime of the identities, use the
|
# To set the maximum lifetime of the identities, use the
|
||||||
# lifetime style. The lifetime may be specified in seconds
|
# lifetime style. The lifetime may be specified in seconds
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
# symfony basic command completion
|
# symfony basic command completion
|
||||||
|
|
||||||
_symfony_get_command_list () {
|
_symfony_get_command_list () {
|
||||||
./symfony | sed "1,/Available tasks/d" | awk 'BEGIN { cat=null; } /^[A-Za-z]+$/ { cat = $1; } /^ :[a-z]+/ { print cat $1; }'
|
php symfony | sed "1,/Available tasks/d" | awk 'BEGIN { cat=null; } /^[A-Za-z]+$/ { cat = $1; } /^ :[a-z]+/ { print cat $1; }'
|
||||||
}
|
}
|
||||||
|
|
||||||
_symfony () {
|
_symfony () {
|
||||||
|
Loading…
Reference in New Issue
Block a user