1. Peter Ward
  2. dotfiles

Commits

Peter Ward  committed d68b2e1 Merge

merged

  • Participants
  • Parent commits b65e179, 5d71a8e
  • Branches flowblok

Comments (0)

Files changed (309)

File .hgignore

File contents unchanged.

File .mutt/colors

File contents unchanged.

File .mutt/composing

File contents unchanged.

File .mutt/display

File contents unchanged.

File .mutt/general

File contents unchanged.

File .mutt/macros

File contents unchanged.

File .muttrc

File contents unchanged.

File .oh-my-zsh/.gitignore

-*.zwc
-*.zwc.old
-plugins/*/cache.zsh

File .oh-my-zsh/README.md

-# Oh My Zsh
-
-OMZ is a configuration framework for [Zsh](http://www.zsh.org) that enriches
-the command line interface environment with sane defaults, aliases, functions,
-auto completion, and prompt themes.
-
-## Installation
-
-Oh My Zsh will work with any recent release of Zsh, but the minimum recommended
-version is 4.3.10.
-
-1. Clone the repository:
-
-    `git clone https://github.com/sorin-ionescu/oh-my-zsh.git ~/.oh-my-zsh`
-
-2. Initialize the submodules:
-
-    `git submodule update --init --recursive`
-
-3. Create a new Zsh configuration by copying the Zsh template provided:
-
-    `cp ~/.oh-my-zsh/templates/zshrc.zsh ~/.zshrc`
-
-4. Set Zsh as your default shell:
-
-    `chsh -s /bin/zsh`
-
-5. Open a new Zsh terminal window or tab.
-
-### Mac OS X
-
-If you have administrator privileges, you must fix an Apple miss configuration
-in Mac OS X 10.7 Lion by renaming `/etc/zshenv` to `/etc/zprofile`, or Zsh will
-have the wrong `PATH` when executed non-interactively by scripts.
-
-### Troubleshooting
-
-If you are not able to find certain commands after switching to *Oh My Zsh*,
-modify the `PATH` variable in `environment.zsh` then open a new Zsh terminal
-window or tab.
-
-## Usage
-
-Oh My Zsh has many features disabled by default. Read the source code and
-accompanying README files to learn of what is available.
-
-### Plugins
-
-1. Browse `plugins/` to see what is available.
-2. Load the plugins you need in `~/.zshrc` then open a new Zsh terminal window
-   or tab.
-
-### Themes
-
-1. For a list of themes, type `prompt -l`.
-2. To preview a theme, type `prompt -p name`.
-3. Load the theme you like in `~/.zshrc` then open a new Zsh terminal window or
-   tab.
-   ![sorin theme](http://i.imgur.com/aipDQ.png "sorin theme")
-
-## Customization
-
-The project is managed via [Git](http://git-scm.com). It is highly recommend
-that you commit your changes and push them to [GitHub](http://github.com) to
-not lose them. If you do not know how to use Git, follow this
-[tutorial](http://gitimmersion.com) and bookmark this
-[reference](http://gitref.org).
-
-### Completions
-
-Submit program completions to the
-[zsh-completions](https://github.com/zsh-users/zsh-completions) project. The Oh
-My Zsh completions directory will be synched against it.
-
-## Resources
-
-The [Zsh Reference Card](http://www.bash2zsh.com/zsh_refcard/refcard.pdf) is
-indispensable.
-
-## Contribute
-
-This project would not exist without all of its users and
-[contributors](https://github.com/sorin-ionescu/oh-my-zsh/contributors).
-
-If you have ideas on how to make the configuration easier to maintain or
-improve its performance, do not hesitate to fork and send pull requests.
-
-## License
-
-(The MIT License)
-
-Copyright (c) 2009-2012 Robby Russell, Sorin Ionescu, and contributors.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of
-this software and associated documentation files (the "Software"), to deal in
-the Software without restriction, including without limitation the rights to
-use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
-of the Software, and to permit persons to whom the Software is furnished to do
-so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
-

File .oh-my-zsh/alias.zsh

-#
-# Defines general aliases.
-#
-# Authors:
-#   Sorin Ionescu <sorin.ionescu@gmail.com>
-#
-
-setopt CORRECT               # Correct commands.
-
-# The 'ls' Family
-if zstyle -t ':omz:alias:ls' color; then
-  if [[ -f "$HOME/.dir_colors" ]] && (( $+commands[dircolors] )); then
-    eval $(dircolors "$HOME/.dir_colors")
-    alias ls='ls -hF --group-directories-first --color=auto'
-  else
-    export CLICOLOR=1
-    export LSCOLORS="exfxcxdxbxegedabagacad"
-    alias ls='ls -G -F'
-  fi
-fi
-
-alias l='ls -1A'             # Show files in one column.
-alias ll='ls -lh'            # Show human readable.
-alias la='ls -lhA'           # Show hidden files.
-alias lx='ls -lhXB'          # Sort by extension.
-alias lk='ls -lhSr'          # Sort by size, biggest last.
-alias lc='ls -lhtcr'         # Sort by and show change time, most recent last.
-alias lu='ls -lhtur'         # Sort by and show access time, most recent last.
-alias lt='ls -lhtr'          # Sort by date, most recent last.
-alias lm='ls -lha | more'    # Pipe through 'more'.
-alias lr='ls -lhR'           # Recursive ls.
-alias sl='ls'                # I often screw this up.
-
-# General
-alias _='sudo'
-alias b="$BROWSER"
-alias cd='nocorrect cd'
-alias cp='nocorrect cp -i'
-alias df='df -kh'
-alias du='du -kh'
-alias e="$EDITOR"
-alias find='noglob find'
-alias fc='noglob fc'
-alias gcc='nocorrect gcc'
-alias history='noglob history'
-alias ln='nocorrect ln -i'
-alias locate='noglob locate'
-alias man='nocorrect man'
-alias mkdir='nocorrect mkdir -p'
-alias mv='nocorrect mv -i'
-alias p="$PAGER"
-alias po='popd'
-alias pu='pushd'
-alias rake='noglob rake'
-alias rm='nocorrect rm'
-alias scp='nocorrect scp'
-alias type='type -a'
-
-# Mac OS X
-if [[ "$OSTYPE" != darwin* ]]; then
-  alias open='xdg-open'
-  alias get='wget --continue --progress=bar'
-
-  if (( $+commands[xclip] )); then
-    alias pbcopy='xclip -selection clipboard -in'
-    alias pbpaste='xclip -selection clipboard -out'
-  fi
-
-  if (( $+commands[xsel] )); then
-    alias pbcopy='xsel --clipboard --input'
-    alias pbpaste='xsel --clipboard --output'
-  fi
-else
-  alias get='curl --continue-at - --location --progress-bar --remote-name'
-fi
-
-alias o='open'
-alias pbc='pbcopy'
-alias pbp='pbpaste'
-
-# Top
-if (( $+commands[htop] )); then
-  alias top=htop
-else
-  alias topm='top -o vsize'
-  alias topc='top -o cpu'
-fi
-
-# Diff/Make
-if zstyle -t ':omz:alias:diff' color; then
-  function diff() {
-    if (( $+commands[colordiff] )); then
-      "$commands[diff]" --unified "$@" | colordiff --difftype diffu
-    else
-      "$commands[diff]" --unified "$@"
-    fi
-  }
-
-  function wdiff() {
-    if (( $+commands[wdiff] )); then
-      "$commands[wdiff]" \
-        --avoid-wraps \
-        --start-delete="$(print -n $FG[red])" \
-        --end-delete="$(print -n $FG[none])" \
-        --start-insert="$(print -n $FG[green])" \
-        --end-insert="$(print -n $FG[none])" \
-        "$@" \
-      | sed 's/^\(@@\( [+-][[:digit:]]*,[[:digit:]]*\)\{2\} @@\)$/;5;6m\10m/g'
-    else
-      print "zsh: command not found: $0" >&2
-    fi
-  }
-
-  if (( $+commands[colormake] )); then
-    alias make='colormake'
-    compdef colormake=make
-  fi
-fi
-
-# Miscellaneous
-(( $+commands[ack] )) && alias afind='nocorrect ack'
-(( $+commands[ebuild] )) && alias ebuild='nocorrect ebuild'
-(( $+commands[gist] )) && alias gist='nocorrect gist'
-(( $+commands[heroku] )) && alias heroku='nocorrect heroku'
-(( $+commands[mysql] )) && alias mysql='nocorrect mysql'
-

File .oh-my-zsh/completion.zsh

-#
-# Sets completion options.
-#
-# Authors:
-#   Robby Russell <robby@planetargon.com>
-#   Sorin Ionescu <sorin.ionescu@gmail.com>
-#
-
-# Dumb terminals lack support.
-if [[ "$TERM" == 'dumb' ]]; then
-  return
-fi
-
-setopt COMPLETE_IN_WORD    # Complete from both ends of a word.
-setopt ALWAYS_TO_END       # Move cursor to the end of a completed word.
-setopt PATH_DIRS           # Perform path search even on command names with slashes.
-setopt AUTO_MENU           # Show completion menu on a succesive tab press.
-setopt AUTO_LIST           # Automatically list choices on ambiguous completion.
-setopt AUTO_PARAM_SLASH    # If completed parameter is a directory, add a trailing slash.
-unsetopt MENU_COMPLETE     # Do not autoselect the first completion entry.
-unsetopt FLOW_CONTROL      # Disable start/stop characters in shell editor.
-
-# Treat these characters as part of a word.
-WORDCHARS='*?_-.[]~&;!#$%^(){}<>'
-
-# Use caching to make completion for cammands such as dpkg and apt usable.
-zstyle ':completion::complete:*' use-cache on
-zstyle ':completion::complete:*' cache-path "$HOME/.zcache"
-
-# Case-insensitive (all), partial-word, and then substring completion.
-if zstyle -t ':omz:completion:*' case-sensitive; then
-  zstyle ':completion:*' matcher-list 'r:|[._-]=* r:|=*' 'l:|=* r:|=*'
-  setopt CASE_GLOB
-else
-  zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=*' 'l:|=* r:|=*'
-  unsetopt CASE_GLOB
-fi
-
-# Group matches and describe.
-zstyle ':completion:*:*:*:*:*' menu select
-zstyle ':completion:*:matches' group 'yes'
-zstyle ':completion:*:options' description 'yes'
-zstyle ':completion:*:options' auto-description '%d'
-zstyle ':completion:*:corrections' format ' %F{green}-- %d (errors: %e) --%f'
-zstyle ':completion:*:descriptions' format ' %F{yellow}-- %d --%f'
-zstyle ':completion:*:messages' format ' %F{purple} -- %d --%f'
-zstyle ':completion:*:warnings' format ' %F{red}-- no matches found --%f'
-zstyle ':completion:*:default' list-prompt '%S%M matches%s'
-zstyle ':completion:*' format ' %F{yellow}-- %d --%f'
-zstyle ':completion:*' group-name ''
-zstyle ':completion:*' verbose yes
-
-# Fuzzy match mistyped completions.
-zstyle ':completion:*' completer _complete _match _approximate
-zstyle ':completion:*:match:*' original only
-zstyle ':completion:*:approximate:*' max-errors 1 numeric
-
-# Increase the number of errors based on the length of the typed word.
-zstyle -e ':completion:*:approximate:*' max-errors 'reply=($((($#PREFIX+$#SUFFIX)/3))numeric)'
-
-# Don't complete unavailable commands.
-zstyle ':completion:*:functions' ignored-patterns '(_*|pre(cmd|exec))'
-
-# Array completion element sorting.
-zstyle ':completion:*:*:-subscript-:*' tag-order indexes parameters
-
-# Directories
-zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}"
-zstyle ':completion:*:*:cd:*' tag-order local-directories directory-stack path-directories
-zstyle ':completion:*:*:cd:*:directory-stack' menu yes select
-zstyle ':completion:*:-tilde-:*' group-order 'named-directories' 'path-directories' 'users' 'expand'
-zstyle ':completion:*' squeeze-slashes true
-
-# History
-zstyle ':completion:*:history-words' stop yes
-zstyle ':completion:*:history-words' remove-all-dups yes
-zstyle ':completion:*:history-words' list false
-zstyle ':completion:*:history-words' menu yes
-
-# Environmental Variables
-zstyle ':completion::*:(-command-|export):*' fake-parameters ${${${_comps[(I)-value-*]#*,}%%,*}:#-*-}
-
-# Populate hostname completion.
-zstyle -e ':completion:*:hosts' hosts 'reply=(
-  ${=${${(f)"$(cat {/etc/ssh_,~/.ssh/known_}hosts(|2)(N) 2>/dev/null)"}%%[#| ]*}//,/ }
-  ${=${(f)"$(cat /etc/hosts(|)(N) <<(ypcat hosts 2>/dev/null))"}%%\#*}
-  ${=${${${${(@M)${(f)"$(cat ~/.ssh/config 2>/dev/null)"}:#Host *}#Host }:#*\**}:#*\?*}}
-)'
-
-# Don't complete uninteresting users...
-zstyle ':completion:*:*:*:users' ignored-patterns \
-  adm amanda apache avahi beaglidx bin cacti canna clamav daemon \
-  dbus distcache dovecot fax ftp games gdm gkrellmd gopher \
-  hacluster haldaemon halt hsqldb ident junkbust ldap lp mail \
-  mailman mailnull mldonkey mysql nagios \
-  named netdump news nfsnobody nobody nscd ntp nut nx openvpn \
-  operator pcap postfix postgres privoxy pulse pvm quagga radvd \
-  rpc rpcuser rpm shutdown squid sshd sync uucp vcsa xfs '_*'
-
-# ... unless we really want to.
-zstyle '*' single-ignored show
-
-# Ignore multiple entries.
-zstyle ':completion:*:(rm|kill|diff):*' ignore-line yes
-zstyle ':completion:*:rm:*' file-patterns '*:all-files'
-
-# Kill
-zstyle ':completion:*:*:*:*:processes' command 'ps -u $USER -o pid,user,comm -w'
-zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#) ([0-9a-z-]#)*=01;36=0=01'
-zstyle ':completion:*:*:kill:*' menu yes select
-zstyle ':completion:*:*:kill:*' force-list always
-zstyle ':completion:*:*:kill:*' insert-ids single
-
-# Man
-zstyle ':completion:*:manuals' separate-sections true
-zstyle ':completion:*:manuals.(^1*)' insert-sections true
-
-# Media Players
-zstyle ':completion:*:*:mpg123:*' file-patterns '*.(mp3|MP3):mp3\ files *(-/):directories'
-zstyle ':completion:*:*:mpg321:*' file-patterns '*.(mp3|MP3):mp3\ files *(-/):directories'
-zstyle ':completion:*:*:ogg123:*' file-patterns '*.(ogg|OGG|flac):ogg\ files *(-/):directories'
-zstyle ':completion:*:*:mocp:*' file-patterns '*.(wav|WAV|mp3|MP3|ogg|OGG|flac):ogg\ files *(-/):directories'
-
-# Mutt
-if [[ -f ~/.mutt/aliases ]]; then
-  zstyle ':completion:*:*:mutt:*' menu yes select
-  zstyle ':completion:*:mutt:*' users ${${${(f)"$(<~/.mutt/aliases)"}#alias[[:space:]]}%%[[:space:]]*}
-fi
-
-# SSH/SCP/RSYNC
-zstyle ':completion:*:(scp|rsync):*' tag-order 'hosts:-host hosts:-domain:domain hosts:-ipaddr:ip\ address *'
-zstyle ':completion:*:(scp|rsync):*' group-order users files all-files hosts-domain hosts-host hosts-ipaddr
-zstyle ':completion:*:ssh:*' tag-order users 'hosts:-host hosts:-domain:domain hosts:-ipaddr:ip\ address *'
-zstyle ':completion:*:ssh:*' group-order hosts-domain hosts-host users hosts-ipaddr
-zstyle ':completion:*:(ssh|scp|rsync):*:hosts-host' ignored-patterns '*.*' loopback localhost
-zstyle ':completion:*:(ssh|scp|rsync):*:hosts-domain' ignored-patterns '<->.<->.<->.<->' '^*.*' '*@*'
-zstyle ':completion:*:(ssh|scp|rsync):*:hosts-ipaddr' ignored-patterns '^<->.<->.<->.<->' '127.0.0.<->'
-

File .oh-my-zsh/completions/.git

-gitdir: /home/flowblok/oh-my-zsh/.git/modules/completions

File .oh-my-zsh/completions/README.md

-zsh-completions
-===============
-
-**Additional completion definitions for [Zsh](http://www.zsh.org).**
-
-*This projects aims at gathering/developing new completion scripts that are not available in Zsh yet. The scripts are meant to be contributed to the Zsh project when stable enough.*
-
-
-Status
-------
-See [issues](zsh-completions/issues) for details on each completion definition.
-
-
-Usage
------
-
-#### Using packages
-
-* Arch Linux: [AUR/zsh-completions](https://aur.archlinux.org/packages.php?ID=54111) / [AUR/zsh-completions-git](https://aur.archlinux.org/packages.php?ID=51001)
-* Gentoo: [scrill overlay](http://gpo.zugaina.org/app-shells/zsh-completions)
-
-
-#### Manual installation
-
-* Clone the repository:
-
-        git clone git://github.com/zsh-users/zsh-completions.git
-
-* Include the directory in your `$fpath`, for example by adding in `~/.zshrc`:
-
-        fpath=(path/to/zsh-completions $fpath)
-
-* You may have to force rebuild `zcompdump`:
-
-        rm -f ~/.zcompdump; compinit
-
-Contributing
-------------
-
-Contributions are welcome, just make sure you follow the guidelines:
-
- * Please add a header containing authors, license info, status and origin of the script (example [here](https://github.com/zsh-users/zsh-completions/blob/master/_ack)).
- * Please try to follow [Zsh completion style guide](https://github.com/zsh-users/zsh/blob/master/Etc/completion-style-guide).
- * Send a pull request or ask for committer access.
-
-
-License
--------
-See each file for license details.

File .oh-my-zsh/completions/_ack

-#compdef ack ack-grep
-# ------------------------------------------------------------------------------
-# Copyright (c) 2011 Github zsh-users - http://github.com/zsh-users
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are met:
-#     * Redistributions of source code must retain the above copyright
-#       notice, this list of conditions and the following disclaimer.
-#     * Redistributions in binary form must reproduce the above copyright
-#       notice, this list of conditions and the following disclaimer in the
-#       documentation and/or other materials provided with the distribution.
-#     * Neither the name of the zsh-users nor the
-#       names of its contributors may be used to endorse or promote products
-#       derived from this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-# DISCLAIMED. IN NO EVENT SHALL ZSH-USERS BE LIABLE FOR ANY
-# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-# ------------------------------------------------------------------------------
-# Description
-# -----------
-#
-#  Completion script for ack 1.94 (http://betterthangrep.com).
-#
-# ------------------------------------------------------------------------------
-# Authors
-# -------
-#
-#  * Julien Nicoulaud <julien.nicoulaud@gmail.com>
-#
-# ------------------------------------------------------------------------------
-# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*-
-# vim: ft=zsh sw=2 ts=2 et
-# ------------------------------------------------------------------------------
-
-
-_ack() {
-  local curcontext="$curcontext" state line cmds update_policy ret=1
-
-  zstyle -s ":completion:${curcontext}:" cache-policy update_policy
-  [[ -z "$update_policy" ]] && zstyle ":completion:${curcontext}:" cache-policy _ack_types_caching_policy
-
-  unset _ack_raw_types
-  if ( [[ ${+_ack_raw_types} -eq 0 ]] || _cache_invalid "ack-grep" ) && ! _retrieve_cache "ack-grep"; then
-    _ack_raw_types=(${(S)${(f)${${"$(_call_program types $words[1] --help=types)"}#*--\[no\]}}#*no\]})
-    [[ $#_ack_raw_types -gt 0 ]] && _store_cache "ack-grep" _ack_raw_types
-  fi
-
-  _arguments -C \
-    '(- 1 *)--version[display version and copyright information]' \
-    '(- 1 *)--help[print a short help statement]' \
-    '(- 1 *)--man[print the manual page]' \
-    '(-a --all -u --unrestricted)'{-a,--all}'[operate on all files, regardless of type (but still skip directories like blib, CVS, etc.)]' \
-    '(-A --after-context -C --context)'{-A,--after-context}'[print N lines of trailing context after matching lines]:number' \
-    '(-B --before-context -C --context)'{-B,--before-context}'[print N lines of leading context before matching lines]:number' \
-    '(-C --context -A --after-context -B --before-context)'{-C,--context}'[print N lines (default 2) of context around matching lines]:number' \
-    '(-c --count)'{-c,--count}'[suppress normal output; instead print a count of matching lines for each input file]' \
-    '(--nocolor)--color[highlight the matching text]' \
-    '(--color --color-filename --color-match --color-lineno)--nocolor[supress the color]' \
-    '(--nocolor --color)--color-filename[sets the color to be used for filenames]:color:->colors' \
-    '(--nocolor --color)--color-match[sets the color to be used for matches]:color:->colors' \
-    '(--nocolor --color)--color-lineno[sets the color to be used for line numbers]:color:->colors' \
-    '--column[show the column number of the first match]' \
-    '(--noenv)--env[enable environment processing]' \
-    '(--env)--noenv[disable all environment processing, no .ackrc is read and all environment variables are ignored]' \
-    '--flush[flush output immediately]' \
-    '-f[only print the files that would be searched, without actually doing any searching]' \
-    '(--nofollow)--follow[follow symlinks]' \
-    '(--follow)--nofollow[don'\''t follow symlinks]' \
-    '-G[only paths matching the given regex are included in the search]:regex' \
-    '-g[print files where the relative path + filename matches the given regex]:regex' \
-    '(--nogroup)--group[group matches by file name]' \
-    '(--group)--nogroup[do not group matches by file name]' \
-    '(-H --with-filename -h --no-filename)'{-H,--with-filename}'[print the filename for each match]' \
-    '(-h --no-filename -H --with-filename)'{-h,--no-filename}'[suppress the prefixing of filenames on output when multiple files are searched]' \
-    '(-i --ignore-case)'{-i,--ignore-case}'[ignore case in the search strings]' \
-    '*--ignore-dir[ignore directory]:directory:_files -/' \
-    '*--noignore-dir[don'\''t ignore directory]:directory:_files -/' \
-    '--line[only print given line of each file]:number' \
-    '(-l --files-with-matches -L --files-without-matches)'{-l,--files-with-matches}'[only print the filenames of matching files, instead of the matching text]' \
-    '(-L --files-without-matches -l --files-with-matches)'{-L,--files-without-matches}'[only print the filenames of files that do NOT match]' \
-    '--match[specify the regular expression explicitly]:regex' \
-    '(-m --max-count)'{-m,--max-count}'[stop reading a file after N matches]:number' \
-    '(-r -R --recurse -n --no-recurse)'{-r,-R,--recurse}'[recurse into sub-directories]' \
-    '(-n --no-recurse -r -R --recurse)'{-n,--no-recurse}'[no descending into subdirectories]' \
-    '-o[show only the part of each line matching PATTERN (turns off text highlighting)]:pattern' \
-    '--output[output the evaluation of expr for each line (turns off text highlighting)]:expression' \
-    '--pager[direct ack'\''s output through program]:pager program:_command_names' \
-    '--passthru[prints all lines, whether or not they match the expression]' \
-    '--print0[the filenames are output separated with a null byte instead of the usual newline]' \
-    '(-Q --literal)'{-Q,--literal}'[quote all metacharacters in the pattern, it is treated as a literal]' \
-    '(--no-smart-case)--smart-case[ignore case in the search strings if pattern contains no uppercase characters]' \
-    '(--smart-case)--no-smart-case[disable --smart-case option]' \
-    '--sort-files[sorts the found files lexically]' \
-    '--show-types[outputs the filetypes that ack associates with each file]' \
-    '--thpppt[display the all-important Bill The Cat logo]' \
-    '*--type[specify the types of files to include or exclude from a search]:type:->types' \
-    '*--type-add[files with the given extensions are recognized as being of the given type]:type-def:->type-defs' \
-    '*--type-set[files with the given extensions are recognized as being of the given type]:type-def:->type-defs' \
-    '(-u --unrestricted -a --all)'{-u,--unrestricted}'[all files and directories (including blib/, core.*, ...) are searched, nothing is skipped]' \
-    '(-v --invert-match)'{-v,--invert-match}'[invert match: select non-matching lines]' \
-    '(-w --word-regexp)'{-w,--word-regexp}'[force the given pattern to match only whole words]' \
-    '-1[stops after reporting first match of any kind]' \
-    {'--','--no'}${_ack_raw_types/ ##/\[}']' \
-    '1: :->patterns' \
-    '*: :_files' \
-  && ret=0
-
-  case $state in
-    patterns)
-      _message -e patterns 'pattern' && ret=0
-    ;;
-    colors)
-      local colors; colors=(
-        'black'      'on_black'
-        'red'        'on_red'
-        'green'      'on_green'
-        'yellow'     'on_yellow'
-        'blue'       'on_blue'
-        'magenta'    'on_magenta'
-        'cyan'       'on_cyan'
-        'white'      'on_white'
-        'clear'
-        'reset'
-        'dark'
-        'bold'
-        'underline'
-        'underscore'
-        'blink'
-        'reverse'
-        'concealed'
-      )
-      _describe -t 'colors' 'color' colors && ret=0
-    ;;
-    type-defs)
-      if compset -P '*='; then
-        local extensions; extensions=(*.*(:e))
-        _values -s ',' 'file extension' '.'$extensions && ret=0
-      else
-        _message -e type-name 'type name' && ret=0
-      fi
-    ;;
-    types)
-      local types; types=({'','no'}${_ack_raw_types/ ##/:})
-      _describe -t 'types' 'type' types
-    ;;
-  esac
-
-  return ret
-}
-
-_ack_types_caching_policy() {
-
-  # Rebuild if ackrc more recent than cache.
-  [[ -f $HOME/.ackrc && $$HOME/.ackrc -nt "$1" ]] && return 0
-
-  # Rebuild if cache is older than one week.  
-  local -a oldp
-  oldp=( "$1"(Nmw+1) )
-  (( $#oldp )) && return 0
-
-  return 1
-}
-
-_ack "$@"

File .oh-my-zsh/completions/_adb

-#compdef adb
-# ------------------------------------------------------------------------------
-# Copyright (c) 2011 Github zsh-users - http://github.com/zsh-users
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are met:
-#     * Redistributions of source code must retain the above copyright
-#       notice, this list of conditions and the following disclaimer.
-#     * Redistributions in binary form must reproduce the above copyright
-#       notice, this list of conditions and the following disclaimer in the
-#       documentation and/or other materials provided with the distribution.
-#     * Neither the name of the zsh-users nor the
-#       names of its contributors may be used to endorse or promote products
-#       derived from this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-# DISCLAIMED. IN NO EVENT SHALL ZSH-USERS BE LIABLE FOR ANY
-# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-# ------------------------------------------------------------------------------
-# Description
-# -----------
-#
-#  Completion script for adb (Android Debug Bridge) 1.0.26
-#  (http://developer.android.com/guide/developing/tools/adb.html).
-#
-# ------------------------------------------------------------------------------
-# Authors
-# -------
-#
-#  * Julien Nicoulaud <julien.nicoulaud@gmail.com>
-#
-# ------------------------------------------------------------------------------
-# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*-
-# vim: ft=zsh sw=2 ts=2 et
-# ------------------------------------------------------------------------------
-
-
-typeset -A opt_args
-local context state line curcontext="$curcontext" adb_args
-
-_adb() {
-  local ret=1
-
-  _arguments -C \
-    '(-e -s)-d[directs command to the only connected USB device, returns an error if more than one USB device is present]' \
-    '(-d -s)-e[directs command to the only running emulator, returns an error if more than one emulator is running]' \
-    '(-d -e)-s[directs command to the USB device or emulator with the given serial number]: :_adb_serial_numbers' \
-    '-p[simple product name or a relative/absolute path to a product out directory]: :_adb_products' \
-    '1: :_adb_cmds' \
-    '*::arg:->args' \
-  && ret=0
-
-  adb_args="${(fkv)opt_args[(I)-d|-e|-s|-p]}"
-
-  case "$state" in
-    (args)
-      curcontext="${curcontext%:*:*}:adb-cmd-$words[1]:"
-      case $words[1] in
-        (help|version|devices|jdwp|bugreport|wait-for-device|start-server|kill-server|get-state|get-serialno|status-window|remount|reboot-bootloader|root|usb)
-          _message 'no more arguments' && ret=0
-        ;;
-        (connect|disconnect)
-          _arguments \
-            '1: :_adb_host_colon_ports' \
-          && ret=0
-        ;;
-        (push)
-          _arguments \
-            '1:local directory:_files -/' \
-            '2: :_adb_remote_files -/' \
-          && ret=0
-        ;;
-        (pull)
-          _arguments \
-            '1: :_adb_remote_files -/' \
-            '2:local directory:_files -/' \
-          && ret=0
-        ;;
-        (sync)
-          _arguments \
-            '-l[list but do not copy]' \
-            '1: :_adb_sync_directories' \
-          && ret=0
-        ;;
-        (shell|emu)
-          _arguments -C \
-            '1: :_adb_remote_commands' \
-            '*::remote-command-arg:->remote-command-args' \
-          && ret=0
-          case "$state" in
-            (remote-command-args)
-              curcontext="${curcontext%:*:*}:adb-remote-cmd-$words[1]:"
-              if (( $+functions[_adb_remote_command_$words[1]_args] )); then
-                _adb_remote_command_$words[1] && ret=0
-                # TODO Write handlers for following commands:
-                #  * am (Activity Manager)
-                #  * pm (Package Manager)
-                # TODO Reuse existing compdefs for standard commands (ls, id, ifconfig, kill, etc) ?
-                #      How do we tell them to use _remote_ files/pids/users/etc ?
-              else
-                _adb_remote_command_default && ret=0
-              fi
-            ;;
-          esac
-        ;;
-        (logcat)
-           local -a rotation_opts
-           [[ -n ${(M)words:#"-f"} ]] && rotation_opts+=('-r[rotates the log file every kbytes of output. The default value is 16]:value (in kb)')
-           [[ -n ${(M)words:#"-r"} ]] && rotation_opts+=('-n[sets the maximum number of rotated logs. The default value is 4]:count')
-          _arguments \
-            '-b[loads an alternate log buffer for viewing, such as event or radio. The main buffer is used by default]: :_adb_logcat_buffers' \
-            '-c[clears (flushes) the entire log and exits]' \
-            '-d[dumps the log to the screen and exits]' \
-            '-f[writes log message output to file. The default is stdout]: :_files' \
-            '-g[prints the size of the specified log buffer and exits]' \
-            '-s[sets the default filter spec to silent]' \
-            '-v[sets the output format for log messages]: :_adb_logcat_output_formats' \
-            "${rotation_opts[@]}" \
-            '*: :_adb_logcat_filter_specs' \
-          && ret=0
-        ;;
-        (forward)
-          _arguments \
-            '1: :_adb_local_forward_specs' \
-            '2: :_adb_remote_forward_specs' \
-          && ret=0
-        ;;
-        (install)
-          _arguments \
-            '-l[forward-lock the app]' \
-            '-r[reinstall the app, keeping its data]' \
-            '-s[install on SD card instead of internal storage]' \
-            '1: :_files' \
-          && ret=0
-        ;;
-        (uninstall)
-          _arguments \
-            '-k[keep the data and cache directories]' \
-            '1: :_adb_packages' \
-          && ret=0
-        ;;
-        (reboot)
-          _arguments \
-            '1:program:((bootloader:reboot\ into\ the\ bootloader\ program recovery:reboot\ into\ the\ recovery\ program))' \
-          && ret=0
-        ;;
-        (tcpip)
-          _arguments \
-            '1::port' \
-          && ret=0
-        ;;
-        (ppp)
-          # TODO Complete tty (See http://developer.android.com/guide/developing/tools/adb.html#commandsummary)
-          # TODO Complete PPP parameters (See http://ppp.samba.org/pppd.html)
-          _arguments \
-            '1::tty' \
-            '*::parameters' \
-          && ret=0
-        ;;
-      esac
-    ;;
-  esac
-
-  return ret
-}
-
-(( $+functions[_adb_cmds] )) ||
-_adb_cmds() {
-  _alternative \
-    'general-commands:general command:_adb_general_cmds' \
-    'device-commands:device command:_adb_device_cmds' \
-    'scripting-commands:scripting command:_adb_scripting_cmds'
-}
-
-(( $+functions[_adb_general_cmds] )) ||
-_adb_general_cmds() {
-  local commands; commands=(
-    'help:show help message'
-    'version:show version number'
-    'devices:list all connected devices'
-    'connect:connect to a device via TCP/IP'
-    'disconnect:disconnect from a TCP/IP device'
-  )
-  _describe -t general-commands 'general command' commands "$@"
-}
-
-(( $+functions[_adb_device_cmds] )) ||
-_adb_device_cmds() {
-  local commands; commands=(
-    'push:copy file/dir to device'
-    'pull:copy file/dir from device'
-    'sync:copy host->device only if changed'
-    'shell:run remote shell interactively or command'
-    'emu:run emulator console command'
-    'logcat:view device log'
-    'forward:forward socket connections'
-    'jdwp:list PIDs of processes hosting a JDWP transport'
-    'install:push this padbage file to the device and install it'
-    'uninstall:remove this app padbage from the device'
-    'bugreport:return all information from the device'
-  )
-  _describe -t device-commands 'device command' commands "$@"
-}
-
-(( $+functions[_adb_scripting_cmds] )) ||
-_adb_scripting_cmds() {
-  local commands; commands=(
-    'wait-for-device:block until device is online'
-    'start-server:ensure that there is a server running'
-    'kill-server:kill the server if it is running'
-    'get-state:prints\: offline | bootloader | device'
-    'get-serialno:prints\: <serial-number>'
-    'status-window:continuously print device status for a specified device'
-    'remount:remounts the /system partition on the device read-write'
-    'reboot:reboots the device, optionally into the bootloader or recovery program'
-    'reboot-bootloader:reboots the device into the bootloader'
-    'root:restarts the adbd daemon with root permissions'
-    'usb:restarts the adbd daemon listening on USB'
-    'tcpip:restarts the adbd daemon listening on TCP on the specified port'
-    'ppp:run PPP over USB'
-  )
-  _describe -t scripting-commands 'scripting command' commands "$@"
-}
-
-(( $+functions[_adb_products] )) ||
-_adb_products() {
-  _alternative \
-    'product-names:product name:_adb_product_names' \
-    'directories:directory:_files -/'
-}
-
-(( $+functions[_adb_product_names] )) ||
-_adb_product_names() {
-  local ret=1
-  if [[ -n "$ANDROID_PRODUCT_OUT" ]]; then
-    local product_names; product_names=("$ANDROID_PRODUCT_OUT:default value set in ANDROID_PRODUCT_OUT environment variable")
-    _describe -t product-names 'product name' product_names && ret=0
-  else
-    _message -e product-names 'product name' && ret=0
-  fi
-  return ret
-}
-
-(( $+functions[_adb_serial_numbers] )) ||
-_adb_serial_numbers() {
-  local serial_numbers; serial_numbers=(${${(M)${(f)"$(_call_program devices $service devices)"}:#*device}%%[[:space:]]*}":connected device")
-  [[ -n "$ANDROID_SERIAL" ]] && serial_numbers+=("$ANDROID_SERIAL:default value set in ANDROID_SERIAL environment variable")
-  _describe -t serial-numbers 'serial number' serial_numbers "$@" && ret=0
-}
-
-(( $+functions[_adb_packages] )) ||
-_adb_packages() {
-  local packages; packages=(${${(ps:\r\n:)"$(_call_program packages $service $adb_args shell 'ls /data/data 2>/dev/null')"}:#\**\*})
-  _multi_parts . packages
-}
-
-(( $+functions[_adb_host_colon_ports] )) ||
-_adb_host_colon_ports() {
-  local ret=1
-  if compset -P '*:'; then
-    _message -e ports 'port' && ret=0
-  else
-    _wanted hosts expl 'host' _hosts -qS: && ret=0
-  fi
-  return ret
-}
-
-(( $+functions[_adb_remote_files] )) ||
-_adb_remote_files() {
-  local dirsonly command="ls -d ${(S)words[CURRENT]/\/*//}*/ 2>/dev/null"
-  zparseopts -D -E '/=dirsonly'
-  (( ! $#dirsonly )) && command+="; ls -d ${words[CURRENT]}* 2>/dev/null"
-  local files; files=(${${(ps:\r\n:)"$(_call_program files $service $adb_args shell "'$command'" 2>/dev/null)"}:#\**\*})
-  _multi_parts "$@" / files
-}
-
-(( $+functions[_adb_remote_commands] )) ||
-_adb_remote_commands() {
-  local commands; commands=(${${(ps:\r\n:)"$(_call_program commands $service $adb_args shell "'IFS=:;for path_dir in \$PATH; do ls \$path_dir 2>/dev/null; done'" 2>/dev/null)"}:#\**\*})
-  _describe -t remote-commands 'remote command' commands && ret=0
-}
-
-(( $+functions[_adb_local_forward_specs] )) ||
-_adb_local_forward_specs() {
-  local ret=1
-  if compset -P '*:'; then
-    case ${IPREFIX%:} in
-      (tcp)
-        _message -e ports 'port' && ret=0
-      ;;
-      (localabstract|localreserved)
-        _wanted sockets expl 'socket' _socket && ret=0
-      ;;
-      (localfilesystem)
-        _wanted socket-files expl 'socket file' _files && ret=0
-      ;;
-      (dev)
-        _wanted devices expl 'device' _files -g "/dev/**" && ret=0
-      ;;
-    esac
-  else
-    local modes; modes=(
-      'tcp:TCP socket'
-      'localabstract:local abstract socket'
-      'localreserved:local reserved socket'
-      'localfilesystem:local filesystem socket'
-      'dev:device'
-    )
-    _describe -t forward-modes 'forward mode' modes -qS: && ret=0
-  fi
-  return ret
-}
-
-(( $+functions[_adb_remote_forward_specs] )) ||
-_adb_remote_forward_specs() {
-  local ret=1
-  if compset -P '*:'; then
-    case ${IPREFIX%:} in
-      (tcp)
-        _message -e ports 'remote port' && ret=0
-      ;;
-      (localabstract|localreserved|localfilesystem)
-        _message -e sockets 'remote socket' && ret=0
-      ;;
-      (dev)
-        _message -e devices 'remote device' && ret=0
-      ;;
-      (jdwp)
-        local pids; pids=(${${(f)"$(_call_program pids $service $adb_args jdwp 2>/dev/null)"}:#\**\*})
-        _describe -t remote-pids 'remote pid' pids && ret=0
-      ;;
-    esac
-  else
-    local modes; modes=(
-      'tcp:TCP socket'
-      'localabstract:local abstract socket'
-      'localreserved:local reserved socket'
-      'localfilesystem:local filesystem socket'
-      'dev:device'
-      'jdwp:Java Debug Wire Protocol'
-    )
-    _describe -t forward-modes 'forward mode' modes -qS: && ret=0
-  fi
-  return ret
-}
-
-(( $+functions[_adb_sync_directories] )) ||
-_adb_sync_directories() {
-  _alternative \
-    'partitions:partition:((system:the\ /system\ partition data:the\ /data\ partition))' \
-    'directories:directory:_adb_remote_files -/'
-}
-
-(( $+functions[_adb_logcat_filter_specs] )) ||
-_adb_logcat_filter_specs() {
-  local ret=1
-  if compset -P '*:'; then
-    local priorities; priorities=(
-      'V:verbose (lowest priority)'
-      'D:debug'
-      'I:info'
-      'W:warning'
-      'E:error'
-      'F:fatal'
-      'S:silent (highest priority, on which nothing is ever printed)'
-    )
-    _describe -t log-priorities 'log priority' priorities "$@" && ret=0
-  else
-    local tags; tags=(${(u)${${${(f)"$(_call_program tags $service $adb_args logcat -d 2>/dev/null)"}%%[[:space:]]#\(*}##*\/}:#\**\*})
-    _describe -t log-tags 'log tag' tags -qS: "$@" && ret=0
-  fi
-  return ret
-}
-
-(( $+functions[_adb_logcat_output_formats] )) ||
-_adb_logcat_output_formats() {
-  local formats; formats=(
-    'brief:display priority/tag and PID of originating process (the default format)'
-    'process:display PID only'
-    'tag:display the priority/tag only'
-    'thread:display process:thread and priority/tag only'
-    'raw:display the raw log message, with no other metadata fields'
-    'time:display the date, invocation time, priority/tag, and PID of the originating process'
-    'long:display all metadata fields and separate messages with a blank lines'
-  )
-  _describe -t log-formats 'log format' formats "$@" && ret=0
-}
-
-(( $+functions[_adb_logcat_buffers] )) ||
-_adb_logcat_buffers() {
-  local buffers; buffers=(
-    'main:view the main log buffer (default)'
-    'radio:view the buffer that contains radio/telephony related messages'
-    'events:view the buffer containing events-related messages'
-  )
-  _describe -t log-buffers 'log buffer' buffers "$@" && ret=0
-}
-
-(( $+functions[_adb_remote_command_default] )) ||
-_adb_remote_command_default() {
-  _wanted remote-files expl 'remote file' _adb_remote_files
-}
-
-_adb "$@"

File .oh-my-zsh/completions/_android

-#compdef android
-# ------------------------------------------------------------------------------
-# Copyright (c) 2011 Github zsh-users - http://github.com/zsh-users
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are met:
-#     * Redistributions of source code must retain the above copyright
-#       notice, this list of conditions and the following disclaimer.
-#     * Redistributions in binary form must reproduce the above copyright
-#       notice, this list of conditions and the following disclaimer in the
-#       documentation and/or other materials provided with the distribution.
-#     * Neither the name of the zsh-users nor the
-#       names of its contributors may be used to endorse or promote products
-#       derived from this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-# DISCLAIMED. IN NO EVENT SHALL ZSH-USERS BE LIABLE FOR ANY
-# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-# ------------------------------------------------------------------------------
-# Description
-# -----------
-#
-#  Completion script for the android command (Revision 12)
-#  (http://developer.android.com/guide/developing/tools/android.html).
-#
-# ------------------------------------------------------------------------------
-# Authors
-# -------
-#
-#  * Julien Nicoulaud <julien.nicoulaud@gmail.com>
-#
-# ------------------------------------------------------------------------------
-# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*-
-# vim: ft=zsh sw=2 ts=2 et
-# ------------------------------------------------------------------------------
-
-
-typeset -A opt_args
-local context state line curcontext="$curcontext"
-
-_android() {
-  local ret=1
-  
-  _arguments -C -A "-*" \
-    '(- : *)'{-h,--help}'[get help on a specific command]:command:_android_cmds' \
-    '(-s --silent -v --verbose)'{-v,--verbose}'[verbose mode: errors, warnings and informational messages are printed]' \
-    '(-v --verbose -s --silent)'{-s,--silent}'[silent mode: only errors are printed out]' \
-    '1: :_android_cmds' \
-    '*::arg:->args' \
-  && ret=0
-
-  case "$state" in
-    (args)
-      curcontext="${curcontext%:*:*}:android-cmd-$words[1]:"
-      case $words[1] in
-        (list)
-          _arguments -C \
-            '1: :_android_list_entities' \
-            '*::list-arg:->list-args' \
-          && ret=0
-          case "$state" in
-            (list-args)
-              case $words[1] in
-                (avd|target)
-                  _arguments \
-                    '(-0 --null)'{-0,--null}'[terminate lines with \0 instead of \n (e.g. for xargs -0)]' \
-                    '(-c --compact)'{-c,--compact}'[compact output (suitable for scripts)]' \
-                  && ret=0
-                ;;
-                (sdk)
-                  _arguments \
-                    '(-o --obsolete)'{-o,--obsolete}'[install obsolete packages]' \
-                    '--proxy-host[HTTP/HTTPS proxy host (overrides settings if defined)]:proxy host:_hosts' \
-                    '--proxy-port[HTTP/HTTPS proxy port (overrides settings if defined)]:proxy port number' \
-                    '(-s --no-https)'{-s,--no-https}'[use HTTP instead of HTTPS (the default) for downloads]' \
-                    '(-u --no-ui)'{-u,--no-ui}'[display list result on console (no GUI)]' \
-                  && ret=0
-                ;;
-              esac
-            ;;
-          esac
-        ;;
-        (create)
-          _arguments -C \
-            '1: :_android_create_entities' \
-            '*::create-arg:->create-args' \
-          && ret=0
-          case "$state" in
-            (create-args)
-              case $words[1] in
-                (avd)
-                  _arguments \
-                    '(-c --sdcard)'{-c,--sdcard}'[path to a shared SD card image, or size of a new sdcard for the new AVD]:SD card image or size:_files -g "*.img"' \
-                    '(-n --name)'{-n,--name}'[name of the new AVD]:name' \
-                    '(-a --snapshot)'{-a,--snapshot}'[place a snapshots file in the AVD, to enable persistence]' \
-                    '(-p --path)'{-p,--path}'[directory where the new AVD will be created]: :_files -/' \
-                    '(-f --force)'{-f,--force}'[forces creation (overwrites an existing AVD)]' \
-                    '(-s --skin)'{-s,--skin}'[skin for the new AVD]:skin' \
-                    '(-t --target)'{-t,--target}'[target ID of the new AVD]: :_android_targets' \
-                  && ret=0
-                ;;
-                (project)
-                  _arguments \
-                    '(-n --name)'{-n,--name}'[project name]:project name' \
-                    '(-p --path)'{-p,--path}'[the new project'\''s directory]: :_files -/' \
-                    '(-k --package)'{-k,--package}'[Android package name for the application]:package name' \
-                    '(-a --activity)'{-a,--activity}'[name of the default Activity that is created]:activity name' \
-                    '(-t --target)'{-t,--target}'[target ID of the new project]: :_android_targets' \
-                  && ret=0
-                ;;
-                (test-project)
-                  _arguments \
-                    '(-n --name)'{-n,--name}'[project name]:project name' \
-                    '(-p --path)'{-p,--path}'[the new project'\''s directory]: :_files -/' \
-                    '(-m --main)'{-m,--main}'[path to directory of the app under test, relative to the test project directory]:path' \
-                  && ret=0
-                ;;
-                (lib-project)
-                  _arguments \
-                    '(-n --name)'{-n,--name}'[project name]:project name' \
-                    '(-p --path)'{-p,--path}'[the new project'\''s directory]: :_files -/' \
-                    '(-k --package)'{-k,--package}'[Android package name for the application]:package name' \
-                    '(-t --target)'{-t,--target}'[target ID of the new project]: :_android_targets' \
-                  && ret=0
-                ;;
-              esac
-            ;;
-          esac
-        ;;
-        (update)
-          _arguments -C \
-            '1: :_android_update_entities' \
-            '*::update-arg:->update-args' \
-          && ret=0
-          case "$state" in
-            (update-args)
-              case $words[1] in
-                (avd)
-                  _arguments \
-                    '(-n --name)'{-n,--name}'[name of the AVD to update]: :_android_avd_names' \
-                  && ret=0
-                ;;
-                (project)
-                  _arguments \
-                    '(-l --library)'{-l,--library}'[directory of an Android library to add, relative to this project'\''s directory]: :_files -/' \
-                    '(-p --path)'{-p,--path}'[the project'\''s directory]: :_files -/' \
-                    '(-n --name)'{-n,--name}'[project name]:name' \
-                    '(-t --target)'{-t,--target}'[target ID to set for the project]: :_android_targets' \
-                    '(-s --subprojects)'{-s,--subprojects}'[also updates any projects in sub-folders, such as test projects]' \
-                  && ret=0
-                ;;
-                (test-project)
-                  _arguments \
-                    '(-p --path)'{-p,--path}'[the project'\''s directory]: :_files -/' \
-                    '(-m --main)'{-m,--main}'[directory of the app under test, relative to the test project directory]:path' \
-                  && ret=0
-                ;;
-                (lib-project)
-                  _arguments \
-                    '(-p --path)'{-p,--path}'[the project'\''s directory]: :_files -/' \
-                    '(-t --target)'{-t,--target}'[target ID to set for the project]: :_android_targets' \
-                  && ret=0
-                ;;
-                (sdk)
-                  _arguments \
-                    '(-o --obsolete)'{-o,--obsolete}'[install obsolete packages]' \
-                    '--proxy-host[HTTP/HTTPS proxy host (overrides settings if defined)]:proxy host:_hosts' \
-                    '--proxy-port[HTTP/HTTPS proxy port (overrides settings if defined)]:proxy port number' \
-                    '(-s --no-https)'{-s,--no-https}'[use HTTP instead of HTTPS (the default) for downloads]' \
-                    '(-u --no-ui)'{-u,--no-ui}'[update from command-line (no GUI)]' \
-                    '(-f --force)'{-f,--force}'[force replacement of a package or its parts, even if something has been modified]' \
-                    '(-t --filter)'{-t,--filter}'[a filter that limits the update to the specified types of packages]: :_android_sdk_update_filters -s ,' \
-                    '(-n --dry-mode)'{-n,--dry-mode}'[simulate the update but does not download or install anything]' \
-                  && ret=0
-                ;;
-              esac
-            ;;
-          esac
-        ;;
-        (move)
-          _arguments -C \
-            '1: :_android_move_entities' \
-            '*::move-arg:->move-args' \
-          && ret=0
-          case "$state" in
-            (move-args)
-              case $words[1] in
-                (avd)
-                  _arguments \
-                    '(-n --name)'{-n,--name}'[name of the AVD to move or rename]: :_android_avd_names' \
-                    '(-p --path)'{-p,--path}'[path to the AVD'\''s new directory]: :_files -/' \
-                    '(-r --rename)'{-r,--rename}'[new name of the AVD]:name' \
-                  && ret=0
-                ;;
-              esac
-            ;;
-          esac
-        ;;
-        (delete)
-          _arguments -C \
-            '1: :_android_delete_entities' \
-            '*::delete-arg:->delete-args' \
-          && ret=0
-          case "$state" in
-            (delete-args)
-              case $words[1] in
-                (avd)
-                  _arguments \
-                    '(-n --name)'{-n,--name}'[name of the AVD to delete]: :_android_avd_names' \
-                  && ret=0
-                ;;
-              esac
-            ;;
-          esac
-        ;;
-        (display)
-          _arguments \
-            '1: :_android_display_entities' \
-          && ret=0
-        ;;
-      esac
-    ;;
-  esac
-
-  return ret
-}
-
-(( $+functions[_android_cmds] )) ||
-_android_cmds() {
-  local commands; commands=(
-    'list:list existing targets or virtual devices'
-    'create:create new virtual devices or projects'
-    'update:update a virtual device, project, SDK or adb'
-    'move:move a virtual device'
-    'delete:delete a virtual device'
-    'display:display manager windows'
-  )
-  _describe -t commands 'command' commands "$@"
-}
-
-(( $+functions[_android_list_entities] )) ||
-_android_list_entities() {
-  local entities; entities=(
-    'avd:list existing Android Virtual Devices'
-    'target:list existing targets'
-    'sdk:list remote SDK repository'
-  )
-  _describe -t entities 'entity' entities "$@"
-}
-
-(( $+functions[_android_create_entities] )) ||
-_android_create_entities() {
-  local entities; entities=(
-    'avd:create a new Android Virtual Device'
-    'project:create a new Android project'
-    'test-project:create a new Android project for a test package'
-    'lib-project:create a new Android library project'
-  )
-  _describe -t entities 'entity' entities "$@"
-}
-
-(( $+functions[_android_update_entities] )) ||
-_android_update_entities() {
-  local entities; entities=(
-    'avd:update an Android Virtual Device to match the folders of a new SDK'
-    'project:update an Android project'
-    'test-project:update the Android project for a test package'
-    'lib-project:update an Android library project'
-    'adb:update adb to support the USB devices declared in the SDK add-ons'
-    'sdk:update the SDK by suggesting new platforms to install if available'
-  )
-  _describe -t entities 'entity' entities "$@"
-}
-
-(( $+functions[_android_move_entities] )) ||
-_android_move_entities() {
-  local entities; entities=(
-    'avd:move or rename an Android Virtual Device'
-  )
-  _describe -t entities 'entity' commands "$@"
-}
-
-(( $+functions[_android_delete_entities] )) ||
-_android_delete_entities() {
-  local entities; entities=(
-    'avd:delete an Android Virtual Device'
-  )
-  _describe -t entities 'entity' entities "$@"
-}
-
-(( $+functions[_android_display_entities] )) ||
-_android_display_entities() {
-  local entities; entities=(
-    'sdk:display the SDK Manager window'
-    'avd:display the AVD Manager window'
-  )
-  _describe -t entities 'entity' entities "$@"
-}
-
-(( $+functions[_android_targets] )) ||
-_android_targets() {
-  local targets; targets=(${(f)"$(_call_program targets $service list target --compact)"//:/\\:})
-  _describe -t targets 'target' targets "$@"
-}
-
-(( $+functions[_android_avd_names] )) ||
-_android_avd_names() {
-  local avd_names; avd_names=(${(f)"$(_call_program targets $service list avd --compact)"//:/\\:})
-  _describe -t avd-names 'AVD name' avd_names "$@"
-}
-
-(( $+functions[_android_sdk_update_filters] )) ||
-_android_sdk_update_filters() {
-  local filters; filters=(platform tool platform-tool doc sample extra)
-  _values $@ 'filter' "${filters[@]}"
-}
-
-_android "$@"

File .oh-my-zsh/completions/_attach

-#compdef attach
-# ------------------------------------------------------------------------------
-# Description
-# -----------
-#
-#  Completion script for attach (http://github.com/sorin-ionescu/attach).
-#
-# ------------------------------------------------------------------------------
-# Authors
-# -------
-#
-#  * Sorin Ionescu <sorin.ionescu@gmail.com>
-#
-# ------------------------------------------------------------------------------
-
-local state mode_values existing_sessions ret=1
-
-mode_values=(
-  "none:Disable redrawing completely"
-  "ctrl_l:Send a ^L character if the terminal is in char-at-a-time mode to the program"
-  "winch:Send a WINCH signal to the program"
-)
-
-existing_sessions=($(_call_program session attach))
-
-_arguments -C -s -S \
-  '(--list -l)'{--list,-l}'[List sessions]' \
-  '(--sockets -L)'{--sockets,-L}'[List sockets]' \
-  '(--session -s)'{--session=,-s+}'[Set the session name]:session' \
-  '(--char -c)'{--char=,-c+}'[Set the detach character (default: ^\\)]:char' \
-  '(--redraw -r)'{--redraw=,-r+}'[Set the redraw method (none, ctrl_l, or winch)]:mode:->mode' \
-  '(--detached -d)'{--detached,-d}'[Start the session detched]' \
-  '(--no-detach -D)'{--no-detach,-D}'[Disable detaching]' \
-  '(--no-suspend -Z)'{--no-suspend,-Z}'[Disable suspending]' \
-  '(--version -v)'{--version,-v}'[Display version and copyright]' \
-  '(--help -h)'{--help,-h}'[Display this help]' \
-  '(-)::args:->session-or-command' && ret=0
-
-case "$state" in
-  (mode)
-    _describe -t mode 'redraw mode' mode_values && ret=0
-  ;;
-  (session-or-command)
-    _describe -t 'session' 'sessions' existing_sessions && ret=0
-    _path_commands && ret=0
-  ;;
-esac
-
-return $ret
-

File .oh-my-zsh/completions/_baselayout

-#compdef rc-update rc-status rc rc-service
-# ------------------------------------------------------------------------------
-# Copyright (c) 2011 Github zsh-users - http://github.com/zsh-users
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are met:
-#     * Redistributions of source code must retain the above copyright
-#       notice, this list of conditions and the following disclaimer.
-#     * Redistributions in binary form must reproduce the above copyright
-#       notice, this list of conditions and the following disclaimer in the
-#       documentation and/or other materials provided with the distribution.
-#     * Neither the name of the zsh-users nor the
-#       names of its contributors may be used to endorse or promote products
-#       derived from this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-# DISCLAIMED. IN NO EVENT SHALL ZSH-USERS BE LIABLE FOR ANY
-# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-# ------------------------------------------------------------------------------
-# Description
-# -----------
-#
-#  Completion script for Gentoo Baselayout v2 and OpenRC v0.8 (init system).
-#
-# ------------------------------------------------------------------------------
-# Authors
-# -------
-#
-#  * Vadim A. Misbakh-Soloviev <mva@mva.name>
-#  * Bapt <bapt@tuxfamily.org>
-#  * kaworu <kaworu@kaworu.ch>
-#  * David Durrleman <dualmoo@gmail.com>
-#  * oberyno <oberyno@gmail.com>
-#  * Mamoru Komachi <usata@usata.org>
-#
-# ------------------------------------------------------------------------------
-# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*-
-# vim: ft=zsh sw=2 ts=2 et
-# ------------------------------------------------------------------------------
-#<sys-apps/baselayout-1.12.11.1>
-#
-# Status:
-#     rc        (fully done)
-#     rc-update (fully done)
-#     rc-status (fully done)
-#     rc-service (to be improved)
-
-
-local gentoo_runlevels
-gentoo_runlevels=(/etc/runlevels/*(:t))
-
-
-# Stuff for rc
-_rc () {
-	if (( CURRENT == 2 )); then
-	    _values 'runlevels' $gentoo_runlevels
-	fi
-}
-
-_rc_list_service () {
-    local servicelist
-    servicelist=(${(f)"$(/sbin/rc-service -Cl 2>/dev/null)"})
-    _values 'services' $servicelist
-}
-# Stuff for rc-service
-_rc-service () {
-    servicelist=${(f)"$(/sbin/rc-service -Cl 2>/dev/null)"}
-    if (( CURRENT == 2 ));then
-        _arguments -s                                                                      \
-            '(-e --exists)'{-e,--exists}"[tests if the service exists or not]"             \
-            '(-l --list)'{-l,--list}'[list all available services]'                        \
-            '(-r --resolve)'{-r,--resolve}'[resolve the service name to an init script]'   \
-            '(-C --nocolor)'{-C,--nocolor}'[Disable color output]'                         \
-            '(-v --verbose)'{-v,--verbose}'[Run verbosely]'                                \
-            '(-q --quiet)'{-q,--quiet}'[Run quietly]'
-        _rc_list_service
-    else
-        case $words[2] in
-            -e|--exists|-r|--resolve)
-                (( CURRENT > 3 )) && return 0
-                _rc_list_service
-            ;;
-            -*)
-                return 0
-            ;;
-            *)
-                _values "action" stop start restart describe zap
-            ;;
-        esac
-    fi
-}
-
-# Stuff for rc-status
-_rc-status () {
-    _arguments -s                                                                   \
-	    '(-a --all)'{-a,--all}'[Show services at all run levels]'                   \
-	    '(-l --list)'{-l,--list}'[Show list of run levels]'                         \
-	    '(-nc --nocolor)'{-nc,--nocolor}'[Disable color output]'                    \
-	    '(-s --servicelist)'{-s,--servicelist}'[Show all services]'                 \
-	    '(-u --unused)'{-u,--unused}'[Show services not assigned to any run level]'
-
-	_values 'runlevels' $gentoo_runlevels
-}
-
-
-# Stuff for rc-update
-_rc-update () {
-    local used_init
-
-    # FIXME: ${=${(f)"$(rc-update show 2>/dev/null)"}% |*} yield the same result (for me).
-    #           we probably don't need any more the (M) matcher part.
-    used_init=(${=${(M)${(f)"$(/sbin/rc-update show 2>/dev/null)"}:#*|*[a-z]*}% |*})
-
-    if (( CURRENT == 2 )); then
-       _values 'rc-update actions'                      \
-           'add[Add script to a runlevel]'              \
-           'del[Delete script from a runlevel]'         \
-           'show[Show scripts lanched at a runlevel]'   \
-           '-a[Add script to a runlevel]'               \
-           '-d[Delete script from a runlevel]'          \
-           '-s[Show scripts lanched at a runlevel]'
-    elif (( CURRENT == 3 )); then
-	    case "$words[2]" in
-		    add|-a)
-		         _values 'scripts' /etc/init.d/*~*.sh(:t)
-		    ;;
-		    del|-d)
-		        _values 'scripts' $used_init
-		    ;;
-		    show|-s)
-		        _values 'runlevels' $gentoo_runlevels   \
-                    '-v[Show all init scripts]'         \
-                    '--verbose[Show all init scripts]'
-		    ;;
-	    esac
-    elif (( CURRENT == 4 )); then
-	    _values 'runlevels' $gentoo_runlevels
-    fi
-}
-
-
-case "$service" in
-	rc-update)
-		_rc-update "$@" && return 0
-	;;
-    rc-service)
-        _rc-service "$@" && return 0
-    ;;
-	rc-status)
-		_rc-status "$@" && return 0
-	;;
-	rc)
-		_rc "$@" && return 0
-	;;
-esac

File .oh-my-zsh/completions/_bpython

-#compdef bpython bpython2
-# ------------------------------------------------------------------------------
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are met:
-#     * Redistributions of source code must retain the above copyright
-#       notice, this list of conditions and the following disclaimer.
-#     * Redistributions in binary form must reproduce the above copyright
-#       notice, this list of conditions and the following disclaimer in the
-#       documentation and/or other materials provided with the distribution.
-#     * Neither the name of the zsh-users nor the
-#       names of its contributors may be used to endorse or promote products
-#       derived from this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-# DISCLAIMED. IN NO EVENT SHALL ZSH-USERS BE LIABLE FOR ANY
-# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-# ------------------------------------------------------------------------------
-# Description
-# -----------
-#
-#  Completion script for bpython (http://bpython-interpreter.org/).
-#
-# ------------------------------------------------------------------------------
-# Authors
-# -------
-#
-#  * Massimiliano Torromeo <massimiliano.torromeo@gmail.com>
-#
-# ------------------------------------------------------------------------------
-# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*-
-# vim: ft=zsh sw=2 ts=2 et
-# ------------------------------------------------------------------------------
-
-_arguments -A "-*" \
-	'(-h --help)'{-h,--help}'[Show help message]' \
-	'(-i --interactive)'{-i,--interactive}'[Drop to bpython shell after running file instead of exiting]' \
-	'(-q --quiet)'{-q,--quiet}"[Don't flush the output to stdout]" \
-	'(-V --version)'{-V,--version}'[Print version and exit]' \
-	'--config[Use CONFIG instead of default config file]:Config file:_files' \