[
  {
    "path": ".gitignore",
    "content": "locals.zsh\nlog/.zsh_history\nprojects.zsh\ncustom\ncustom/*.zsh\n*.un~\ncache\n*.swp\n\n.DS_Store\n"
  },
  {
    "path": "README.textile",
    "content": "A handful of functions, auto-complete helpers, and stuff that makes you shout...\n\nbq. \"OH MY ZSHELL!\"\n\nh2. Setup\n\n@oh-my-zsh@ should work with any recent release of \"zsh\":http://www.zsh.org/, the minimum recommended version is 4.3.9.\n\nh3. The automatic installer... (do you trust me?)\n\n@wget http://github.com/sjl/oh-my-zsh/raw/master/tools/install.sh -O - | sh@\n\nh3. The manual way\n\n\n1. Clone the repository\n\n  @git clone git://github.com/sjl/oh-my-zsh.git ~/.oh-my-zsh@\n\n2. Create a new zsh config by copying the zsh template we've provided.\n\n  *NOTE*: If you already have a ~/.zshrc file, you should back it up. @cp ~/.zshrc ~/.zshrc.orig@ in case you want to go back to your original settings.\n\n  @cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc@\n\n3. Set zsh as your default shell:\n\n  @chsh -s /bin/zsh@\n\n4. Start / restart zsh (open a new terminal is easy enough...)\n\nh3. Problems?\n\nYou _might_ need to modify your PATH in ~/.zshrc if you're not able to find some commands after switching to _Oh My Zsh_.\n\nh2. Usage\n\n* enable the plugins you want in your @~/.zshrc@ (take a look at @plugins/@ to see what's possible)\n** example: @plugins=(git osx ruby)@\n* Theme support: Change the @ZSH_THEME@ environment variable in @~/.zshrc@.\n** Take a look at the \"current themes\":http://wiki.github.com/sjl/oh-my-zsh/themes that come bundled with _Oh My Zsh_.\n* much much more...  take a look at @lib/@ what _Oh My Zsh_ offers...\n\nh2. Useful\n\nthe \"refcard\":http://www.bash2zsh.com/zsh_refcard/refcard.pdf is pretty tasty for tips.\n\nh3. Customization\n\nIf you want to override any of the default behavior, just add a new file (ending in @.zsh@) into the @custom/@ directory.\nIf you have many functions which go good together you can put them as a *.plugin.zsh file in the @custom/plugins/@ directory and then enable this plugin.\nIf you would like to override the functionality of a plugin distributed with oh-my-zsh, create a plugin of the same name in the @custom/plugins/@ directory and it will be loaded instead of the one in @plugins/@.\n\n\nh3. Uninstalling\n\nIf you want to uninstall it, just run @uninstall_oh_my_zsh@ from the command line and it'll remove itself and revert you to bash (or your previous zsh config).\n\nh2. Help out!\n\nI'm far from being a zsh-expert and suspect there are many ways to improve. If you have ideas on how to make the configuration easier to maintain (and faster), don't hesitate to fork and send pull requests!\n\nh3. Send us your theme!\n\nI'm hoping to collect a bunch of themes for our command prompts. You can see existing ones in the @themes/@ directory.\n\nh2. Contributors\n\nThis project wouldn't exist without all of our awesome users and contributors.\n\n* \"View our growing list of contributors\":https://github.com/robbyrussell/oh-my-zsh/contributors\n\nThank you so much!\n"
  },
  {
    "path": "functions/_hg",
    "content": "#compdef hg\n\n# Zsh completion script for mercurial.  Rename this file to _hg and copy\n# it into your zsh function path (/usr/share/zsh/site-functions for\n# instance)\n#\n# If you do not want to install it globally, you can copy it somewhere\n# else and add that directory to $fpath. This must be done before\n# compinit is called. If the file is copied to ~/.zsh.d, your ~/.zshrc\n# file could look like this:\n#\n# fpath=(\"$HOME/.zsh.d\" $fpath)\n# autoload -U compinit\n# compinit\n#\n# Copyright (C) 2005, 2006 Steve Borho <steve@borho.org>\n# Copyright (C) 2006-9 Brendan Cully <brendan@kublai.com>\n#\n# Permission is hereby granted, without written agreement and without\n# licence or royalty fees, to use, copy, modify, and distribute this\n# software and to distribute modified versions of this software for any\n# purpose, provided that the above copyright notice and the following\n# two paragraphs appear in all copies of this software.\n#\n# In no event shall the authors be liable to any party for direct,\n# indirect, special, incidental, or consequential damages arising out of\n# the use of this software and its documentation, even if the authors\n# have been advised of the possibility of such damage.\n#\n# The authors specifically disclaim any warranties, including, but not\n# limited to, the implied warranties of merchantability and fitness for\n# a particular purpose.  The software provided hereunder is on an \"as\n# is\" basis, and the authors have no obligation to provide maintenance,\n# support, updates, enhancements, or modifications.\n\nemulate -LR zsh\nsetopt extendedglob\n\nlocal curcontext=\"$curcontext\" state line\ntypeset -A _hg_cmd_globals\n\n_hg() {\n  local cmd _hg_root\n  integer i=2\n  _hg_cmd_globals=()\n\n  while (( i < $#words ))\n  do\n    case \"$words[$i]\" in\n      -R|--repository)\n        eval _hg_root=\"$words[$i+1]\"\n        _hg_cmd_globals+=(\"$words[$i]\" \"$_hg_root\")\n        (( i += 2 ))\n        continue\n      ;;\n      -R*)\n        _hg_cmd_globals+=\"$words[$i]\"\n        eval _hg_root=\"${words[$i]#-R}\"\n       (( i++ ))\n       continue\n      ;;\n      --cwd|--config)\n        # pass along arguments to hg completer\n        _hg_cmd_globals+=(\"$words[$i]\" \"$words[$i+1]\")\n        (( i += 2 ))\n        continue\n      ;;\n      -*)\n        # skip option\n        (( i++ ))\n        continue\n      ;;\n    esac\n    if [[ -z \"$cmd\" ]]\n    then\n      cmd=\"$words[$i]\"\n      words[$i]=()\n      (( CURRENT-- ))\n    fi\n    (( i++ ))\n  done\n\n  if [[ -z \"$cmd\" ]]\n  then\n    _arguments -s -w : $_hg_global_opts \\\n    ':mercurial command:_hg_commands'\n    return\n  fi\n\n  # resolve abbreviations and aliases\n  if ! (( $+functions[_hg_cmd_${cmd}] ))\n  then\n    local cmdexp\n    (( $#_hg_cmd_list )) || _hg_get_commands\n\n    cmdexp=$_hg_cmd_list[(r)${cmd}*]\n    if [[ $cmdexp == $_hg_cmd_list[(R)${cmd}*] ]]\n    then\n      # might be nice to rewrite the command line with the expansion\n      cmd=\"$cmdexp\"\n    fi\n    if [[ -n $_hg_alias_list[$cmd] ]]\n    then\n      cmd=$_hg_alias_list[$cmd]\n    fi\n  fi\n\n  curcontext=\"${curcontext%:*:*}:hg-${cmd}:\"\n\n  zstyle -s \":completion:$curcontext:\" cache-policy update_policy\n\n  if [[ -z \"$update_policy\" ]]\n  then\n    zstyle \":completion:$curcontext:\" cache-policy _hg_cache_policy\n  fi\n\n  if (( $+functions[_hg_cmd_${cmd}] ))\n  then\n    _hg_cmd_${cmd}\n  else\n    # complete unknown commands normally\n    _arguments -s -w : $_hg_global_opts \\\n      '*:files:_hg_files'\n  fi\n}\n\n_hg_cache_policy() {\n  typeset -a old\n\n  # cache for a minute\n  old=( \"$1\"(mm+10) )\n  (( $#old )) && return 0\n\n  return 1\n}\n\n_hg_get_commands() {\n  typeset -ga _hg_cmd_list\n  typeset -gA _hg_alias_list\n  local hline cmd cmdalias\n\n  _call_program hg hg debugcomplete -v | while read -A hline\n  do\n    cmd=$hline[1]\n    _hg_cmd_list+=($cmd)\n\n    for cmdalias in $hline[2,-1]\n    do\n      _hg_cmd_list+=($cmdalias)\n      _hg_alias_list+=($cmdalias $cmd)\n    done\n  done\n}\n\n_hg_commands() {\n  (( $#_hg_cmd_list )) || _hg_get_commands\n  _describe -t commands 'mercurial command' _hg_cmd_list\n}\n\n_hg_revrange() {\n  compset -P 1 '*:'\n  _hg_tags \"$@\"\n}\n\n_hg_tags() {\n  typeset -a tags\n  local tag rev\n\n  _hg_cmd tags | while read tag\n  do\n    tags+=(${tag/ #    [0-9]#:*})\n  done\n  (( $#tags )) && _describe -t tags 'tags' tags\n}\n\n# likely merge candidates\n_hg_mergerevs() {\n  typeset -a heads\n  local myrev\n\n  heads=(${(f)\"$(_hg_cmd heads --template '{rev}\\\\n')\"})\n  # exclude own revision\n  myrev=$(_hg_cmd log -r . --template '{rev}\\\\n')\n  heads=(${heads:#$myrev})\n\n  (( $#heads )) && _describe -t heads 'heads' heads\n}\n\n_hg_files() {\n  if [[ -n \"$_hg_root\" ]]\n  then\n    [[ -d \"$_hg_root/.hg\" ]] || return\n    case \"$_hg_root\" in\n      /*)\n        _files -W $_hg_root\n      ;;\n      *)\n        _files -W $PWD/$_hg_root\n      ;;\n    esac\n  else\n    _files\n  fi\n}\n\n_hg_status() {\n  [[ -d $PREFIX ]] || PREFIX=$PREFIX:h\n  status_files=(${(ps:\\0:)\"$(_hg_cmd status -0n$1 ./$PREFIX)\"})\n}\n\n_hg_unknown() {\n  typeset -a status_files\n  _hg_status u\n  _wanted files expl 'unknown files' _multi_parts / status_files\n}\n\n_hg_missing() {\n  typeset -a status_files\n  _hg_status d\n  _wanted files expl 'missing files' _multi_parts / status_files\n}\n\n_hg_modified() {\n  typeset -a status_files\n  _hg_status m\n  _wanted files expl 'modified files' _multi_parts / status_files\n}\n\n_hg_resolve() {\n  local rstate rpath\n\n  [[ -d $PREFIX ]] || PREFIX=$PREFIX:h\n\n  _hg_cmd resolve -l ./$PREFIX | while read rstate rpath\n  do\n    [[ $rstate == 'R' ]] && resolved_files+=($rpath)\n    [[ $rstate == 'U' ]] && unresolved_files+=($rpath)\n  done\n}\n\n_hg_resolved() {\n  typeset -a resolved_files unresolved_files\n  _hg_resolve\n  _wanted files expl 'resolved files' _multi_parts / resolved_files\n}\n\n_hg_unresolved() {\n  typeset -a resolved_files unresolved_files\n  _hg_resolve\n  _wanted files expl 'unresolved files' _multi_parts / unresolved_files\n}\n\n_hg_config() {\n    typeset -a items\n    items=(${${(%f)\"$(_call_program hg hg showconfig)\"}%%\\=*})\n    (( $#items )) && _describe -t config 'config item' items\n}\n\n_hg_addremove() {\n  _alternative 'files:unknown files:_hg_unknown' \\\n    'files:missing files:_hg_missing'\n}\n\n_hg_ssh_urls() {\n  if [[ -prefix */ ]]\n  then\n    if zstyle -T \":completion:${curcontext}:files\" remote-access\n    then\n      local host=${PREFIX%%/*}\n      typeset -a remdirs\n      compset -p $(( $#host + 1 ))\n      local rempath=${(M)PREFIX##*/}\n      local cacheid=\"hg:${host}-${rempath//\\//_}\"\n      cacheid=${cacheid%[-_]}\n      compset -P '*/'\n      if _cache_invalid \"$cacheid\" || ! _retrieve_cache \"$cacheid\"\n      then\n        remdirs=(${${(M)${(f)\"$(_call_program files ssh -a -x $host ls -1FL \"${(q)rempath}\")\"}##*/}%/})\n        _store_cache \"$cacheid\" remdirs\n      fi\n      _describe -t directories 'remote directory' remdirs -S/\n    else\n      _message 'remote directory'\n    fi\n  else\n    if compset -P '*@'\n    then\n      _hosts -S/\n    else\n      _alternative 'hosts:remote host name:_hosts -S/' \\\n        'users:user:_users -S@'\n    fi\n  fi\n}\n\n_hg_urls() {\n  if compset -P bundle://\n  then\n    _files\n  elif compset -P ssh://\n  then\n    _hg_ssh_urls\n  elif [[ -prefix *: ]]\n  then\n    _urls\n  else\n    local expl\n    compset -S '[^:]*'\n    _wanted url-schemas expl 'URL schema' compadd -S '' - \\\n      http:// https:// ssh:// bundle://\n  fi\n}\n\n_hg_paths() {\n  typeset -a paths pnames\n  _hg_cmd paths | while read -A pnames\n  do\n    paths+=($pnames[1])\n  done\n  (( $#paths )) && _describe -t path-aliases 'repository alias' paths\n}\n\n_hg_remote() {\n  _alternative 'path-aliases:repository alias:_hg_paths' \\\n    'directories:directory:_files -/' \\\n    'urls:URL:_hg_urls'\n}\n\n_hg_clone_dest() {\n  _alternative 'directories:directory:_files -/' \\\n    'urls:URL:_hg_urls'\n}\n\n# Common options\n_hg_global_opts=(\n    '(--repository -R)'{-R+,--repository}'[repository root directory]:repository:_files -/'\n    '--cwd[change working directory]:new working directory:_files -/'\n    '(--noninteractive -y)'{-y,--noninteractive}'[do not prompt, assume yes for any required answers]'\n    '(--verbose -v)'{-v,--verbose}'[enable additional output]'\n    '*--config[set/override config option]:defined config items:_hg_config'\n    '(--quiet -q)'{-q,--quiet}'[suppress output]'\n    '(--help -h)'{-h,--help}'[display help and exit]'\n    '--debug[debug mode]'\n    '--debugger[start debugger]'\n    '--encoding[set the charset encoding (default: UTF8)]'\n    '--encodingmode[set the charset encoding mode (default: strict)]'\n    '--lsprof[print improved command execution profile]'\n    '--traceback[print traceback on exception]'\n    '--time[time how long the command takes]'\n    '--profile[profile]'\n    '--version[output version information and exit]'\n)\n\n_hg_pat_opts=(\n  '*'{-I+,--include}'[include names matching the given patterns]:dir:_files -W $(_hg_cmd root) -/'\n  '*'{-X+,--exclude}'[exclude names matching the given patterns]:dir:_files -W $(_hg_cmd root) -/')\n\n_hg_diff_opts=(\n  '(--text -a)'{-a,--text}'[treat all files as text]'\n  '(--git -g)'{-g,--git}'[use git extended diff format]'\n  \"--nodates[omit dates from diff headers]\")\n\n_hg_dryrun_opts=(\n  '(--dry-run -n)'{-n,--dry-run}'[do not perform actions, just print output]')\n\n_hg_style_opts=(\n  '--style[display using template map file]:'\n  '--template[display with template]:')\n\n_hg_commit_opts=(\n  '(-m --message -l --logfile --edit -e)'{-e,--edit}'[edit commit message]'\n  '(-e --edit -l --logfile --message -m)'{-m+,--message}'[use <text> as commit message]:message:'\n  '(-e --edit -m --message --logfile -l)'{-l+,--logfile}'[read the commit message from <file>]:log file:_files')\n\n_hg_remote_opts=(\n  '(--ssh -e)'{-e+,--ssh}'[specify ssh command to use]:'\n  '--remotecmd[specify hg command to run on the remote side]:')\n\n_hg_cmd() {\n  _call_program hg hg --config ui.verbose=0 --config defaults.\"$1\"= \\\n    \"$_hg_cmd_globals[@]\" \"$@\" 2> /dev/null\n}\n\n_hg_cmd_add() {\n  _arguments -s -w : $_hg_global_opts $_hg_pat_opts $_hg_dryrun_opts \\\n  '*:unknown files:_hg_unknown'\n}\n\n_hg_cmd_addremove() {\n  _arguments -s -w : $_hg_global_opts $_hg_pat_opts $_hg_dryrun_opts \\\n  '(--similarity -s)'{-s+,--similarity}'[guess renamed files by similarity (0<=s<=100)]:' \\\n  '*:unknown or missing files:_hg_addremove'\n}\n\n_hg_cmd_annotate() {\n  _arguments -s -w : $_hg_global_opts $_hg_pat_opts \\\n  '(--rev -r)'{-r+,--rev}'[annotate the specified revision]:revision:_hg_tags' \\\n  '(--follow -f)'{-f,--follow}'[follow file copies and renames]' \\\n  '(--text -a)'{-a,--text}'[treat all files as text]' \\\n  '(--user -u)'{-u,--user}'[list the author]' \\\n  '(--date -d)'{-d,--date}'[list the date]' \\\n  '(--number -n)'{-n,--number}'[list the revision number (default)]' \\\n  '(--changeset -c)'{-c,--changeset}'[list the changeset]' \\\n  '*:files:_hg_files'\n}\n\n_hg_cmd_archive() {\n  _arguments -s -w : $_hg_global_opts $_hg_pat_opts \\\n  '--no-decode[do not pass files through decoders]' \\\n  '(--prefix -p)'{-p+,--prefix}'[directory prefix for files in archive]:' \\\n  '(--rev -r)'{-r+,--rev}'[revision to distribute]:revision:_hg_tags' \\\n  '(--type -t)'{-t+,--type}'[type of distribution to create]:archive type:(files tar tbz2 tgz uzip zip)' \\\n  '*:destination:_files'\n}\n\n_hg_cmd_backout() {\n  _arguments -s -w : $_hg_global_opts $_hg_pat_opts \\\n    '--merge[merge with old dirstate parent after backout]' \\\n    '(--date -d)'{-d+,--date}'[record datecode as commit date]:date code:' \\\n    '--parent[parent to choose when backing out merge]' \\\n    '(--user -u)'{-u+,--user}'[record user as commiter]:user:' \\\n    '(--rev -r)'{-r+,--rev}'[revision]:revision:_hg_tags' \\\n    '(--message -m)'{-m+,--message}'[use <text> as commit message]:text:' \\\n    '(--logfile -l)'{-l+,--logfile}'[read commit message from <file>]:log file:_files -g \\*.txt'\n}\n\n_hg_cmd_bisect() {\n  _arguments -s -w : $_hg_global_opts \\\n  '(-)'{-r,--reset}'[reset bisect state]' \\\n  '(--good -g --bad -b --skip -s --reset -r)'{-g,--good}'[mark changeset good]'::revision:_hg_tags \\\n  '(--good -g --bad -b --skip -s --reset -r)'{-b,--bad}'[mark changeset bad]'::revision:_hg_tags \\\n  '(--good -g --bad -b --skip -s --reset -r)'{-s,--skip}'[skip testing changeset]' \\\n  '(--command -c --noupdate -U)'{-c+,--command}'[use command to check changeset state]':commands:_command_names \\\n  '(--command -c --noupdate -U)'{-U,--noupdate}'[do not update to target]'\n}\n\n_hg_cmd_branch() {\n  _arguments -s -w : $_hg_global_opts \\\n  '(--force -f)'{-f,--force}'[set branch name even if it shadows an existing branch]' \\\n  '(--clean -C)'{-C,--clean}'[reset branch name to parent branch name]'\n}\n\n_hg_cmd_branches() {\n  _arguments -s -w : $_hg_global_opts \\\n  '(--active -a)'{-a,--active}'[show only branches that have unmerge heads]'\n}\n\n_hg_cmd_bundle() {\n  _arguments -s -w : $_hg_global_opts $_hg_remote_opts \\\n  '(--force -f)'{-f,--force}'[run even when remote repository is unrelated]' \\\n  '(2)*--base[a base changeset to specify instead of a destination]:revision:_hg_tags' \\\n  ':output file:_files' \\\n  ':destination repository:_files -/'\n}\n\n_hg_cmd_cat() {\n  _arguments -s -w : $_hg_global_opts $_hg_pat_opts \\\n  '(--output -o)'{-o+,--output}'[print output to file with formatted name]:filespec:' \\\n  '(--rev -r)'{-r+,--rev}'[revision]:revision:_hg_tags' \\\n  '*:file:_hg_files'\n}\n\n_hg_cmd_clone() {\n  _arguments -s -w : $_hg_global_opts $_hg_remote_opts \\\n  '(--noupdate -U)'{-U,--noupdate}'[do not update the new working directory]' \\\n  '(--rev -r)'{-r+,--rev}'[a changeset you would like to have after cloning]:' \\\n  '--uncompressed[use uncompressed transfer (fast over LAN)]' \\\n  ':source repository:_hg_remote' \\\n  ':destination:_hg_clone_dest'\n}\n\n_hg_cmd_commit() {\n  _arguments -s -w : $_hg_global_opts $_hg_pat_opts \\\n  '(--addremove -A)'{-A,--addremove}'[mark new/missing files as added/removed before committing]' \\\n  '(--message -m)'{-m+,--message}'[use <text> as commit message]:text:' \\\n  '(--logfile -l)'{-l+,--logfile}'[read commit message from <file>]:log file:_files -g \\*.txt' \\\n  '(--date -d)'{-d+,--date}'[record datecode as commit date]:date code:' \\\n  '(--user -u)'{-u+,--user}'[record user as commiter]:user:' \\\n  '*:file:_hg_files'\n}\n\n_hg_cmd_copy() {\n  _arguments -s -w : $_hg_global_opts $_hg_pat_opts $_hg_dryrun_opts \\\n  '(--after -A)'{-A,--after}'[record a copy that has already occurred]' \\\n  '(--force -f)'{-f,--force}'[forcibly copy over an existing managed file]' \\\n  '*:file:_hg_files'\n}\n\n_hg_cmd_diff() {\n  typeset -A opt_args\n  _arguments -s -w : $_hg_global_opts $_hg_pat_opts $_hg_diff_opts \\\n  '*'{-r,--rev}'+[revision]:revision:_hg_revrange' \\\n  '(--show-function -p)'{-p,--show-function}'[show which function each change is in]' \\\n  '(--ignore-all-space -w)'{-w,--ignore-all-space}'[ignore white space when comparing lines]' \\\n  '(--ignore-space-change -b)'{-b,--ignore-space-change}'[ignore changes in the amount of white space]' \\\n  '(--ignore-blank-lines -B)'{-B,--ignore-blank-lines}'[ignore changes whose lines are all blank]' \\\n  '*:file:->diff_files'\n\n  if [[ $state == 'diff_files' ]]\n  then\n    if [[ -n $opt_args[-r] ]]\n    then\n      _hg_files\n    else\n      _hg_modified\n    fi\n  fi\n}\n\n_hg_cmd_export() {\n  _arguments -s -w : $_hg_global_opts $_hg_diff_opts \\\n  '(--outout -o)'{-o+,--output}'[print output to file with formatted name]:filespec:' \\\n  '--switch-parent[diff against the second parent]' \\\n  '*:revision:_hg_tags'\n}\n\n_hg_cmd_grep() {\n  _arguments -s -w : $_hg_global_opts $_hg_pat_opts \\\n  '(--print0 -0)'{-0,--print0}'[end filenames with NUL]' \\\n  '--all[print all revisions with matches]' \\\n  '(--follow -f)'{-f,--follow}'[follow changeset or file history]' \\\n  '(--ignore-case -i)'{-i,--ignore-case}'[ignore case when matching]' \\\n  '(--files-with-matches -l)'{-l,--files-with-matches}'[print only filenames and revs that match]' \\\n  '(--line-number -n)'{-n,--line-number}'[print matching line numbers]' \\\n  '*'{-r+,--rev}'[search in given revision range]:revision:_hg_revrange' \\\n  '(--user -u)'{-u,--user}'[print user who committed change]' \\\n  '1:search pattern:' \\\n  '*:files:_hg_files'\n}\n\n_hg_cmd_heads() {\n  _arguments -s -w : $_hg_global_opts $_hg_style_opts \\\n  '(--rev -r)'{-r+,--rev}'[show only heads which are descendants of rev]:revision:_hg_tags'\n}\n\n_hg_cmd_help() {\n  _arguments -s -w : $_hg_global_opts \\\n  '*:mercurial command:_hg_commands'\n}\n\n_hg_cmd_identify() {\n  _arguments -s -w : $_hg_global_opts \\\n  '(--rev -r)'{-r+,--rev}'[identify the specified rev]:revision:_hg_tags' \\\n  '(--num -n)'{-n+,--num}'[show local revision number]' \\\n  '(--id -i)'{-i+,--id}'[show global revision id]' \\\n  '(--branch -b)'{-b+,--branch}'[show branch]' \\\n  '(--tags -t)'{-t+,--tags}'[show tags]'\n}\n\n_hg_cmd_import() {\n  _arguments -s -w : $_hg_global_opts \\\n  '(--strip -p)'{-p+,--strip}'[directory strip option for patch (default: 1)]:count:' \\\n  '(--message -m)'{-m+,--message}'[use <text> as commit message]:text:' \\\n  '(--force -f)'{-f,--force}'[skip check for outstanding uncommitted changes]' \\\n  '*:patch:_files'\n}\n\n_hg_cmd_incoming() {\n  _arguments -s -w : $_hg_global_opts $_hg_remote_opts $_hg_style_opts \\\n  '(--no-merges -M)'{-M,--no-merges}'[do not show merge revisions]' \\\n  '(--force -f)'{-f,--force}'[run even when the remote repository is unrelated]' \\\n  '(--patch -p)'{-p,--patch}'[show patch]' \\\n  '(--rev -r)'{-r+,--rev}'[a specific revision up to which you would like to pull]:revision:_hg_tags' \\\n  '(--newest-first -n)'{-n,--newest-first}'[show newest record first]' \\\n  '--bundle[file to store the bundles into]:bundle file:_files' \\\n  ':source:_hg_remote'\n}\n\n_hg_cmd_init() {\n  _arguments -s -w : $_hg_global_opts $_hg_remote_opts \\\n  ':dir:_files -/'\n}\n\n_hg_cmd_locate() {\n  _arguments -s -w : $_hg_global_opts $_hg_pat_opts \\\n  '(--rev -r)'{-r+,--rev}'[search repository as it stood at revision]:revision:_hg_tags' \\\n  '(--print0 -0)'{-0,--print0}'[end filenames with NUL, for use with xargs]' \\\n  '(--fullpath -f)'{-f,--fullpath}'[print complete paths]' \\\n  '*:search pattern:_hg_files'\n}\n\n_hg_cmd_log() {\n  _arguments -s -w : $_hg_global_opts $_hg_pat_opts $_hg_style_opts \\\n  '(--follow --follow-first -f)'{-f,--follow}'[follow changeset or history]' \\\n  '(-f --follow)--follow-first[only follow the first parent of merge changesets]' \\\n  '(--copies -C)'{-C,--copies}'[show copied files]' \\\n  '(--keyword -k)'{-k+,--keyword}'[search for a keyword]:' \\\n  '(--limit -l)'{-l+,--limit}'[limit number of changes displayed]:' \\\n  '*'{-r,--rev}'[show the specified revision or range]:revision:_hg_revrange' \\\n  '(--no-merges -M)'{-M,--no-merges}'[do not show merges]' \\\n  '(--only-merges -m)'{-m,--only-merges}'[show only merges]' \\\n  '(--patch -p)'{-p,--patch}'[show patch]' \\\n  '(--prune -P)'{-P+,--prune}'[do not display revision or any of its ancestors]:revision:_hg_tags' \\\n  '*:files:_hg_files'\n}\n\n_hg_cmd_manifest() {\n  _arguments -s -w : $_hg_global_opts \\\n  ':revision:_hg_tags'\n}\n\n_hg_cmd_merge() {\n  _arguments -s -w : $_hg_global_opts \\\n  '(--force -f)'{-f,--force}'[force a merge with outstanding changes]' \\\n  '(--rev -r 1)'{-r,--rev}'[revision to merge]:revision:_hg_mergerevs' \\\n  '(--preview -P)'{-P,--preview}'[review revisions to merge (no merge is performed)]' \\\n  ':revision:_hg_mergerevs'\n}\n\n_hg_cmd_outgoing() {\n  _arguments -s -w : $_hg_global_opts $_hg_remote_opts $_hg_style_opts \\\n  '(--no-merges -M)'{-M,--no-merges}'[do not show merge revisions]' \\\n  '(--force -f)'{-f,--force}'[run even when the remote repository is unrelated]' \\\n  '(--patch -p)'{-p,--patch}'[show patch]' \\\n  '(--rev -r)'{-r+,--rev}'[a specific revision you would like to push]' \\\n  '(--newest-first -n)'{-n,--newest-first}'[show newest record first]' \\\n  ':destination:_hg_remote'\n}\n\n_hg_cmd_parents() {\n  _arguments -s -w : $_hg_global_opts $_hg_style_opts \\\n  '(--rev -r)'{-r+,--rev}'[show parents of the specified rev]:revision:_hg_tags' \\\n  ':last modified file:_hg_files'\n}\n\n_hg_cmd_paths() {\n  _arguments -s -w : $_hg_global_opts \\\n  ':path:_hg_paths'\n}\n\n_hg_cmd_pull() {\n  _arguments -s -w : $_hg_global_opts $_hg_remote_opts \\\n  '(--force -f)'{-f,--force}'[run even when the remote repository is unrelated]' \\\n  '(--update -u)'{-u,--update}'[update to new tip if changesets were pulled]' \\\n  '(--rev -r)'{-r+,--rev}'[a specific revision up to which you would like to pull]:revision:' \\\n  ':source:_hg_remote'\n}\n\n_hg_cmd_push() {\n  _arguments -s -w : $_hg_global_opts $_hg_remote_opts \\\n  '(--force -f)'{-f,--force}'[force push]' \\\n  '(--rev -r)'{-r+,--rev}'[a specific revision you would like to push]:revision:_hg_tags' \\\n  ':destination:_hg_remote'\n}\n\n_hg_cmd_remove() {\n  _arguments -s -w : $_hg_global_opts $_hg_pat_opts \\\n  '(--after -A)'{-A,--after}'[record remove that has already occurred]' \\\n  '(--force -f)'{-f,--force}'[remove file even if modified]' \\\n  '*:file:_hg_files'\n}\n\n_hg_cmd_rename() {\n  _arguments -s -w : $_hg_global_opts $_hg_pat_opts $_hg_dryrun_opts \\\n  '(--after -A)'{-A,--after}'[record a rename that has already occurred]' \\\n  '(--force -f)'{-f,--force}'[forcibly copy over an existing managed file]' \\\n  '*:file:_hg_files'\n}\n\n_hg_cmd_resolve() {\n  local context state line\n  typeset -A opt_args\n\n  _arguments -s -w : $_hg_global_opts \\\n  '(--list -l --mark -m --unmark -u)'{-l,--list}'[list state of files needing merge]:*:merged files:->resolve_files' \\\n  '(--mark -m --list -l --unmark -u)'{-m,--mark}'[mark files as resolved]:*:unresolved files:_hg_unresolved' \\\n  '(--unmark -u --list -l --mark -m)'{-u,--unmark}'[unmark files as resolved]:*:resolved files:_hg_resolved' \\\n  '*:file:_hg_unresolved'\n\n  if [[ $state == 'resolve_files' ]]\n  then\n    _alternative 'files:resolved files:_hg_resolved' \\\n      'files:unresolved files:_hg_unresolved'\n  fi\n}\n\n_hg_cmd_revert() {\n  local context state line\n  typeset -A opt_args\n\n  _arguments -s -w : $_hg_global_opts $_hg_pat_opts $_hg_dryrun_opts \\\n  '(--all -a :)'{-a,--all}'[revert all changes when no arguments given]' \\\n  '(--rev -r)'{-r+,--rev}'[revision to revert to]:revision:_hg_tags' \\\n  '--no-backup[do not save backup copies of files]' \\\n  '*:file:->diff_files'\n\n  if [[ $state == 'diff_files' ]]\n  then\n    if [[ -n $opt_args[-r] ]]\n    then\n      _hg_files\n    else\n      typeset -a status_files\n      _hg_status mard\n      _wanted files expl 'modified, added, removed or deleted file' _multi_parts / status_files\n    fi\n  fi\n}\n\n_hg_cmd_serve() {\n  _arguments -s -w : $_hg_global_opts \\\n  '(--accesslog -A)'{-A+,--accesslog}'[name of access log file]:log file:_files' \\\n  '(--errorlog -E)'{-E+,--errorlog}'[name of error log file]:log file:_files' \\\n  '(--daemon -d)'{-d,--daemon}'[run server in background]' \\\n  '(--port -p)'{-p+,--port}'[listen port]:listen port:' \\\n  '(--address -a)'{-a+,--address}'[interface address]:interface address:' \\\n  '(--name -n)'{-n+,--name}'[name to show in web pages]:repository name:' \\\n  '(--templates -t)'{-t,--templates}'[web template directory]:template dir:_files -/' \\\n  '--style[web template style]:style' \\\n  '--stdio[for remote clients]' \\\n  '(--ipv6 -6)'{-6,--ipv6}'[use IPv6 in addition to IPv4]'\n}\n\n_hg_cmd_showconfig() {\n  _arguments -s -w : $_hg_global_opts \\\n  '(--untrusted -u)'{-u+,--untrusted}'[show untrusted configuration options]' \\\n  ':config item:_hg_config'\n}\n\n_hg_cmd_status() {\n  _arguments -s -w : $_hg_global_opts $_hg_pat_opts \\\n  '(--all -A)'{-A,--all}'[show status of all files]' \\\n  '(--modified -m)'{-m,--modified}'[show only modified files]' \\\n  '(--added -a)'{-a,--added}'[show only added files]' \\\n  '(--removed -r)'{-r,--removed}'[show only removed files]' \\\n  '(--deleted -d)'{-d,--deleted}'[show only deleted (but tracked) files]' \\\n  '(--clean -c)'{-c,--clean}'[show only files without changes]' \\\n  '(--unknown -u)'{-u,--unknown}'[show only unknown files]' \\\n  '(--ignored -i)'{-i,--ignored}'[show ignored files]' \\\n  '(--no-status -n)'{-n,--no-status}'[hide status prefix]' \\\n  '(--copies -C)'{-C,--copies}'[show source of copied files]' \\\n  '(--print0 -0)'{-0,--print0}'[end filenames with NUL, for use with xargs]' \\\n  '--rev[show difference from revision]:revision:_hg_tags' \\\n  '*:files:_files'\n}\n\n_hg_cmd_summary() {\n  _arguments -s -w : $_hg_global_opts \\\n  '--remote[check for push and pull]'\n}\n\n_hg_cmd_tag() {\n  _arguments -s -w : $_hg_global_opts \\\n  '(--local -l)'{-l,--local}'[make the tag local]' \\\n  '(--message -m)'{-m+,--message}'[message for tag commit log entry]:message:' \\\n  '(--date -d)'{-d+,--date}'[record datecode as commit date]:date code:' \\\n  '(--user -u)'{-u+,--user}'[record user as commiter]:user:' \\\n  '(--rev -r)'{-r+,--rev}'[revision to tag]:revision:_hg_tags' \\\n  ':tag name:'\n}\n\n_hg_cmd_tip() {\n  _arguments -s -w : $_hg_global_opts $_hg_style_opts \\\n  '(--patch -p)'{-p,--patch}'[show patch]'\n}\n\n_hg_cmd_unbundle() {\n  _arguments -s -w : $_hg_global_opts \\\n  '(--update -u)'{-u,--update}'[update to new tip if changesets were unbundled]' \\\n  ':files:_files'\n}\n\n_hg_cmd_update() {\n  _arguments -s -w : $_hg_global_opts \\\n  '(--clean -C)'{-C,--clean}'[overwrite locally modified files]' \\\n  '(--rev -r)'{-r+,--rev}'[revision]:revision:_hg_tags' \\\n  ':revision:_hg_tags'\n}\n\n# HGK\n_hg_cmd_view() {\n  _arguments -s -w : $_hg_global_opts \\\n  '(--limit -l)'{-l+,--limit}'[limit number of changes displayed]:' \\\n  ':revision range:_hg_tags'\n}\n\n# MQ\n_hg_qseries() {\n  typeset -a patches\n  patches=(${(f)\"$(_hg_cmd qseries)\"})\n  (( $#patches )) && _describe -t hg-patches 'patches' patches\n}\n\n_hg_qapplied() {\n  typeset -a patches\n  patches=(${(f)\"$(_hg_cmd qapplied)\"})\n  if (( $#patches ))\n  then\n    patches+=(qbase qtip)\n    _describe -t hg-applied-patches 'applied patches' patches\n  fi\n}\n\n_hg_qunapplied() {\n  typeset -a patches\n  patches=(${(f)\"$(_hg_cmd qunapplied)\"})\n  (( $#patches )) && _describe -t hg-unapplied-patches 'unapplied patches' patches\n}\n\n# unapplied, including guarded patches\n_hg_qdeletable() {\n  typeset -a unapplied\n  unapplied=(${(f)\"$(_hg_cmd qseries)\"})\n  for p in $(_hg_cmd qapplied)\n  do\n    unapplied=(${unapplied:#$p})\n  done\n\n  (( $#unapplied )) && _describe -t hg-allunapplied-patches 'all unapplied patches' unapplied\n}\n\n_hg_qguards() {\n  typeset -a guards\n  local guard\n  compset -P \"+|-\"\n  _hg_cmd qselect -s | while read guard\n  do\n    guards+=(${guard#(+|-)})\n  done\n  (( $#guards )) && _describe -t hg-guards 'guards' guards\n}\n\n_hg_qseries_opts=(\n  '(--summary -s)'{-s,--summary}'[print first line of patch header]')\n\n_hg_cmd_qapplied() {\n  _arguments -s -w : $_hg_global_opts $_hg_qseries_opts\n}\n\n_hg_cmd_qdelete() {\n  _arguments -s -w : $_hg_global_opts \\\n  '(--keep -k)'{-k,--keep}'[keep patch file]' \\\n  '*'{-r+,--rev}'[stop managing a revision]:applied patch:_hg_revrange' \\\n  '*:unapplied patch:_hg_qdeletable'\n}\n\n_hg_cmd_qdiff() {\n  _arguments -s -w : $_hg_global_opts $_hg_pat_opts \\\n  '*:pattern:_hg_files'\n}\n\n_hg_cmd_qfold() {\n  _arguments -s -w : $_hg_global_opts $_h_commit_opts \\\n  '(--keep,-k)'{-k,--keep}'[keep folded patch files]' \\\n  '*:unapplied patch:_hg_qunapplied'\n}\n\n_hg_cmd_qgoto() {\n  _arguments -s -w : $_hg_global_opts \\\n  '(--force -f)'{-f,--force}'[overwrite any local changes]' \\\n  ':patch:_hg_qseries'\n}\n\n_hg_cmd_qguard() {\n  _arguments -s -w : $_hg_global_opts \\\n  '(--list -l)'{-l,--list}'[list all patches and guards]' \\\n  '(--none -n)'{-n,--none}'[drop all guards]' \\\n  ':patch:_hg_qseries' \\\n  '*:guards:_hg_qguards'\n}\n\n_hg_cmd_qheader() {\n  _arguments -s -w : $_hg_global_opts \\\n  ':patch:_hg_qseries'\n}\n\n_hg_cmd_qimport() {\n  _arguments -s -w : $_hg_global_opts \\\n  '(--existing -e)'{-e,--existing}'[import file in patch dir]' \\\n  '(--name -n 2)'{-n+,--name}'[patch file name]:name:' \\\n  '(--force -f)'{-f,--force}'[overwrite existing files]' \\\n  '*'{-r+,--rev}'[place existing revisions under mq control]:revision:_hg_revrange' \\\n  '*:patch:_files'\n}\n\n_hg_cmd_qnew() {\n  _arguments -s -w : $_hg_global_opts $_hg_commit_opts \\\n  '(--force -f)'{-f,--force}'[import uncommitted changes into patch]' \\\n  ':patch:'\n}\n\n_hg_cmd_qnext() {\n  _arguments -s -w : $_hg_global_opts $_hg_qseries_opts\n}\n\n_hg_cmd_qpop() {\n  _arguments -s -w : $_hg_global_opts \\\n  '(--all -a :)'{-a,--all}'[pop all patches]' \\\n  '(--name -n)'{-n+,--name}'[queue name to pop]:' \\\n  '(--force -f)'{-f,--force}'[forget any local changes]' \\\n  ':patch:_hg_qapplied'\n}\n\n_hg_cmd_qprev() {\n  _arguments -s -w : $_hg_global_opts $_hg_qseries_opts\n}\n\n_hg_cmd_qpush() {\n  _arguments -s -w : $_hg_global_opts \\\n  '(--all -a :)'{-a,--all}'[apply all patches]' \\\n  '(--list -l)'{-l,--list}'[list patch name in commit text]' \\\n  '(--merge -m)'{-m+,--merge}'[merge from another queue]:' \\\n  '(--name -n)'{-n+,--name}'[merge queue name]:' \\\n  '(--force -f)'{-f,--force}'[apply if the patch has rejects]' \\\n  ':patch:_hg_qunapplied'\n}\n\n_hg_cmd_qrefresh() {\n  _arguments -s -w : $_hg_global_opts $_hg_pat_opts $_hg_commit_opts \\\n  '(--git -g)'{-g,--git}'[use git extended diff format]' \\\n  '(--short -s)'{-s,--short}'[short refresh]' \\\n  '*:files:_hg_files'\n}\n\n_hg_cmd_qrename() {\n  _arguments -s -w : $_hg_global_opts \\\n  ':patch:_hg_qseries' \\\n  ':destination:'\n}\n\n_hg_cmd_qselect() {\n  _arguments -s -w : $_hg_global_opts \\\n  '(--none -n :)'{-n,--none}'[disable all guards]' \\\n  '(--series -s :)'{-s,--series}'[list all guards in series file]' \\\n  '--pop[pop to before first guarded applied patch]' \\\n  '--reapply[pop and reapply patches]' \\\n  '*:guards:_hg_qguards'\n}\n\n_hg_cmd_qseries() {\n  _arguments -s -w : $_hg_global_opts $_hg_qseries_opts \\\n  '(--missing -m)'{-m,--missing}'[print patches not in series]'\n}\n\n_hg_cmd_qunapplied() {\n  _arguments -s -w : $_hg_global_opts $_hg_qseries_opts\n}\n\n_hg_cmd_qtop() {\n  _arguments -s -w : $_hg_global_opts $_hg_qseries_opts\n}\n\n_hg_cmd_strip() {\n  _arguments -s -w : $_hg_global_opts \\\n  '(--force -f)'{-f,--force}'[force multi-head removal]' \\\n  '(--backup -b)'{-b,--backup}'[bundle unrelated changesets]' \\\n  '(--nobackup -n)'{-n,--nobackup}'[no backups]' \\\n  ':revision:_hg_tags'\n}\n\n_hg \"$@\"\n"
  },
  {
    "path": "lib/aliases.zsh",
    "content": "# Push and pop directories on directory stack\nalias pu='pushd'\nalias po='popd'\n\n# Basic directory operations\nalias ...='cd ../..'\nalias -- -='cd -'\n\n# Super user\nalias _='sudo'\n\n#alias g='grep -in'\n\n# Show history\nalias history='fc -l 1'\n\n# List direcory contents\nalias lsa='ls -lah'\nalias l='ls -la'\nalias ll='ls -l'\nalias sl=ls # often screw this up\n\nalias afind='ack-grep -il'\n\n"
  },
  {
    "path": "lib/completion.zsh",
    "content": "# fixme - the load process here seems a bit bizarre\n\nunsetopt noautomenu\nsetopt complete_in_word\nunsetopt always_to_end\n\nWORDCHARS=''\n\nzmodload -i zsh/complist\n\n# case-insensitive (all), partial-word and then substring completion\nif [ \"x$CASE_SENSITIVE\" = \"xtrue\" ]; then\n  zstyle ':completion:*' matcher-list 'r:|[._-]=* r:|=*' 'l:|=* r:|=*'\n  unset CASE_SENSITIVE\nelse\n  zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=*' 'l:|=* r:|=*'\nfi\n\nzstyle ':completion:*' list-colors ''\n\n# should this be in keybindings?\nbindkey -M menuselect '^o' accept-and-infer-next-history\n\nzstyle ':completion:*:*:*:*:*' menu select\nzstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#) ([0-9a-z-]#)*=01;34=0=01'\nzstyle ':completion:*:*:*:*:processes' command \"ps -u `whoami` -o pid,user,comm -w -w\"\n\n# disable named-directories autocompletion\nzstyle ':completion:*:cd:*' tag-order local-directories directory-stack path-directories\ncdpath=(.)\n\n# use /etc/hosts and known_hosts for hostname completion\n[ -r ~/.ssh/known_hosts ] && _ssh_hosts=(${${${${(f)\"$(<$HOME/.ssh/known_hosts)\"}:#[\\|]*}%%\\ *}%%,*}) || _ssh_hosts=()\n[ -r /etc/hosts ] && : ${(A)_etc_hosts:=${(s: :)${(ps:\\t:)${${(f)~~\"$(</etc/hosts)\"}%%\\#*}##[:blank:]#[^[:blank:]]#}}} || _etc_hosts=()\nhosts=(\n  \"$_ssh_hosts[@]\"\n  \"$_etc_hosts[@]\"\n  `hostname`\n  localhost\n)\nzstyle ':completion:*:hosts' hosts $hosts\n\n# Use caching so that commands like apt and dpkg complete are useable\nzstyle ':completion::complete:*' use-cache 1\nzstyle ':completion::complete:*' cache-path ~/.oh-my-zsh/cache/\n\n# Don't complete uninteresting users\nzstyle ':completion:*:*:*:users' ignored-patterns \\\n        adm amanda apache avahi beaglidx bin cacti canna clamav daemon \\\n        dbus distcache dovecot fax ftp games gdm gkrellmd gopher \\\n        hacluster haldaemon halt hsqldb ident junkbust ldap lp mail \\\n        mailman mailnull mldonkey mysql nagios \\\n        named netdump news nfsnobody nobody nscd ntp nut nx openvpn \\\n        operator pcap postfix postgres privoxy pulse pvm quagga radvd \\\n        rpc rpcuser rpm shutdown squid sshd sync uucp vcsa xfs\n\n# ... unless we really want to.\nzstyle '*' single-ignored show\n\nif [ \"$DISABLE_COMPLETION_WAITING_DOTS\" != \"true\" ]; then\n  expand-or-complete-with-dots() {\n    echo -n \"\\e[31m......\\e[0m\"\n    zle expand-or-complete\n    zle redisplay\n  }\n  zle -N expand-or-complete-with-dots\n  bindkey \"^I\" expand-or-complete-with-dots\nfi\n"
  },
  {
    "path": "lib/correction.zsh",
    "content": "setopt correct_all\n\nalias man='nocorrect man'\nalias mv='nocorrect mv'\nalias mysql='nocorrect mysql'\nalias mkdir='nocorrect mkdir'\n"
  },
  {
    "path": "lib/directories.zsh",
    "content": "# Changing/making/removing directory\nsetopt auto_name_dirs\nsetopt auto_pushd\nsetopt pushd_ignore_dups\n\nalias -- -='cd -'\nalias ..='cd ..'\nalias ...='cd ../..'\nalias ....='cd ../../..'\nalias .....='cd ../../../..'\nalias cd..='cd ..'\nalias cd...='cd ../..'\nalias cd....='cd ../../..'\nalias cd.....='cd ../../../..'\nalias cd/='cd /'\n\ncd () {\n  if   [[ \"x$*\" == \"x...\" ]]; then\n    cd ../..\n  elif [[ \"x$*\" == \"x....\" ]]; then\n    cd ../../..\n  elif [[ \"x$*\" == \"x.....\" ]]; then\n    cd ../../..\n  elif [[ \"x$*\" == \"x......\" ]]; then\n    cd ../../../..\n  else\n    builtin cd \"$@\"\n  fi\n}\n\nalias md='mkdir -p'\nalias rd=rmdir\nalias d='dirs -v'\n\n# List direcory contents\nalias l1='tree --dirsfirst -ChFL 1'\nalias l2='tree --dirsfirst -ChFL 2'\nalias l3='tree --dirsfirst -ChFL 3'\n\nalias ll1='tree --dirsfirst -ChFupDaL 1'\nalias ll2='tree --dirsfirst -ChFupDaL 2'\nalias ll3='tree --dirsfirst -ChFupDaL 3'\n\nalias l='l1'\nalias ll='ll1'\n\n# mkdir & cd to it\nfunction mcd() { \n  mkdir -p \"$1\" && cd \"$1\"; \n}\n"
  },
  {
    "path": "lib/django.zsh",
    "content": "alias pm='python manage.py'\nalias pmr='python manage.py runserver'\nalias pmrp='python manage.py runserver_plus'\nalias pmrpg='pmrp --adminmedia=`pwd`/static/admin'\nalias pmsdb='python manage.py syncdb'\nalias pms='python manage.py shell'\nalias pmsp='python manage.py shell_plus'\nalias pmlf='python manage.py loaddata fixtures/*'\nalias pmt='python -W ignore::DeprecationWarning manage.py test'\n\nalias pmdm='python manage.py datamigration'\nalias pmsm='python manage.py schemamigration --auto'\nalias pmsi='python manage.py schemamigration --initial'\nalias pmm='python manage.py migrate'\nalias pmma='python manage.py migrate --all'\nalias pmml='python manage.py migrate --list'\nalias pmmf='python manage.py migrate --fake'\nalias pmcats='python manage.py convert_to_south'\n\nalias gs='gunicorn_django'\nalias gk='kill `cat .gunicorn.pid`'\nalias gl='tail -f .gunicorn.log'\n\nfunction djapp() {\n    mkdir -p $1/templates/$1\n    touch $1/__init__.py\n    echo \"from django.db import models\\n\\n\" > $1/models.py\n    echo \"from django.contrib import admin\\nfrom $1.models import *\\n\\n\" > $1/admin.py\n    echo \"from django.conf.urls.defaults import *\\n\\n\" > $1/urls.py\n}\n"
  },
  {
    "path": "lib/edit-command-line.zsh",
    "content": "autoload -U edit-command-line\nzle -N edit-command-line\nbindkey '\\C-x\\C-e' edit-command-line\n"
  },
  {
    "path": "lib/functions.zsh",
    "content": "function zsh_stats() {\n  history | awk '{print $2}' | sort | uniq -c | sort -rn | head\n}\n\nfunction uninstall_oh_my_zsh() {\n  /bin/sh $ZSH/tools/uninstall.sh\n}\n\nfunction upgrade_oh_my_zsh() {\n  /bin/sh $ZSH/tools/upgrade.sh\n}\n\nfunction extract() {\n    unset REMOVE_ARCHIVE\n    \n    if test \"$1\" = \"-r\"; then\n        REMOVE=1\n        shift\n    fi\n  if [[ -f $1 ]]; then\n    case $1 in\n      *.tar.bz2) tar xvjf $1;;\n      *.tar.gz) tar xvzf $1;;\n      *.tar.xz) tar xvJf $1;;\n      *.tar.lzma) tar --lzma -xvf $1;;\n      *.bz2) bunzip $1;;\n      *.rar) unrar x $1;;\n      *.gz) gunzip $1;;\n      *.tar) tar xvf $1;;\n      *.tbz2) tar xvjf $1;;\n      *.tgz) tar xvzf $1;;\n      *.zip) unzip $1;;\n      *.Z) uncompress $1;;\n      *.7z) 7z x $1;;\n      *) echo \"'$1' cannot be extracted via >extract<\";;\n    esac\n\n    if [[ $REMOVE_ARCHIVE -eq 1 ]]; then\n        echo removing \"$1\";\n        /bin/rm \"$1\";\n    fi\n\n  else\n    echo \"'$1' is not a valid file\"\n  fi\n}\n\n\n"
  },
  {
    "path": "lib/git.zsh",
    "content": "# get the name of the branch we are on\nfunction git_prompt_info() {\n  ref=$(git symbolic-ref HEAD 2> /dev/null) || return\n  echo \"$ZSH_THEME_GIT_PROMPT_PREFIX${ref#refs/heads/}$(parse_git_dirty)$ZSH_THEME_GIT_PROMPT_SUFFIX\"\n}\n\nparse_git_dirty () {\n  gitstat=$(git status 2>/dev/null | grep '\\(# Untracked\\|# Changes\\|# Changed but not updated:\\)')\n\n  if [[ $(echo ${gitstat} | grep -c \"^# Changes to be committed:$\") > 0 ]]; then\n\techo -n \"$ZSH_THEME_GIT_PROMPT_DIRTY\"\n  fi\n\n  if [[ $(echo ${gitstat} | grep -c \"^\\(# Untracked files:\\|# Changed but not updated:\\|# Changes not staged for commit:\\)$\") > 0 ]]; then\n\techo -n \"$ZSH_THEME_GIT_PROMPT_UNTRACKED\"\n  fi \n\n  if [[ $(echo ${gitstat} | grep -v '^$' | wc -l | tr -d ' ') == 0 ]]; then\n\techo -n \"$ZSH_THEME_GIT_PROMPT_CLEAN\"\n  fi\n}\n\n# Checks if there are commits ahead from remote\nfunction git_prompt_ahead() {\n  if $(echo \"$(git log origin/$(current_branch)..HEAD 2> /dev/null)\" | grep '^commit' &> /dev/null); then\n    echo \"$ZSH_THEME_GIT_PROMPT_AHEAD\"\n  fi\n}\n\n#\n# Will return the current branch name\n# Usage example: git pull origin $(current_branch)\n#\nfunction current_branch() {\n  ref=$(git symbolic-ref HEAD 2> /dev/null) || return\n  echo ${ref#refs/heads/}\n}\n\n# Formats prompt string for current git commit short SHA\nfunction git_prompt_short_sha() {\n  SHA=$(git rev-parse --short HEAD 2> /dev/null) && echo \"$ZSH_THEME_GIT_PROMPT_SHA_BEFORE$SHA$ZSH_THEME_GIT_PROMPT_SHA_AFTER\"\n}\n\n# Formats prompt string for current git commit long SHA\nfunction git_prompt_long_sha() {\n  SHA=$(git rev-parse HEAD 2> /dev/null) && echo \"$ZSH_THEME_GIT_PROMPT_SHA_BEFORE$SHA$ZSH_THEME_GIT_PROMPT_SHA_AFTER\"\n}\n\n# Get the status of the working tree\ngit_prompt_status() {\n  INDEX=$(git status --porcelain 2> /dev/null)\n  STATUS=\"\"\n  if $(echo \"$INDEX\" | grep '^?? ' &> /dev/null); then\n    STATUS=\"$ZSH_THEME_GIT_PROMPT_UNTRACKED$STATUS\"\n  fi\n  if $(echo \"$INDEX\" | grep '^A  ' &> /dev/null); then\n    STATUS=\"$ZSH_THEME_GIT_PROMPT_ADDED$STATUS\"\n  elif $(echo \"$INDEX\" | grep '^M  ' &> /dev/null); then\n    STATUS=\"$ZSH_THEME_GIT_PROMPT_ADDED$STATUS\"\n  fi\n  if $(echo \"$INDEX\" | grep '^ M ' &> /dev/null); then\n    STATUS=\"$ZSH_THEME_GIT_PROMPT_MODIFIED$STATUS\"\n  elif $(echo \"$INDEX\" | grep '^AM ' &> /dev/null); then\n    STATUS=\"$ZSH_THEME_GIT_PROMPT_MODIFIED$STATUS\"\n  elif $(echo \"$INDEX\" | grep '^ T ' &> /dev/null); then\n    STATUS=\"$ZSH_THEME_GIT_PROMPT_MODIFIED$STATUS\"\n  fi\n  if $(echo \"$INDEX\" | grep '^R  ' &> /dev/null); then\n    STATUS=\"$ZSH_THEME_GIT_PROMPT_RENAMED$STATUS\"\n  fi\n  if $(echo \"$INDEX\" | grep '^ D ' &> /dev/null); then\n    STATUS=\"$ZSH_THEME_GIT_PROMPT_DELETED$STATUS\"\n  elif $(echo \"$INDEX\" | grep '^AD ' &> /dev/null); then\n    STATUS=\"$ZSH_THEME_GIT_PROMPT_DELETED$STATUS\"\n  fi\n  if $(echo \"$INDEX\" | grep '^UU ' &> /dev/null); then\n    STATUS=\"$ZSH_THEME_GIT_PROMPT_UNMERGED$STATUS\"\n  fi\n  echo $STATUS\n}\n"
  },
  {
    "path": "lib/history.zsh",
    "content": "## Command history configuration\nHISTFILE=$HOME/.zsh_history\nHISTSIZE=10000\nSAVEHIST=10000\n\nsetopt hist_ignore_dups # ignore duplication command history list\nsetopt share_history # share command history data\n\nsetopt hist_verify\nsetopt inc_append_history\nsetopt extended_history\nsetopt hist_expire_dups_first\nsetopt hist_ignore_space\n\nsetopt SHARE_HISTORY\nsetopt APPEND_HISTORY\n"
  },
  {
    "path": "lib/key-bindings.zsh",
    "content": "# TODO: Explain what some of this does..\n\nbindkey -e\nbindkey '\\ew' kill-region\nbindkey -s '\\el' \"ls\\n\"\nbindkey -s '\\e.' \"..\\n\"\nbindkey '^r' history-incremental-search-backward\nbindkey \"^[[5~\" up-line-or-history\nbindkey \"^[[6~\" down-line-or-history\n\n# make search up and down work, so partially type and hit up/down to find relevant stuff\nbindkey '^[[A' up-line-or-search\nbindkey '^[[B' down-line-or-search\nbindkey '^p' up-line-or-search\nbindkey '^n' down-line-or-search\n\nbindkey \"^[[H\" beginning-of-line\nbindkey \"^[[1~\" beginning-of-line\nbindkey \"^[[F\"  end-of-line\nbindkey \"^[[4~\" end-of-line\nbindkey ' ' magic-space    # also do history expansion on space\n\nbindkey '^[[Z' reverse-menu-complete\n\n# Make the delete key (or Fn + Delete on the Mac) work instead of outputting a ~\nbindkey '^?' backward-delete-char\nbindkey \"^[[3~\" delete-char\nbindkey \"^[3;5~\" delete-char\nbindkey \"\\e[3~\" delete-char\n\n## Fix weird sequence that rxvt produces\n#bindkey -s '^[[Z' '\\t'\n#\n"
  },
  {
    "path": "lib/misc.zsh",
    "content": "## smart urls\nautoload -U url-quote-magic\nzle -N self-insert url-quote-magic\n\n## file rename magick\nautoload -U zmv\nbindkey \"^[m\" copy-prev-shell-word\n\n## jobs\nsetopt long_list_jobs\n\n## pager\nexport PAGER='less -R'\nexport LC_CTYPE=$LANG\n\n## pretty man pages\nfunction pman() {\n    man $1 -t | open -f -a Preview\n}\n#\n## pretty JSON\nfunction pj() {\n    python -mjson.tool\n}\n\n## Open current directory\nalias oo='open .'\n\n## Quick-look a file (^C to close)\nalias ql='qlmanage -p 2>/dev/null'\n\n## Start a local SMTP server and dump emails sent to it to the console\nalias smtpconsole='python -m smtpd -n -c DebuggingServer localhost:1025'\n\n## Serve the current folder on port 80\nalias serve_this='python -m SimpleHTTPServer'\n\n## Highlight-aware less command\nalias hl='less -R'\n\n## Show history\nalias history='fc -l 1'\n\n## Color grep results\n## Examples: http://rubyurl.com/ZXv\nexport GREP_OPTIONS='--color=auto'\nexport GREP_COLOR='1;32'\n\n# Quick and dirty encryption\nfunction encrypt() {\n    openssl des3 -a -in $1 -out $1.des3\n}\nfunction decrypt() {\n    openssl des3 -d -a -in $1 -out ${1%.des3}\n}\n"
  },
  {
    "path": "lib/python.zsh",
    "content": "function wo() {\n    [ \"$VEW_SOURCED\" ] || source \"$VEW_PATH\"\n    [ -f './.venv' ] && workon `cat ./.venv` || workon $1\n    export VEW_SOURCED=1\n}\nalias deact='deactivate'\nalias cdv='cd $WORKON_HOME'\n\nfunction cdp () {\n  cd \"$(python -c \"import os.path as _, ${1}; \\\n    print _.dirname(_.realpath(${1}.__file__[:-1]))\"\n  )\"\n}\n"
  },
  {
    "path": "lib/redis.zsh",
    "content": "alias res='./redis-server'\nalias rec='./redis-cli'\n"
  },
  {
    "path": "lib/spectrum.zsh",
    "content": "#! /bin/zsh\n# A script to make using 256 colors in zsh less painful.\n# P.C. Shyamshankar <sykora@lucentbeing.com>\n# Copied from http://github.com/sykora/etc/blob/master/zsh/functions/spectrum/\n\ntypeset -Ag FX FG BG\n\nFX=(\n    reset     \"%{\u001b[00m%}\"\n    bold      \"%{\u001b[01m%}\" no-bold      \"%{\u001b[22m%}\"\n    italic    \"%{\u001b[03m%}\" no-italic    \"%{\u001b[23m%}\"\n    underline \"%{\u001b[04m%}\" no-underline \"%{\u001b[24m%}\"\n    blink     \"%{\u001b[05m%}\" no-blink     \"%{\u001b[25m%}\"\n    reverse   \"%{\u001b[07m%}\" no-reverse   \"%{\u001b[27m%}\"\n)\n\nfor color in {000..255}; do\n    FG[$color]=\"%{\u001b[38;5;${color}m%}\"\n    BG[$color]=\"%{\u001b[48;5;${color}m%}\"\ndone\n\n# Show all 256 colors with color number\nfunction spectrum_ls() {\n  for code in {000..255}; do\n    print -P -- \"$code: %F{$code}Test%f\"\n  done\n}\n\n"
  },
  {
    "path": "lib/supervisord.zsh",
    "content": "alias ssd='sudo supervisord'\nalias ssc='sudo supervisorctl'"
  },
  {
    "path": "lib/termsupport.zsh",
    "content": "#usage: title short_tab_title looooooooooooooooooooooggggggg_windows_title\n#http://www.faqs.org/docs/Linux-mini/Xterm-Title.html#ss3.1\n#Fully support screen, iterm, and probably most modern xterm and rxvt\n#Limited support for Apple Terminal (Terminal can't set window or tab separately)\nfunction title {\n  [ \"$DISABLE_AUTO_TITLE\" != \"true\" ] || return\n  if [[ \"$TERM\" == screen* ]]; then \n    print -Pn \"\\ek$1:q\\e\\\\\" #set screen hardstatus, usually truncated at 20 chars\n  elif [[ \"$TERM\" == xterm* ]] || [[ $TERM == rxvt* ]] || [[ \"$TERM_PROGRAM\" == \"iTerm.app\" ]]; then\n    print -Pn \"\\e]2;$2:q\\a\" #set window name\n    print -Pn \"\\e]1;$1:q\\a\" #set icon (=tab) name (will override window name on broken terminal)\n  fi\n}\n\nZSH_THEME_TERM_TAB_TITLE_IDLE=\"%15<..<%~%<<\" #15 char left truncated PWD\nZSH_THEME_TERM_TITLE_IDLE=\"%n@%m: %~\"\n\n#Appears when you have the prompt\nfunction precmd {\n  title $ZSH_THEME_TERM_TAB_TITLE_IDLE $ZSH_THEME_TERM_TITLE_IDLE\n}\n\n#Appears at the beginning of (and during) of command execution\nfunction preexec {\n  emulate -L zsh\n  setopt extended_glob\n  local CMD=${1[(wr)^(*=*|sudo|ssh|-*)]} #cmd name only, or if this is sudo or ssh, the next cmd\n  title \"$CMD\" \"%100>...>$2%<<\"\n}\n"
  },
  {
    "path": "lib/theme-and-appearance.zsh",
    "content": "# ls colors\nautoload colors; colors;\nexport LSCOLORS=\"Gxfxcxdxbxegedabagacad\"\n\n# Enable ls colors\nif [ \"$DISABLE_LS_COLORS\" != \"true\" ]\nthen\n  # Find the option for using colors in ls, depending on the version: Linux or BSD\n  ls --color -d . &>/dev/null 2>&1 && alias ls='ls --color=tty' || alias ls='ls -G'\nfi\n\n#setopt no_beep\nsetopt auto_cd\nsetopt multios\nsetopt cdablevarS\n\nif [[ x$WINDOW != x ]]\nthen\n    SCREEN_NO=\"%B$WINDOW%b \"\nelse\n    SCREEN_NO=\"\"\nfi\n\n# Apply theming defaults\nPS1=\"%n@%m:%~%# \"\n\n# git theming default: Variables for theming the git info prompt\nZSH_THEME_GIT_PROMPT_PREFIX=\"git:(\"         # Prefix at the very beginning of the prompt, before the branch name\nZSH_THEME_GIT_PROMPT_SUFFIX=\")\"             # At the very end of the prompt\nZSH_THEME_GIT_PROMPT_DIRTY=\"*\"              # Text to display if the branch is dirty\nZSH_THEME_GIT_PROMPT_CLEAN=\"\"               # Text to display if the branch is clean\n\n# Setup the prompt with pretty colors\nsetopt prompt_subst\n\n"
  },
  {
    "path": "log/.easter-egg",
    "content": "This file is only here so that Git will keep a log directory as .gitignore is ignoring all the log files within it.\n\nfeel free to add love notes for people here.\n\n"
  },
  {
    "path": "oh-my-zsh.sh",
    "content": "# Check for updates on initial load...\nif [ \"$DISABLE_AUTO_UPDATE\" != \"true\" ]\nthen\n  /usr/bin/env zsh $ZSH/tools/check_for_upgrade.sh\nfi\n\n# Initializes Oh My Zsh\n\n# add a function path\nfpath=($ZSH/functions $ZSH/completions $fpath)\n\n# Load all of the config files in ~/oh-my-zsh that end in .zsh\n# TIP: Add files you don't want in git to .gitignore\nfor config_file ($ZSH/lib/*.zsh) source $config_file\n\n# Add all defined plugins to fpath\nplugin=${plugin:=()}\nfor plugin ($plugins) fpath=($ZSH/plugins/$plugin $fpath)\n\n# Load and run compinit\nautoload -U compinit\ncompinit -i\n\n# Load all of the plugins that were defined in ~/.zshrc\nfor plugin ($plugins); do\n  if [ -f $ZSH/custom/plugins/$plugin/$plugin.plugin.zsh ]; then\n    source $ZSH/custom/plugins/$plugin/$plugin.plugin.zsh\n  elif [ -f $ZSH/plugins/$plugin/$plugin.plugin.zsh ]; then\n    source $ZSH/plugins/$plugin/$plugin.plugin.zsh\n  fi\ndone\n\n# Load all of your custom configurations from custom/\nif [ -d \"$ZSH/custom\" ]; then\n  for config_file ($ZSH/custom/*.zsh) source $config_file\nfi\n\n# Load the theme\nif [ \"$ZSH_THEME\" = \"random\" ]\nthen\n  themes=($ZSH/themes/*zsh-theme)\n  N=${#themes[@]}\n  ((N=(RANDOM%N)+1))\n  RANDOM_THEME=${themes[$N]}\n  source \"$RANDOM_THEME\"\n  echo \"[oh-my-zsh] Random theme '$RANDOM_THEME' loaded...\"\nelse\n  if [ ! \"$ZSH_THEME\" = \"\"  ]\n  then\n    source \"$ZSH/themes/$ZSH_THEME.zsh-theme\"\n  fi\nfi\n\n"
  },
  {
    "path": "plugins/ant/ant.plugin.zsh",
    "content": "stat -f%m . > /dev/null 2>&1\nif [ \"$?\" = 0 ]; then\n\tstat_cmd=(stat -f%m)\nelse\n\tstat_cmd=(stat -L --format=%Y)\nfi\n\n_ant_does_target_list_need_generating () {\n  if [ ! -f .ant_targets ]; then return 0;\n  else\n    accurate=$($stat_cmd .ant_targets)\n    changed=$($stat_cmd build.xml)\n    return $(expr $accurate '>=' $changed)\n  fi\n}\n\n_ant () {\n  if [ -f build.xml ]; then\n    if _ant_does_target_list_need_generating; then\n     sed -n '/<target/s/<target.*name=\"\\([^\"]*\\).*$/\\1/p' build.xml > .ant_targets\n    fi\n    compadd `cat .ant_targets`\n  fi\n}\n\ncompdef _ant ant\n"
  },
  {
    "path": "plugins/apache2-macports/apache2-macports.plugin.zsh",
    "content": "# commands to control local apache2 server installation\n# paths are for osx installation via macports\n\nalias apache2start='sudo /opt/local/etc/LaunchDaemons/org.macports.apache2/apache2.wrapper start'\nalias apache2stop='sudo /opt/local/etc/LaunchDaemons/org.macports.apache2/apache2.wrapper stop'\nalias apache2restart='sudo /opt/local/etc/LaunchDaemons/org.macports.apache2/apache2.wrapper restart'\n"
  },
  {
    "path": "plugins/archlinux/archlinux.plugin.zsh",
    "content": "# Archlinux zsh aliases and functions\n# Usage is also described at https://github.com/robbyrussell/oh-my-zsh/wiki/Plugins\n\n# Look for yaourt, and add some useful functions if we have it.\nif [[ -x `which yaourt` ]]; then\n  upgrade () {\n    yaourt -Syu\n  }\n  alias yaconf='yaourt -C'        # Fix all configuration files with vimdiff\n  # Pacman - https://wiki.archlinux.org/index.php/Pacman_Tips\n  alias yaupg='yaourt -Syu'        # Synchronize with repositories before upgrading packages that are out of date on the local system.\n  alias yain='yaourt -S'           # Install specific package(s) from the repositories\n  alias yains='yaourt -U'          # Install specific package not from the repositories but from a file \n  alias yare='yaourt -R'           # Remove the specified package(s), retaining its configuration(s) and required dependencies\n  alias yarem='yaourt -Rns'        # Remove the specified package(s), its configuration(s) and unneeded dependencies\n  alias yarep='yaourt -Si'         # Display information about a given package in the repositories\n  alias yareps='yaourt -Ss'        # Search for package(s) in the repositories\n  alias yaloc='yaourt -Qi'         # Display information about a given package in the local database\n  alias yalocs='yaourt -Qs'        # Search for package(s) in the local database\n  # Additional yaourt alias examples\n  if [[ -x `which abs` ]]; then\n    alias yaupd='yaourt -Sy && sudo abs'   # Update and refresh the local package and ABS databases against repositories\n  else\n    alias yaupd='yaourt -Sy'               # Update and refresh the local package and ABS databases against repositories\n  fi\n  alias yainsd='yaourt -S --asdeps'        # Install given package(s) as dependencies of another package\n  alias yamir='yaourt -Syy'                # Force refresh of all package lists after updating /etc/pacman.d/mirrorlist\nelse\n upgrade() {\n   sudo pacman -Syu\n }\nfi\n\n# Pacman - https://wiki.archlinux.org/index.php/Pacman_Tips\nalias pacupg='sudo pacman -Syu'        # Synchronize with repositories before upgrading packages that are out of date on the local system.\nalias pacin='sudo pacman -S'           # Install specific package(s) from the repositories\nalias pacins='sudo pacman -U'          # Install specific package not from the repositories but from a file \nalias pacre='sudo pacman -R'           # Remove the specified package(s), retaining its configuration(s) and required dependencies\nalias pacrem='sudo pacman -Rns'        # Remove the specified package(s), its configuration(s) and unneeded dependencies\nalias pacrep='pacman -Si'              # Display information about a given package in the repositories\nalias pacreps='pacman -Ss'             # Search for package(s) in the repositories\nalias pacloc='pacman -Qi'              # Display information about a given package in the local database\nalias paclocs='pacman -Qs'             # Search for package(s) in the local database\n# Additional pacman alias examples\nif [[ -x `which abs` ]]; then\n  alias pacupd='sudo pacman -Sy && sudo abs'     # Update and refresh the local package and ABS databases against repositories\nelse\n  alias pacupd='sudo pacman -Sy'     # Update and refresh the local package and ABS databases against repositories\nfi\nalias pacinsd='sudo pacman -S --asdeps'        # Install given package(s) as dependencies of another package\nalias pacmir='sudo pacman -Syy'                # Force refresh of all package lists after updating /etc/pacman.d/mirrorlist\n\n# https://bbs.archlinux.org/viewtopic.php?id=93683\npaclist() {\n  sudo pacman -Qei $(pacman -Qu|cut -d\" \" -f 1)|awk ' BEGIN {FS=\":\"}/^Name/{printf(\"\\033[1;36m%s\\033[1;37m\", $2)}/^Description/{print $2}'\n}\n\nalias paclsorphans='sudo pacman -Qdt'\nalias pacrmorphans='sudo pacman -Rs $(pacman -Qtdq)'\n\npacdisowned() {\n  tmp=${TMPDIR-/tmp}/pacman-disowned-$UID-$$\n  db=$tmp/db\n  fs=$tmp/fs\n\n  mkdir \"$tmp\"\n  trap  'rm -rf \"$tmp\"' EXIT\n\n  pacman -Qlq | sort -u > \"$db\"\n\n  find /bin /etc /lib /sbin /usr \\\n      ! -name lost+found \\\n        \\( -type d -printf '%p/\\n' -o -print \\) | sort > \"$fs\"\n\n  comm -23 \"$fs\" \"$db\"\n}\n"
  },
  {
    "path": "plugins/autojump/autojump.plugin.zsh",
    "content": "if [ -f `brew --prefix`/etc/autojump ]; then\n  . `brew --prefix`/etc/autojump\nfi\n"
  },
  {
    "path": "plugins/brew/_brew",
    "content": "#compdef brew\n#autoload\n\n# imported from the latest homebrew contributions\n\n_brew_all_formulae() {\n  formulae=(`brew search`)\n}\n\n_brew_installed_formulae() {\n  installed_formulae=(`brew list`)\n}\n\nlocal -a _1st_arguments\n_1st_arguments=(\n  'cat:display formula file for a formula'\n  'cleanup:uninstall unused and old versions of packages'\n  'create:create a new formula'\n  'deps:list dependencies and dependants of a formula'\n  'doctor:audits your installation for common issues'\n  'edit:edit a formula'\n  'home:visit the homepage of a formula or the brew project'\n  'info:information about a formula'\n  'install:install a formula'\n  'link:link a formula'\n  'list:list files in a formula or not-installed formulae'\n  'log:git commit log for a formula'\n  'missing:check all installed formuale for missing dependencies.'\n  'outdated:list formulas for which a newer version is available'\n  'prune:remove dead links'\n  'remove:remove a formula'\n  'search:search for a formula (/regex/ or string)'\n  'server:start a local web app that lets you browse formulae (requires Sinatra)'\n  'unlink:unlink a formula'\n  'update:freshen up links'\n  'upgrade:upgrade outdated formulae'\n  'uses:show formulas which depend on a formula'\n)\n\nlocal expl\nlocal -a formulae installed_formulae\n\n_arguments \\\n  '(-v)-v[verbose]' \\\n  '(--cellar)--cellar[brew cellar]' \\\n  '(--config)--config[brew configuration]' \\\n  '(--env)--env[brew environment]' \\\n  '(--repository)--repository[brew repository]' \\\n  '(--version)--version[version information]' \\\n  '(--prefix)--prefix[where brew lives on this system]' \\\n  '(--cache)--cache[brew cache]' \\\n  '*:: :->subcmds' && return 0\n\nif (( CURRENT == 1 )); then\n  _describe -t commands \"brew subcommand\" _1st_arguments\n  return\nfi\n\ncase \"$words[1]\" in\n  search|-S)\n    _arguments \\\n      '(--macports)--macports[search the macports repository]' \\\n      '(--fink)--fink[search the fink repository]' ;;\n  list|ls)\n    _arguments \\\n      '(--unbrewed)--unbrewed[files in brew --prefix not controlled by brew]' \\\n      '(--versions)--versions[list all installed versions of a formula]' \\\n      '1: :->forms' &&  return 0\n\n      if [[ \"$state\" == forms ]]; then\n        _brew_installed_formulae\n        _wanted installed_formulae expl 'installed formulae' compadd -a installed_formulae\n      fi ;;\n  install|home|homepage|log|info|abv|uses|cat|deps|edit|options)\n    _brew_all_formulae\n    _wanted formulae expl 'all formulae' compadd -a formulae ;;\n  remove|rm|uninstall|unlink|cleanup|link|ln)\n    _brew_installed_formulae\n    _wanted installed_formulae expl 'installed formulae' compadd -a installed_formulae ;;\nesac\n"
  },
  {
    "path": "plugins/brew/brew.plugin.zsh",
    "content": "alias brews='brew list -1'\n"
  },
  {
    "path": "plugins/bundler/bundler.plugin.zsh",
    "content": "alias be=\"bundle exec\"\nalias bi=\"bundle install\"\nalias bl=\"bundle list\"\nalias bu=\"bundle update\"\nalias bp=\"bundle package\"\n\n# The following is based on https://github.com/gma/bundler-exec\n\nbundled_commands=(cap capify cucumber guard heroku rackup rails rake rspec ruby shotgun spec spork thin unicorn unicorn_rails)\n\n## Functions\n\n_bundler-installed() {\n  which bundle > /dev/null 2>&1\n}\n\n_within-bundled-project() {\n  local check_dir=$PWD\n  while [ \"$(dirname $check_dir)\" != \"/\" ]; do\n    [ -f \"$check_dir/Gemfile\" ] && return\n    check_dir=\"$(dirname $check_dir)\"\n  done\n  false\n}\n\n_run-with-bundler() {\n  if _bundler-installed && _within-bundled-project; then\n    bundle exec $@\n  else\n    $@\n  fi\n}\n\n## Main program\nfor cmd in $bundled_commands; do\n  alias $cmd=\"_run-with-bundler $cmd\"\ndone\n"
  },
  {
    "path": "plugins/cake/cake.plugin.zsh",
    "content": "# Set this to 1 if you want to cache the tasks\ncache_task_list=1\n\n# Cache filename\ncache_file='.cake_task_cache'\n\n_cake_does_target_list_need_generating () {\n\n\tif [ $cache_task_list -eq 0 ]; then\n\t\treturn 1;\n\tfi\n\n\tif [ ! -f $cache_file ]; then return 0;\n\telse\n\t\taccurate=$(stat -f%m $cache_file)\n\t\tchanged=$(stat -f%m Cakefile)\n\t\treturn $(expr $accurate '>=' $changed)\n\tfi\n}\n\n_cake () {\n\tif [ -f Cakefile ]; then\n\t\tif _cake_does_target_list_need_generating; then\n\t\t\tcake | sed -e \"s/cake \\([^ ]*\\) .*/\\1/\" | grep -v '^$' > $cache_file\n\t\t\tcompadd `cat $cache_file`\n\t\telse\n\t\t\tcompadd `cake | sed -e \"s/cake \\([^ ]*\\) .*/\\1/\" | grep -v '^$'`\n\t\tfi\n\tfi\n}\n\ncompdef _cake cake\n"
  },
  {
    "path": "plugins/cap/cap.plugin.zsh",
    "content": "function _cap_does_task_list_need_generating () {\n  if [ ! -f .cap_tasks~ ]; then return 0;\n  else\n    accurate=$(stat -f%m .cap_tasks~)\n    changed=$(stat -f%m config/deploy.rb)\n    return $(expr $accurate '>=' $changed)\n  fi\n}\n\nfunction _cap () {\n  if [ -f config/deploy.rb ]; then\n    if _cap_does_task_list_need_generating; then\n      echo \"\\nGenerating .cap_tasks~...\" > /dev/stderr\n      cap show_tasks -q | cut -d \" \" -f 1 | sed -e '/^ *$/D' -e '1,2D'\n> .cap_tasks~\n    fi\n    compadd `cat .cap_tasks~`\n  fi\n}\n\ncompctl -K _cap cap\n"
  },
  {
    "path": "plugins/cloudapp/cloudapp.plugin.zsh",
    "content": "#!/bin/zsh\nalias cloudapp=$ZSH/plugins/cloudapp/cloudapp.rb\n"
  },
  {
    "path": "plugins/cloudapp/cloudapp.rb",
    "content": "#!/usr/bin/env ruby\n#\n# cloudapp\n# Zach Holman / @holman\n#\n# Uploads a file from the command line to CloudApp, drops it into your \n# clipboard (on a Mac, at least).\n#\n# Example:\n#\n#   cloudapp drunk-blake.png\n#\n# This requires Aaron Russell's cloudapp_api gem:\n#\n#   gem install cloudapp_api\n#\n# Requires you set your CloudApp credentials in ~/.cloudapp as a simple file of:\n#\n#   email\n#   password\n\nrequire 'rubygems'\nbegin\n  require 'cloudapp_api'\nrescue LoadError\n  puts \"You need to install cloudapp_api: gem install cloudapp_api\"\n  exit!(1)\nend\n\nconfig_file = \"#{ENV['HOME']}/.cloudapp\"\nunless File.exist?(config_file)\n  puts \"You need to type your email and password (one per line) into \"+\n       \"`~/.cloudapp`\"\n  exit!(1)\nend\n\nemail,password = File.read(config_file).split(\"\\n\")\n\nclass HTTParty::Response\n  # Apparently HTTPOK.ok? IS NOT OKAY WTFFFFFFFFFFUUUUUUUUUUUUUU\n  # LETS MONKEY PATCH IT I FEEL OKAY ABOUT IT\n  def ok? ; true end\nend\n\nif ARGV[0].nil?\n   puts \"You need to specify a file to upload.\"\n   exit!(1)\nend\n\nCloudApp.authenticate(email,password)\nurl = CloudApp::Item.create(:upload, {:file => ARGV[0]}).url\n\n# Say it for good measure.\nputs \"Uploaded to #{url}.\"\n\n# Get the embed link.\nurl = \"#{url}/#{ARGV[0].split('/').last}\"\n\n# Copy it to your (Mac's) clipboard.\n`echo '#{url}' | tr -d \"\\n\" | pbcopy`\n"
  },
  {
    "path": "plugins/command-coloring/command-coloring.plugin.zsh",
    "content": "#!/usr/bin/env zsh\n# Copyleft 2010 zsh-syntax-highlighting contributors\n# http://github.com/nicoulaj/zsh-syntax-highlighting\n# All wrongs reserved.\n\n# Token types styles.\n# See http://zsh.sourceforge.net/Doc/Release/Zsh-Line-Editor.html#SEC135\nZLE_RESERVED_WORD_STYLE='fg=yellow,bold'\nZLE_ALIAS_STYLE='fg=green,bold'\nZLE_BUILTIN_STYLE='fg=green,bold'\nZLE_FUNCTION_STYLE='fg=green,bold'\nZLE_COMMAND_STYLE='fg=green,bold'\nZLE_PATH_STYLE='fg=white,underline'\nZLE_COMMAND_UNKNOWN_TOKEN_STYLE='fg=red,bold'\n\nZLE_HYPHEN_CLI_OPTION='fg=yellow,bold'\nZLE_DOUBLE_HYPHEN_CLI_OPTION='fg=yellow,bold'\nZLE_SINGLE_QUOTED='fg=magenta,bold'\nZLE_DOUBLE_QUOTED='fg=magenta,bold'\nZLE_BACK_QUOTED='fg=cyan,bold'\nZLE_GLOBING='fg=blue,bold'\n\nZLE_DEFAULT='fg=white,normal'\n\nZLE_TOKENS_FOLLOWED_BY_COMMANDS=('|' '||' ';' '&' '&&' 'sudo' 'start' 'time' 'strace' 'noglob' 'command' 'builtin')\n\n_check_path() {\n\t[[ -z $arg ]] && return 1\n\t[[ -e $arg ]] && return 0\n\t[[ ! -e ${arg:h} ]] && return 1\n\t[[ ${#BUFFER} == $end_pos && -n $(print $arg*(N)) ]] && return 0\n\treturn 1\n}\n\n# Recolorize the current ZLE buffer.\ncolorize-zle-buffer() {\n  setopt localoptions extendedglob\n  region_highlight=()\n  colorize=true\n  start_pos=0\n  for arg in ${(z)BUFFER}; do\n    ((start_pos+=${#BUFFER[$start_pos+1,-1]}-${#${BUFFER[$start_pos+1,-1]##[[:space:]]#}}))\n    ((end_pos=$start_pos+${#arg}))\n    if $colorize; then\n      colorize=false\n      res=$(LC_ALL=C builtin type -w $arg 2>/dev/null)\n      case $res in\n\t*': reserved')  style=$ZLE_RESERVED_WORD_STYLE;;\n\t*': alias')     style=$ZLE_ALIAS_STYLE;;\n\t*': builtin')   style=$ZLE_BUILTIN_STYLE;;\n\t*': function')  style=$ZLE_FUNCTION_STYLE;;\n\t*': command')   style=$ZLE_COMMAND_STYLE;;\n\t*)\n\t  if _check_path; then\n\t    style=$ZLE_PATH_STYLE\n\t  else\n\t    style=$ZLE_COMMAND_UNKNOWN_TOKEN_STYLE\n\t  fi\n\t  ;;\n      esac\n    else\n\tcase $arg in\n\t    '--'*) style=$ZLE_DOUBLE_HYPHEN_CLI_OPTION;;\n\t    '-'*) style=$ZLE_HYPHEN_CLI_OPTION;;\n\t    \"'\"*\"'\") style=$ZLE_SINGLE_QUOTED;;\n\t    '\"'*'\"') style=$ZLE_DOUBLE_QUOTED;;\n\t    '`'*'`') style=$ZLE_BACK_QUOTED;;\n\t    *\"*\"*) style=$ZLE_GLOBING;;\n\t    *)\n\t    style=$ZLE_DEFAULT\n\t    _check_path && style=$ZLE_PATH_STYLE\n\t    ;;\n\tesac\n    fi\n    region_highlight+=(\"$start_pos $end_pos $style\")\n    [[ ${${ZLE_TOKENS_FOLLOWED_BY_COMMANDS[(r)${arg//|/\\|}]:-}:+yes} = 'yes' ]] && colorize=true\n    start_pos=$end_pos\n  done\n}\n\n# Bind the function to ZLE events.\nZLE_COLORED_FUNCTIONS=(\n    self-insert\n    delete-char\n    backward-delete-char\n    kill-word\n    backward-kill-word\n    up-line-or-history\n    down-line-or-history\n    beginning-of-history\n    end-of-history\n    undo\n    redo\n    yank\n)\n\nfor f in $ZLE_COLORED_FUNCTIONS; do\n    eval \"$f() { zle .$f && colorize-zle-buffer } ; zle -N $f\"\ndone\n\n# Expand or complete hack\n\n# create an expansion widget which mimics the original \"expand-or-complete\" (you can see the default setup using \"zle -l -L\")\nzle -C orig-expand-or-complete .expand-or-complete _main_complete\n\n# use the orig-expand-or-complete inside the colorize function (for some reason, using the \".expand-or-complete\" widget doesn't work the same)\nexpand-or-complete() { builtin zle orig-expand-or-complete && colorize-zle-buffer }\nzle -N expand-or-complete\n\n"
  },
  {
    "path": "plugins/command-not-found/command-not-found.plugin.zsh",
    "content": "# Uses the command-not-found package zsh support\n# as seen in http://www.porcheron.info/command-not-found-for-zsh/\n# this is installed in Ubuntu\n\nsource /etc/zsh_command_not_found\n"
  },
  {
    "path": "plugins/compleat/compleat.plugin.zsh",
    "content": "# ------------------------------------------------------------------------------\n#          FILE:  compleat.plugin.zsh\n#   DESCRIPTION:  oh-my-zsh plugin file.\n#        AUTHOR:  Sorin Ionescu (sorin.ionescu@gmail.com)\n#       VERSION:  1.0.0\n# ------------------------------------------------------------------------------\n\nif (( ${+commands[compleat]} )); then\n  local prefix=\"${commands[compleat]:h:h}\"\n  local setup=\"${prefix}/share/compleat-1.0/compleat_setup\" \n\n  if [[ -f \"$setup\" ]]; then\n    if ! bashcompinit >/dev/null 2>&1; then\n      autoload -U bashcompinit\n      bashcompinit -i\n    fi\n\n    source \"$setup\" \n  fi\nfi\n"
  },
  {
    "path": "plugins/cpanm/_cpanm",
    "content": "#compdef cpanm\n\n##\n# cpanminus Z Shell completion script\n##\n#\n# Current supported cpanm version: 1.4000 (Tue Mar  8 01:00:49 PST 2011)\n#\n# The latest code is always located at:\n#   https://github.com/rshhh/cpanminus/blob/master/etc/_cpanm\n#\n\nlocal arguments curcontext=\"$curcontext\"\ntypeset -A opt_args\n\n\narguments=(\n\n# Commands\n#  '(--install -i)'{--install,-i}'[Installs the modules]'\n  '(- :)--self-upgrade[Upgrades itself]'\n  '(- :)--info[Displays distribution info on CPAN]'\n  '(--installdeps)--installdeps[Only install dependencies]'\n  '(--look)--look[Download/unpack the distribution and then open the directory with your shell]'\n  '(- :)'{--help,-h}'[Displays help information]'\n  '(- :)'{--version,-V}'[Displays software version]'\n\n# Options\n  {--force,-f}'[Force install]'\n  {--notest,-n}'[Do not run unit tests]'\n  {--sudo,-S}'[sudo to run install commands]'\n  '(-v --verbose --quiet -q)'{--verbose,-v}'[Turns on chatty output]'\n  '(-q --quiet --verbose -v)'{--quiet,-q}'[Turns off all output]'\n  {--local-lib,-l}'[Specify the install base to install modules]'\n  {--local-lib-contained,-L}'[Specify the install base to install all non-core modules]'\n  '--mirror[Specify the base URL for the mirror (e.g. http://cpan.cpantesters.org/)]:URLs:_urls'\n  '--mirror-only[Use the mirror\\''s index file instead of the CPAN Meta DB]'\n  '--prompt[Prompt when configure/build/test fails]'\n  '--reinstall[Reinstall the distribution even if you already have the latest version installed]'\n  '--interactive[Turn on interactive configure]'\n\n  '--scandeps[Scan the depencencies of given modules and output the tree in a text format]'\n  '--format[Specify what format to display the scanned dependency tree]:scandeps format:(tree json yaml dists)'\n\n  '--save-dists[Specify the optional directory path to copy downloaded tarballs]'\n#  '--uninst-shadows[Uninstalls the shadow files of the distribution that you\\''re installing]'\n\n  '--auto-cleanup[Number of days that cpanm\\''s work directories expire in. Defaults to 7]'\n  '(--no-man-pages)--man-pages[Generates man pages for executables (man1) and libraries (man3)]'\n  '(--man-pages)--no-man-pages[Do not generate man pages]'\n\n\n  # Note: Normally with \"--lwp\", \"--wget\" and \"--curl\" options set to true (which is the default) cpanm tries LWP,\n  #            Wget, cURL and HTTP::Tiny (in that order) and uses the first one available.\n  # (So that the exclusions are not enabled here for the completion)\n  '(--lwp)--lwp[Use LWP module to download stuff]'\n  '(--wget)--wget[Use GNU Wget (if available) to download stuff]'\n  '(--curl)--curl[Use cURL (if available) to download stuff]'\n\n# Other completions\n  '*:Local directory or archive:_files -/ -g \"*.(tar.gz|tgz|tar.bz2|zip)(-.)\"'\n  #  '*::args: _normal' # this looks for default files (any files)\n)\n_arguments -s $arguments \\\n  && return 0\n\nreturn 1\n"
  },
  {
    "path": "plugins/deb/deb.plugin.zsh",
    "content": "# Aliases\nalias as=\"aptitude -F \\\"* %p -> %d \\n(%v/%V)\\\" \\\n\t\t--no-gui --disable-columns search\"\t# search package\nalias ad=\"sudo apt-get update\"\t\t\t\t# update packages lists\nalias au=\"sudo apt-get update && \\\n\t\tsudo apt-get dselect-upgrade\"\t\t# upgrade packages\nalias ai=\"sudo apt-get install\"\t\t\t\t# install package\nalias ar=\"sudo apt-get remove --purge && \\\n\t\tsudo apt-get autoremove --purge\"\t# remove package\nalias ap=\"apt-cache policy\"\t\t\t\t# apt policy\nalias av=\"apt-cache show\"\t\t\t\t# show package info\nalias acs=\"apt-cache search\"                            # search package\nalias ac=\"sudo apt-get clean && sudo apt-get autoclean\" # clean apt cache\n"
  },
  {
    "path": "plugins/debian/debian.plugin.zsh",
    "content": "# https://github.com/dbbolton/\n#\n# Debian-related zsh aliases and functions for zsh\n\n\n# Aliases ###################################################################\n\n# Some self-explanatory aliases\nalias afs='apt-file search --regexp'\nalias aps='aptitude search'\nalias apsrc='apt-get source'\nalias apv='apt-cache policy'\n\nalias apdg='su -c \"aptitude update && aptitude safe-upgrade\"'\nalias apud='su -c \"aptitude update\"'\nalias apug='su -c \"aptitude safe-upgrade\"'\n\n# print all installed packages\nalias allpkgs='aptitude search -F \"%p\" --disable-columns ~i'\n\n# Install all .deb files in the current directory.\n# Warning: you will need to put the glob in single quotes if you use:\n# glob_subst\nalias di='su -c \"dpkg -i ./*.deb\"'\n\n# Create a basic .deb package\nalias mydeb='time dpkg-buildpackage -rfakeroot -us -uc'\n\n# Remove ALL kernel images and headers EXCEPT the one in use\nalias kclean='su -c '\\''aptitude remove -P ?and(~i~nlinux-(ima|hea) ?not(~n`uname -r`))'\\'' root'\n\n\n\n# Functions #################################################################\n\n# create a simple script that can be used to 'duplicate' a system\napt-copy() {\n\tprint '#!/bin/sh'\"\\n\" > apt-copy.sh\n\n\tlist=$(perl -m'AptPkg::Cache' -e '$c=AptPkg::Cache->new; for (keys %$c){ push @a, $_ if $c->{$_}->{'CurrentState'} eq 'Installed';} print \"$_ \" for sort @a;')\n\n\tprint 'aptitude install '\"$list\\n\" >> apt-copy.sh\n\n\tchmod +x apt-copy.sh\n}\n\n\n# Kernel-package building shortcut\ndbb-build () {\n\tMAKEFLAGS=''\t\t# temporarily unset MAKEFLAGS ( '-j3' will fail )\n\tappendage='-custom' # this shows up in $ (uname -r )\n    revision=$(date +\"%Y%m%d\") # this shows up in the .deb file name\n\n    make-kpkg clean\n\n    time fakeroot make-kpkg --append-to-version \"$appendage\" --revision \\\n        \"$revision\" kernel_image kernel_headers\n}\n\n\n"
  },
  {
    "path": "plugins/dirpersist/dirpersist.plugin.zsh",
    "content": "#!/bin/zsh\n# \n# Make the dirstack more persistant\n# \n# Add dirpersist to $plugins in ~/.zshrc to load\n# \n\n# $zdirstore is the file used to persist the stack\nzdirstore=~/.zdirstore\n\ndirpersistinstall () {\n    if grep 'dirpersiststore' ~/.zlogout > /dev/null; then\n    else\n        if read -q \\?\"Would you like to set up your .zlogout file for use with dirspersist? (y/n) \"; then\n            echo \"# Store dirs stack\\n# See ~/.oh-my-zsh/plugins/dirspersist.plugin.zsh\\ndirpersiststore\" >> ~/.zlogout\n        else\n            echo \"If you don't want this message to appear, remove dirspersist from \\$plugins\"\n        fi\n    fi\n}\n\ndirpersiststore () {\n    dirs -p | perl -e 'foreach (reverse <STDIN>) {chomp;s/([& ])/\\\\$1/g ;print \"if [ -d $_ ]; then pushd -q $_; fi\\n\"}' > $zdirstore\n}\n\ndirpersistrestore () {\n    if [ -f $zdirstore ]; then\n        source $zdirstore\n    fi\n}\n\nDIRSTACKSIZE=10\nsetopt autopushd pushdminus pushdsilent pushdtohome pushdignoredups\n\ndirpersistinstall\ndirpersistrestore\n\n# Make popd changes permanent without having to wait for logout\nalias popd=\"popd;dirpersiststore\"\n"
  },
  {
    "path": "plugins/django/django.plugin.zsh",
    "content": "#compdef manage.py\n\ntypeset -ga nul_args\nnul_args=(\n  '--settings=-[the Python path to a settings module.]:file:_files'\n  '--pythonpath=-[a directory to add to the Python path.]::directory:_directories'\n  '--traceback[print traceback on exception.]'\n  \"--version[show program's version number and exit.]\"\n  {-h,--help}'[show this help message and exit.]'\n)\n\n_managepy-adminindex(){\n  _arguments -s : \\\n    $nul_args \\\n    '*::directory:_directories' && ret=0\n}\n\n_managepy-createcachetable(){\n  _arguments -s : \\\n    $nul_args && ret=0\n}\n\n_managepy-dbshell(){\n  _arguments -s : \\\n    $nul_args && ret=0\n}\n\n_managepy-diffsettings(){\n  _arguments -s : \\\n    $nul_args && ret=0\n}\n\n_managepy-dumpdata(){\n  _arguments -s : \\\n    '--format=-[specifies the output serialization format for fixtures.]:format:(json yaml xml)' \\\n    '--indent=-[specifies the indent level to use when pretty-printing output.]:' \\\n    $nul_args \\\n    '*::appname:_applist' && ret=0\n}\n\n_managepy-flush(){\n  _arguments -s : \\\n    '--verbosity=-[verbosity level; 0=minimal output, 1=normal output, 2=all output.]:Verbosity:((0\\:minimal 1\\:normal 2\\:all))' \\\n    '--noinput[tells Django to NOT prompt the user for input of any kind.]' \\\n    $nul_args && ret=0\n}\n\n_managepy-help(){\n  _arguments -s : \\\n    '*:command:_managepy_cmds' \\\n    $nul_args && ret=0\n}\n\n_managepy_cmds(){\n    local line\n    local -a cmd\n    _call_program help-command ./manage.py help \\\n      |& sed -n '/^ /s/[(), ]/ /gp' \\\n      | while read -A line; do cmd=($line $cmd) done\n    _describe -t managepy-command 'manage.py command' cmd\n}\n\n_managepy-inspectdb(){\n  _arguments -s : \\\n    $nul_args && ret=0\n}\n\n_managepy-loaddata(){\n  _arguments -s : \\\n    '--verbosity=-[verbosity level; 0=minimal output, 1=normal output, 2=all output.]:Verbosity:((0\\:minimal 1\\:normal 2\\:all))' \\\n    '*::file:_files' \\\n    $nul_args && ret=0\n}\n\n_managepy-reset(){\n  _arguments -s : \\\n    '--noinput[tells Django to NOT prompt the user for input of any kind.]' \\\n    '*::appname:_applist' \\\n    $nul_args && ret=0\n}\n\n_managepy-runfcgi(){\n  local state\n  \n  local fcgi_opts\n  fcgi_opts=(\n    'protocol[fcgi, scgi, ajp, ... (default fcgi)]:protocol:(fcgi scgi ajp)'\n    'host[hostname to listen on..]:'\n    'port[port to listen on.]:'\n    'socket[UNIX socket to listen on.]::file:_files'\n    'method[prefork or threaded (default prefork)]:method:(prefork threaded)'\n    'maxrequests[number of requests a child handles before it is killed and a new child is forked (0 = no limit).]:'\n    'maxspare[max number of spare processes / threads.]:'\n    'minspare[min number of spare processes / threads.]:'\n    'maxchildren[hard limit number of processes / threads.]:'\n    'daemonize[whether to detach from terminal.]:boolean:(False True)'\n    'pidfile[write the spawned process-id to this file.]:file:_files'\n    'workdir[change to this directory when daemonizing.]:directory:_files'\n    'outlog[write stdout to this file.]:file:_files'\n    'errlog[write stderr to this file.]:file:_files'\n  )\n  \n  _arguments -s : \\\n    $nul_args \\\n    '*: :_values \"FCGI Setting\" $fcgi_opts' && ret=0\n}\n\n_managepy-runserver(){\n  _arguments -s : \\\n    '--noreload[tells Django to NOT use the auto-reloader.]' \\\n    '--adminmedia[specifies the directory from which to serve admin media.]:directory:_files' \\\n    $nul_args && ret=0\n}\n\n_managepy-shell(){\n  _arguments -s : \\\n    '--plain[tells Django to use plain Python, not IPython.]' \\\n    $nul_args && ret=0\n}\n\n_managepy-sql(){}\n_managepy-sqlall(){}\n_managepy-sqlclear(){}\n_managepy-sqlcustom(){}\n_managepy-sqlflush(){}\n_managepy-sqlindexes(){}\n_managepy-sqlinitialdata(){}\n_managepy-sqlreset(){}\n_managepy-sqlsequencereset(){}\n_managepy-startapp(){}\n\n_managepy-syncdb() {\n  _arguments -s : \\\n    '--verbosity=-[verbosity level; 0=minimal output, 1=normal output, 2=all output.]:Verbosity:((0\\:minimal 1\\:normal 2\\:all))' \\\n    '--noinput[tells Django to NOT prompt the user for input of any kind.]' \\\n    $nul_args && ret=0\n}\n\n_managepy-test() {\n  _arguments -s : \\\n    '--verbosity=-[verbosity level; 0=minimal output, 1=normal output, 2=all output.]:Verbosity:((0\\:minimal 1\\:normal 2\\:all))' \\\n    '--noinput[tells Django to NOT prompt the user for input of any kind.]' \\\n    '*::appname:_applist' \\\n    $nul_args && ret=0\n}\n\n_managepy-testserver() {\n  _arguments -s : \\\n    '--verbosity=-[verbosity level; 0=minimal output, 1=normal output, 2=all output.]:Verbosity:((0\\:minimal 1\\:normal 2\\:all))' \\\n    '--addrport=-[port number or ipaddr:port to run the server on.]' \\\n    '*::fixture:_files' \\\n    $nul_args && ret=0\n}\n\n_managepy-validate() {\n  _arguments -s : \\\n    $nul_args && ret=0\n}\n\n_managepy-commands() {\n  local -a commands\n  \n  commands=(\n    'adminindex:prints the admin-index template snippet for the given app name(s).'\n    'createcachetable:creates the table needed to use the SQL cache backend.'\n    'dbshell:runs the command-line client for the current DATABASE_ENGINE.'\n    \"diffsettings:displays differences between the current settings.py and Django's default settings.\"\n    'dumpdata:Output the contents of the database as a fixture of the given format.'\n    'flush:Executes ``sqlflush`` on the current database.'\n    'help:manage.py help.'\n    'inspectdb:Introspects the database tables in the given database and outputs a Django model module.'\n    'loaddata:Installs the named fixture(s) in the database.'\n    'reset:Executes ``sqlreset`` for the given app(s) in the current database.'\n    'runfcgi:Run this project as a fastcgi (or some other protocol supported by flup) application,'\n    'runserver:Starts a lightweight Web server for development.'\n    'shell:Runs a Python interactive interpreter.'\n    'sql:Prints the CREATE TABLE SQL statements for the given app name(s).'\n    'sqlall:Prints the CREATE TABLE, custom SQL and CREATE INDEX SQL statements for the given model module name(s).'\n    'sqlclear:Prints the DROP TABLE SQL statements for the given app name(s).'\n    'sqlcustom:Prints the custom table modifying SQL statements for the given app name(s).'\n    'sqlflush:Returns a list of the SQL statements required to return all tables in the database to the state they were in just after they were installed.'\n    'sqlindexes:Prints the CREATE INDEX SQL statements for the given model module name(s).'\n    \"sqlinitialdata:RENAMED: see 'sqlcustom'\"\n    'sqlreset:Prints the DROP TABLE SQL, then the CREATE TABLE SQL, for the given app name(s).'\n    'sqlsequencereset:Prints the SQL statements for resetting sequences for the given app name(s).'\n    \"startapp:Creates a Django app directory structure for the given app name in this project's directory.\"\n    \"syncdb:Create the database tables for all apps in INSTALLED_APPS whose tables haven't already been created.\"\n    'test:Runs the test suite for the specified applications, or the entire site if no apps are specified.'\n    'testserver:Runs a development server with data from the given fixture(s).'\n    'validate:Validates all installed models.'\n  )\n  \n  _describe -t commands 'manage.py command' commands && ret=0\n}\n\n_applist() {\n  local line\n  local -a apps\n  _call_program help-command \"python -c \\\"import os.path as op, re, django.conf, sys;\\\\\n                                          bn=op.basename(op.abspath(op.curdir));[sys\\\\\n                                          .stdout.write(str(re.sub(r'^%s\\.(.*?)$' %\n                                          bn, r'\\1', i)) + '\\n') for i in django.conf.settings.\\\\\n                                          INSTALLED_APPS if re.match(r'^%s' % bn, i)]\\\"\" \\\n                             | while read -A line; do apps=($line $apps) done\n  _values 'Application' $apps && ret=0\n}\n\n_managepy() {\n  local curcontext=$curcontext ret=1\n  \n  if ((CURRENT == 2)); then\n    _managepy-commands\n  else\n    shift words\n    (( CURRENT -- ))\n    curcontext=\"${curcontext%:*:*}:managepy-$words[1]:\"\n    _call_function ret _managepy-$words[1]\n  fi\n}\n\ncompdef _managepy manage.py\ncompdef _managepy django\n"
  },
  {
    "path": "plugins/extract/_extract",
    "content": "#compdef extract\n#autoload\n\n_arguments \\\n  '(-r --remove)'{-r,--remove}'[Remove archive.]' \\\n  \"*::archive file:_files -g '(#i)*.(tar|tgz|tbz|tbz2|txz|tlz|gz|bz2|xz|lzma|Z|zip|rar|7z|deb)(-.)'\" && return 0\n\n\n"
  },
  {
    "path": "plugins/extract/extract.plugin.zsh",
    "content": "# ------------------------------------------------------------------------------\n#          FILE:  extract.plugin.zsh\n#   DESCRIPTION:  oh-my-zsh plugin file.\n#        AUTHOR:  Sorin Ionescu (sorin.ionescu@gmail.com)\n#       VERSION:  1.0.1\n# ------------------------------------------------------------------------------\n\n\nfunction extract() {\n  local remove_archive\n  local success\n  local file_name\n  local extract_dir\n\n  if (( $# == 0 )); then\n    echo \"Usage: extract [-option] [file ...]\"\n    echo\n    echo Options:\n    echo \"    -r, --remove    Remove archive.\"\n    echo\n    echo \"Report bugs to <sorin.ionescu@gmail.com>.\"\n  fi\n\n  remove_archive=1\n  if [[ \"$1\" == \"-r\" ]] || [[ \"$1\" == \"--remove\" ]]; then\n    remove_archive=0 \n    shift\n  fi\n\n  while (( $# > 0 )); do\n    if [[ ! -f \"$1\" ]]; then\n      echo \"extract: '$1' is not a valid file\" 1>&2\n      shift\n      continue\n    fi\n\n    success=0\n    file_name=\"$( basename \"$1\" )\"\n    extract_dir=\"$( echo \"$file_name\" | sed \"s/\\.${1##*.}//g\" )\"\n    case \"$1\" in\n      (*.tar.gz|*.tgz) tar xvzf \"$1\" ;;\n      (*.tar.bz2|*.tbz|*.tbz2) tar xvjf \"$1\" ;;\n      (*.tar.xz|*.txz) tar --xz --help &> /dev/null \\\n        && tar --xz -xvf \"$1\" \\\n        || xzcat \"$1\" | tar xvf - ;;\n      (*.tar.zma|*.tlz) tar --lzma --help &> /dev/null \\\n        && tar --lzma -xvf \"$1\" \\\n        || lzcat \"$1\" | tar xvf - ;;\n      (*.tar) tar xvf \"$1\" ;;\n      (*.gz) gunzip \"$1\" ;;\n      (*.bz2) bunzip2 \"$1\" ;;\n      (*.xz) unxz \"$1\" ;;\n      (*.lzma) unlzma \"$1\" ;;\n      (*.Z) uncompress \"$1\" ;;\n      (*.zip) unzip \"$1\" -d $extract_dir ;;\n      (*.rar) unrar e -ad \"$1\" ;;\n      (*.7z) 7za x \"$1\" ;;\n      (*.deb)\n        mkdir -p \"$extract_dir/control\"\n        mkdir -p \"$extract_dir/data\"\n        cd \"$extract_dir\"; ar vx \"../${1}\" > /dev/null\n        cd control; tar xzvf ../control.tar.gz\n        cd ../data; tar xzvf ../data.tar.gz\n        cd ..; rm *.tar.gz debian-binary\n        cd ..\n      ;;\n      (*) \n        echo \"extract: '$1' cannot be extracted\" 1>&2\n        success=1 \n      ;; \n    esac\n\n    (( success = $success > 0 ? $success : $? ))\n    (( $success == 0 )) && (( $remove_archive == 0 )) && rm \"$1\"\n    shift\n  done\n}\n\nalias x=extract\n\n# add extract completion function to path\nfpath=($ZSH/plugins/extract $fpath)\nautoload -U compinit\ncompinit -i\n\n"
  },
  {
    "path": "plugins/fabric/fabric.plugin.zsh",
    "content": "#!zsh\n# \n# Installation\n# ------------\n# \n# To achieve fabfile completion nirvana:\n# \n#   Copy this file somewhere (e.g. ~/.fab-comletion.zsh) and put the following line in your .zshrc:\n# \n#        source ~/.fab-comletion.zsh\n#\n#    Or, use this file as a oh-my-zsh plugin.\n#\n\n_fab_list() {\n\treply=(`fab --shortlist`) \n}\ncompctl -K _fab_list fab\n\n"
  },
  {
    "path": "plugins/gas/_gas",
    "content": "#compdef gas\n\nlocal curcontext=\"$curcontext\" state line cmds ret=1\n\n_arguments -C \\\n\t'(- 1 *)'{-v,--version}'[display version information]' \\\n\t'(-h|--help)'{-h,--help}'[show help information]' \\\n\t'1: :->cmds' \\\n\t'*: :->args' && ret=0\n\ncase $state in\n\tcmds)\n\t\tcmds=(\n            \"version:Prints Gas's version\"\n            \"use:Uses author\"\n            \"show:Shows your current user\"\n            \"list:Lists your authors\"\n            \"import:Imports current user to gasconfig\"\n            \"help:Describe available tasks or one specific task\"\n            \"delete:Deletes author\"\n            \"add:Adds author to gasconfig\"\n        )\n\t\t_describe -t commands 'gas command' cmds && ret=0\n\t\t;;\n\targs)\n\t\tcase $line[1] in\n\t\t\t(use|delete)\n\t\t\t\t_values -S , 'authors' $(cat ~/.gas | sed -n -e 's/^\\[\\(.*\\)\\]/\\1/p') && ret=0\n\t\t\t\t;;\n\t\tesac\n\t\t;;\nesac\n\nreturn ret\n"
  },
  {
    "path": "plugins/gem/_gem",
    "content": "#compdef gem\n#autoload\n\n# gem zsh completion, based on homebrew completion\n\n_gem_installed() {\n  installed_gems=(`gem list --local --no-versions`)\n}\n\nlocal -a _1st_arguments\n_1st_arguments=(\n  'cert:Manage RubyGems certificates and signing settings'\n  'check:Check installed gems'\n  'cleanup:Clean up old versions of installed gems in the local repository'\n  'contents:Display the contents of the installed gems'\n  'dependency:Show the dependencies of an installed gem'\n  'environment:Display information about the RubyGems environment'\n  'fetch:Download a gem and place it in the current directory'\n  'generate_index:Generates the index files for a gem server directory'\n  'help:Provide help on the `gem` command'\n  'install:Install a gem into the local repository'\n  'list:Display gems whose name starts with STRING'\n  'lock:Generate a lockdown list of gems'\n  'mirror:Mirror a gem repository'\n  'outdated:Display all gems that need updates'\n  'owner:Manage gem owners on RubyGems.org.'\n  'pristine:Restores installed gems to pristine condition from files located in the gem cache'\n  'push:Push a gem up to RubyGems.org'\n  'query:Query gem information in local or remote repositories'\n  'rdoc:Generates RDoc for pre-installed gems'\n  'search:Display all gems whose name contains STRING'\n  'server:Documentation and gem repository HTTP server'\n  'sources:Manage the sources and cache file RubyGems uses to search for gems'\n  'specification:Display gem specification (in yaml)'\n  'stale:List gems along with access times'\n  'uninstall:Uninstall gems from the local repository'\n  'unpack:Unpack an installed gem to the current directory'\n  'update:Update the named gems (or all installed gems) in the local repository'\n  'which:Find the location of a library file you can require'\n)\n\nlocal expl\nlocal -a gems installed_gems\n\n_arguments \\\n  '(-v --version)'{-v,--version}'[show version]' \\\n  '(-h --help)'{-h,--help}'[show help]' \\\n  '*:: :->subcmds' && return 0\n\nif (( CURRENT == 1 )); then\n  _describe -t commands \"gem subcommand\" _1st_arguments\n  return\nfi\n\ncase \"$words[1]\" in\n  list)\n      if [[ \"$state\" == forms ]]; then\n        _gem_installed\n        _requested installed_gems expl 'installed gems' compadd -a installed_gems\n      fi ;;\n  uninstall|update)\n    _gem_installed\n    _wanted installed_gems expl 'installed gems' compadd -a installed_gems ;;\nesac\n"
  },
  {
    "path": "plugins/git/git.plugin.zsh",
    "content": "# Aliases\nalias g='git'\ncompdef g=git\nalias gst='git status'\ncompdef _git gst=git-status\nalias gl='git pull'\ncompdef _git gl=git-pull\nalias gup='git fetch && git rebase'\ncompdef _git gup=git-fetch\nalias gp='git push'\ncompdef _git gp=git-push\ngdv() { git-diff -w \"$@\" | view - }\ncompdef _git gdv=git-diff\nalias gc='git commit -v'\ncompdef _git gc=git-commit\nalias gca='git commit -v -a'\ncompdef _git gca=git-commit\nalias gco='git checkout'\ncompdef _git gco=git-checkout\nalias gb='git branch'\ncompdef _git gb=git-branch\nalias gba='git branch -a'\ncompdef _git gba=git-branch\nalias gcount='git shortlog -sn'\ncompdef gcount=git\nalias gcp='git cherry-pick'\ncompdef _git gcp=git-cherry-pick\nalias glg='git log --stat --max-count=5'\ncompdef _git glg=git-log\nalias glgg='git log --graph --max-count=5'\ncompdef _git glgg=git-log\n\n# Git and svn mix\nalias git-svn-dcommit-push='git svn dcommit && git push github master:svntrunk'\ncompdef git-svn-dcommit-push=git\n\nalias gsr='git svn rebase'\nalias gsd='git svn dcommit'\n#\n# Will return the current branch name\n# Usage example: git pull origin $(current_branch)\n#\nfunction current_branch() {\n  ref=$(git symbolic-ref HEAD 2> /dev/null) || return\n  echo ${ref#refs/heads/}\n}\n\n# these aliases take advantage of the previous function\nalias ggpull='git pull origin $(current_branch)'\ncompdef ggpull=git\nalias ggpush='git push origin $(current_branch)'\ncompdef ggpush=git\nalias ggpnp='git pull origin $(current_branch) && git push origin $(current_branch)'\ncompdef ggpnp=git\n"
  },
  {
    "path": "plugins/git-flow/git-flow.plugin.zsh",
    "content": "#!zsh\n#\n# Installation\n# ------------\n#\n# To achieve git-flow completion nirvana:\n#\n#  0. Update your zsh's git-completion module to the newest verion.\n#     From here. http://zsh.git.sourceforge.net/git/gitweb.cgi?p=zsh/zsh;a=blob_plain;f=Completion/Unix/Command/_git;hb=HEAD\n#\n#  1. Install this file. Either:\n#\n#     a. Place it in your .zshrc:\n#\n#     b. Or, copy it somewhere (e.g. ~/.git-flow-completion.zsh) and put the following line in\n#        your .zshrc:\n#\n#            source ~/.git-flow-completion.zsh\n#\n#     c. Or, use this file as a oh-my-zsh plugin.\n#\n\n_git-flow ()\n{\n\tlocal curcontext=\"$curcontext\" state line\n\ttypeset -A opt_args\n\n\t_arguments -C \\\n\t\t':command:->command' \\\n\t\t'*::options:->options'\n\n\tcase $state in\n\t\t(command)\n\n\t\t\tlocal -a subcommands\n\t\t\tsubcommands=(\n\t\t\t\t'init:Initialize a new git repo with support for the branching model.'\n\t\t\t\t'feature:Manage your feature branches.'\n\t\t\t\t'release:Manage your release branches.'\n\t\t\t\t'hotfix:Manage your hotfix branches.'\n\t\t\t\t'support:Manage your support branches.'\n\t\t\t\t'version:Shows version information.'\n\t\t\t)\n\t\t\t_describe -t commands 'git flow' subcommands\n\t\t;;\n\n\t\t(options)\n\t\t\tcase $line[1] in\n\n\t\t\t\t(init)\n\t\t\t\t\t_arguments \\\n\t\t\t\t\t\t-f'[Force setting of gitflow branches, even if already configured]'\n\t\t\t\t\t;;\n\n\t\t\t\t\t(version)\n\t\t\t\t\t;;\n\n\t\t\t\t\t(hotfix)\n\t\t\t\t\t\t__git-flow-hotfix\n\t\t\t\t\t;;\n\n\t\t\t\t\t(release)\n\t\t\t\t\t\t__git-flow-release\n\t\t\t\t\t;;\n\n\t\t\t\t\t(feature)\n\t\t\t\t\t\t__git-flow-feature\n\t\t\t\t\t;;\n\t\t\tesac\n\t\t;;\n\tesac\n}\n\n__git-flow-release ()\n{\n\tlocal curcontext=\"$curcontext\" state line\n\ttypeset -A opt_args\n\n\t_arguments -C \\\n\t\t':command:->command' \\\n\t\t'*::options:->options'\n\n\tcase $state in\n\t\t(command)\n\n\t\t\tlocal -a subcommands\n\t\t\tsubcommands=(\n\t\t\t\t'start:Start a new release branch.'\n\t\t\t\t'finish:Finish a release branch.'\n\t\t\t\t'list:List all your release branches. (Alias to `git flow release`)'\n\t\t\t)\n\t\t\t_describe -t commands 'git flow release' subcommands\n\t\t\t_arguments \\\n\t\t\t\t-v'[Verbose (more) output]'\n\t\t;;\n\n\t\t(options)\n\t\t\tcase $line[1] in\n\n\t\t\t\t(start)\n\t\t\t\t\t_arguments \\\n\t\t\t\t\t\t-F'[Fetch from origin before performing finish]'\\\n\t\t\t\t\t\t':version:__git_flow_version_list'\n\t\t\t\t;;\n\n\t\t\t\t(finish)\n\t\t\t\t\t_arguments \\\n\t\t\t\t\t\t-F'[Fetch from origin before performing finish]' \\\n\t\t\t\t\t\t-s'[Sign the release tag cryptographically]'\\\n\t\t\t\t\t\t-u'[Use the given GPG-key for the digital signature (implies -s)]'\\\n\t\t\t\t\t\t-m'[Use the given tag message]'\\\n\t\t\t\t\t\t-p'[Push to $ORIGIN after performing finish]'\\\n\t\t\t\t\t\t':version:__git_flow_version_list'\n\t\t\t\t;;\n\n\t\t\t\t*)\n\t\t\t\t\t_arguments \\\n\t\t\t\t\t\t-v'[Verbose (more) output]'\n\t\t\t\t;;\n\t\t\tesac\n\t\t;;\n\tesac\n}\n\n__git-flow-hotfix ()\n{\n\tlocal curcontext=\"$curcontext\" state line\n\ttypeset -A opt_args\n\n\t_arguments -C \\\n\t\t':command:->command' \\\n\t\t'*::options:->options'\n\n\tcase $state in\n\t\t(command)\n\n\t\t\tlocal -a subcommands\n\t\t\tsubcommands=(\n\t\t\t\t'start:Start a new hotfix branch.'\n\t\t\t\t'finish:Finish a hotfix branch.'\n\t\t\t\t'list:List all your hotfix branches. (Alias to `git flow hotfix`)'\n\t\t\t)\n\t\t\t_describe -t commands 'git flow hotfix' subcommands\n\t\t\t_arguments \\\n\t\t\t\t-v'[Verbose (more) output]'\n\t\t;;\n\n\t\t(options)\n\t\t\tcase $line[1] in\n\n\t\t\t\t(start)\n\t\t\t\t\t_arguments \\\n\t\t\t\t\t\t-F'[Fetch from origin before performing finish]'\\\n\t\t\t\t\t\t':hotfix:__git_flow_version_list'\\\n\t\t\t\t\t\t':branch-name:__git_branch_names'\n\t\t\t\t;;\n\n\t\t\t\t(finish)\n\t\t\t\t\t_arguments \\\n\t\t\t\t\t\t-F'[Fetch from origin before performing finish]' \\\n\t\t\t\t\t\t-s'[Sign the release tag cryptographically]'\\\n\t\t\t\t\t\t-u'[Use the given GPG-key for the digital signature (implies -s)]'\\\n\t\t\t\t\t\t-m'[Use the given tag message]'\\\n\t\t\t\t\t\t-p'[Push to $ORIGIN after performing finish]'\\\n\t\t\t\t\t\t':hotfix:__git_flow_hotfix_list'\n\t\t\t\t;;\n\n\t\t\t\t*)\n\t\t\t\t\t_arguments \\\n\t\t\t\t\t\t-v'[Verbose (more) output]'\n\t\t\t\t;;\n\t\t\tesac\n\t\t;;\n\tesac\n}\n\n__git-flow-feature ()\n{\n\tlocal curcontext=\"$curcontext\" state line\n\ttypeset -A opt_args\n\n\t_arguments -C \\\n\t\t':command:->command' \\\n\t\t'*::options:->options'\n\n\tcase $state in\n\t\t(command)\n\n\t\t\tlocal -a subcommands\n\t\t\tsubcommands=(\n\t\t\t\t'start:Start a new feature branch.'\n\t\t\t\t'finish:Finish a feature branch.'\n\t\t\t\t'list:List all your feature branches. (Alias to `git flow feature`)'\n\t\t\t\t'publish: public'\n\t\t\t\t'track: track'\n\t\t\t\t'diff: diff'\n\t\t\t\t'rebase: rebase'\n\t\t\t\t'checkout: checkout'\n\t\t\t\t'pull: pull'\n\t\t\t)\n\t\t\t_describe -t commands 'git flow feature' subcommands\n\t\t\t_arguments \\\n\t\t\t\t-v'[Verbose (more) output]'\n\t\t;;\n\n\t\t(options)\n\t\t\tcase $line[1] in\n\n\t\t\t\t(start)\n\t\t\t\t\t_arguments \\\n\t\t\t\t\t\t-F'[Fetch from origin before performing finish]'\\\n\t\t\t\t\t\t':feature:__git_flow_feature_list'\\\n\t\t\t\t\t\t':branch-name:__git_branch_names'\n\t\t\t\t;;\n\n\t\t\t\t(finish)\n\t\t\t\t\t_arguments \\\n\t\t\t\t\t\t-F'[Fetch from origin before performing finish]' \\\n\t\t\t\t\t\t-r'[Rebase instead of merge]'\\\n\t\t\t\t\t\t':feature:__git_flow_feature_list'\n\t\t\t\t;;\n\n\t\t\t\t(publish)\n\t\t\t\t\t_arguments \\\n\t\t\t\t\t\t':feature:__git_flow_feature_list'\\\n\t\t\t\t;;\n\n\t\t\t\t(track)\n\t\t\t\t\t_arguments \\\n\t\t\t\t\t\t':feature:__git_flow_feature_list'\\\n\t\t\t\t;;\n\n\t\t\t\t(diff)\n\t\t\t\t\t_arguments \\\n\t\t\t\t\t\t':branch:__git_branch_names'\\\n\t\t\t\t;;\n\n\t\t\t\t(rebase)\n\t\t\t\t\t_arguments \\\n\t\t\t\t\t\t-i'[Do an interactive rebase]' \\\n\t\t\t\t\t\t':branch:__git_branch_names'\n\t\t\t\t;;\n\n\t\t\t\t(checkout)\n\t\t\t\t\t_arguments \\\n\t\t\t\t\t\t':branch:__git_flow_feature_list'\\\n\t\t\t\t;;\n\n\t\t\t\t(pull)\n\t\t\t\t\t_arguments \\\n\t\t\t\t\t\t':remote:__git_remotes'\\\n\t\t\t\t\t\t':branch:__git_branch_names'\n\t\t\t\t;;\n\n\t\t\t\t*)\n\t\t\t\t\t_arguments \\\n\t\t\t\t\t\t-v'[Verbose (more) output]'\n\t\t\t\t;;\n\t\t\tesac\n\t\t;;\n\tesac\n}\n\n__git_flow_version_list ()\n{\n\tlocal expl\n\tdeclare -a versions\n\n\tversions=(${${(f)\"$(_call_program versions git flow release list 2> /dev/null | tr -d ' |*')\"}})\n\t__git_command_successful || return\n\n\t_wanted versions expl 'version' compadd $versions\n}\n\n__git_flow_feature_list ()\n{\n\tlocal expl\n\tdeclare -a features\n\n\tfeatures=(${${(f)\"$(_call_program features git flow feature list 2> /dev/null | tr -d ' |*')\"}})\n\t__git_command_successful || return\n\n\t_wanted features expl 'feature' compadd $features\n}\n\n__git_remotes () {\n\tlocal expl gitdir remotes\n\n\tgitdir=$(_call_program gitdir git rev-parse --git-dir 2>/dev/null)\n\t__git_command_successful || return\n\n\tremotes=(${${(f)\"$(_call_program remotes git config --get-regexp '\"^remote\\..*\\.url$\"')\"}//#(#b)remote.(*).url */$match[1]})\n\t__git_command_successful || return\n\n\t# TODO: Should combine the two instead of either or.\n\tif (( $#remotes > 0 )); then\n\t\t_wanted remotes expl remote compadd $* - $remotes\n\telse\n\t\t_wanted remotes expl remote _files $* - -W \"($gitdir/remotes)\" -g \"$gitdir/remotes/*\"\n\tfi\n}\n\n__git_flow_hotfix_list ()\n{\n\tlocal expl\n\tdeclare -a hotfixes\n\n\thotfixes=(${${(f)\"$(_call_program hotfixes git flow hotfix list 2> /dev/null | tr -d ' |*')\"}})\n\t__git_command_successful || return\n\n\t_wanted hotfixes expl 'hotfix' compadd $hotfixes\n}\n\n__git_branch_names () {\n\tlocal expl\n\tdeclare -a branch_names\n\n\tbranch_names=(${${(f)\"$(_call_program branchrefs git for-each-ref --format='\"%(refname)\"' refs/heads 2>/dev/null)\"}#refs/heads/})\n\t__git_command_successful || return\n\n\t_wanted branch-names expl branch-name compadd $* - $branch_names\n}\n\n__git_command_successful () {\n\tif (( ${#pipestatus:#0} > 0 )); then\n\t\t_message 'not a git repository'\n\t\treturn 1\n\tfi\n\treturn 0\n}\n\nzstyle ':completion:*:*:git:*' user-commands flow:'description for foo'"
  },
  {
    "path": "plugins/github/_github",
    "content": "#compdef github\n#autoload\n\n# in order to make this work, you will need to have the github gem installed\n# http://github.com/defunkt/github-gem\n\n# github zsh completion, based on homebrew completion\n\nlocal -a _1st_arguments\n_1st_arguments=(\n  'browse:Open this repo in a web browser'\n  'clone:Clone a repo'\n  'config:Automatically set configuration info, or pass args to specify'\n  'create-from-local:Create a new GitHub repository from the current local repository'\n  'create:Create a new empty GitHub repository'\n  'fetch:Fetch from a remote to a local branch'\n  'fetch_all:Fetch all refs from a user'\n  'fork:Forks a GitHub repository'\n  'home:Open this repos master branch in a web browser'\n  'ignore:Ignore a SHA from github network commits'\n  'info:Info about this project'\n  'issues:Project issues tools'\n  'network:Project network tools - sub-commands : web [user], list, fetch, commits'\n  'open:Open the given user/project in a web browser'\n  'pull-request:Generate the text for a pull request'\n  'pull:Pull from a remote'\n  'search:Search GitHub for the given repository name'\n  'track:Track another users repository'\n)\n\nlocal expl\nlocal -a pkgs installed_pkgs\n\n_arguments \\\n  '*:: :->subcmds' && return 0\n\nif (( CURRENT == 1 )); then\n  _describe -t commands \"github subcommand\" _1st_arguments\n  return\nfi\n"
  },
  {
    "path": "plugins/github/github.plugin.zsh",
    "content": "# hub alias from defunkt\n# https://github.com/defunkt/hub\nif [ \"$commands[(I)hub]\" ]; then\n    # eval `hub alias -s zsh`\n    function git(){hub \"$@\"}\nfi\n"
  },
  {
    "path": "plugins/gpg-agent/gpg-agent.plugin.zsh",
    "content": "# Based on ssh-agent code\n\nlocal GPG_ENV=$HOME/.gnupg/gpg-agent.env\n\nfunction start_agent {\n  /usr/bin/env gpg-agent --daemon --enable-ssh-support --write-env-file ${GPG_ENV} > /dev/null\n  chmod 600 ${GPG_ENV}\n  . ${GPG_ENV} > /dev/null\n}\n\n# Source GPG agent settings, if applicable\nif [ -f \"${GPG_ENV}\" ]; then\n  . ${GPG_ENV} > /dev/null\n  ps -ef | grep ${SSH_AGENT_PID} | grep gpg-agent > /dev/null || {\n    start_agent;\n  }\nelse\n  start_agent;\nfi\n\nexport GPG_AGENT_INFO\nexport SSH_AUTH_SOCK\nexport SSH_AGENT_PID\n\nGPG_TTY=$(tty)\nexport GPG_TTY\n"
  },
  {
    "path": "plugins/heroku/_heroku",
    "content": "#compdef heroku\n\n# Heroku Autocomplete plugin for Oh-My-Zsh\n# Requires: The Heroku client gem (https://github.com/heroku/heroku)\n# Author: Ali B. (http://awhitebox.com)\n\nlocal -a _1st_arguments\n_1st_arguments=(\n  \"account\\:confirm_billing\":\"Confirm that your account can be billed at the end of the month\"\n  \"addons\":\"list installed addons\"\n  \"addons\\:list\":\"list all available addons\"\n  \"addons\\:add\":\"install an addon\"\n  \"addons\\:upgrade\":\"upgrade an existing addon\"\n  \"addons\\:downgrade\":\"downgrade an existing addon\"\n  \"addons\\:remove\":\"uninstall an addon\"\n  \"addons\\:open\":\"open an addon's dashboard in your browser\"\n  \"apps\":\"list your apps\"\n  \"apps\\:info\":\"show detailed app information\"\n  \"apps\\:create\":\"create a new app\"\n  \"apps\\:rename\":\"rename the app\"\n  \"apps\\:open\":\"open the app in a web browser\"\n  \"apps\\:destroy\":\"permanently destroy an app\"\n  \"auth\\:login\":\"log in with your heroku credentials\"\n  \"auth\\:logout\":\"clear local authentication credentials\"\n  \"config\":\"display the config vars for an app\"\n  \"config\\:add\":\"add one or more config vars\"\n  \"config\\:remove\":\"remove a config var\"\n  \"db\\:push\":\"push local data up to your app\"\n  \"db\\:pull\":\"pull heroku data down into your local database\"\n  \"domains\":\"list custom domains for an app\"\n  \"domains\\:add\":\"add a custom domain to an app\"\n  \"domains\\:remove\":\"remove a custom domain from an app\"\n  \"domains\\:clear\":\"remove all custom domains from an app\"\n  \"help\":\"list available commands or display help for a specific command\"\n  \"keys\":\"display keys for the current user\"\n  \"keys\\:add\":\"add a key for the current user\"\n  \"keys\\:remove\":\"remove a key from the current user\"\n  \"keys\\:clear\":\"remove all authentication keys from the current user\"\n  \"logs\":\"display recent log output\"\n  \"logs\\:cron\":\"DEPRECATED: display cron logs from legacy logging\"\n  \"logs\\:drains\":\"manage syslog drains\"\n  \"maintenance\\:on\":\"put the app into maintenance mode\"\n  \"maintenance\\:off\":\"take the app out of maintenance mode\"\n  \"pg\\:info\":\"display database information\"\n  \"pg\\:ingress\":\"allow direct connections to the database from this IP for one minute\"\n  \"pg\\:promote\":\"sets DATABASE as your DATABASE_URL\"\n  \"pg\\:psql\":\"open a psql shell to the database\"\n  \"pg\\:reset\":\"delete all data in DATABASE\"\n  \"pg\\:unfollow\":\"stop a replica from following and make it a read/write database\"\n  \"pg\\:wait\":\"monitor database creation, exit when complete\"\n  \"pgbackups\":\"list captured backups\"\n  \"pgbackups\\:url\":\"get a temporary URL for a backup\"\n  \"pgbackups\\:capture\":\"capture a backup from a database id\"\n  \"pgbackups\\:restore\":\"restore a backup to a database\"\n  \"pgbackups\\:destroy\":\"destroys a backup\"\n  \"plugins\":\"list installed plugins\"\n  \"plugins\\:install\":\"install a plugin\"\n  \"plugins\\:uninstall\":\"uninstall a plugin\"\n  \"ps\\:dynos\":\"scale to QTY web processes\"\n  \"ps\\:workers\":\"scale to QTY background processes\"\n  \"ps\":\"list processes for an app\"\n  \"ps\\:restart\":\"restart an app process\"\n  \"ps\\:scale\":\"scale processes by the given amount\"\n  \"releases\":\"list releases\"\n  \"releases\\:info\":\"view detailed information for a release\"\n  \"rollback\":\"roll back to an older release\"\n  \"run\":\"run an attached process\"\n  \"run\\:rake\":\"remotely execute a rake command\"\n  \"run\\:console\":\"open a remote console session\"\n  \"sharing\":\"list collaborators on an app\"\n  \"sharing\\:add\":\"add a collaborator to an app\"\n  \"sharing\\:remove\":\"remove a collaborator from an app\"\n  \"sharing\\:transfer\":\"transfer an app to a new owner\"\n  \"ssl\":\"list certificates for an app\"\n  \"ssl\\:add\":\"add an ssl certificate to an app\"\n  \"ssl\\:remove\":\"remove an ssl certificate from an app\"\n  \"ssl\\:clear\":\"remove all ssl certificates from an app\"\n  \"stack\":\"show the list of available stacks\"\n  \"stack\\:migrate\":\"prepare migration of this app to a new stack\"\n  \"version\":\"show heroku client version\"\n)\n\n_arguments '*:: :->command'\n\nif (( CURRENT == 1 )); then\n  _describe -t commands \"heroku command\" _1st_arguments\n  return\nfi\n\nlocal -a _command_args\ncase \"$words[1]\" in\n  apps:info)\n    _command_args=(\n      '(-r|--raw)'{-r,--raw}'[output info as raw key/value pairs]' \\\n    )\n    ;;\n  apps:create)\n    _command_args=(\n      '(-a|--addons)'{-a,--addons}'[a list of addons to install]' \\\n      '(-r|--remote)'{-r,--remote}'[the git remote to create, default \"heroku\"]' \\\n      '(-s|--stack)'{-s,--stack}'[the stack on which to create the app]' \\\n    )\n    ;;\n  config)\n    _command_args=(\n      '(-s|--shell)'{-s,--shell}'[output config vars in shell format]' \\\n    )\n    ;;\n  db:push)\n    _command_args=(\n      '(-c|--chunksize)'{-c,--chunksize}'[specify the number of rows to send in each batch]' \\\n      '(-d|--debug)'{-d,--debug}'[enable debugging output]' \\\n      '(-e|--exclude)'{-e,--exclude}'[exclude the specified tables from the push]' \\\n      '(-f|--filter)'{-f,--filter}'[only push certain tables]' \\\n      '(-r|--resume)'{-r,--resume}'[resume transfer described by a .dat file]' \\\n      '(-t|--tables)'{-t,--tables}'[only push the specified tables]' \\\n    )\n    ;;\n  db:pull)\n    _command_args=(\n      '(-c|--chunksize)'{-c,--chunksize}'[specify the number of rows to send in each batch]' \\\n      '(-d|--debug)'{-d,--debug}'[enable debugging output]' \\\n      '(-e|--exclude)'{-e,--exclude}'[exclude the specified tables from the pull]' \\\n      '(-f|--filter)'{-f,--filter}'[only pull certain tables]' \\\n      '(-r|--resume)'{-r,--resume}'[resume transfer described by a .dat file]' \\\n      '(-t|--tables)'{-t,--tables}'[only pull the specified tables]' \\\n    )\n    ;;\n  keys)\n    _command_args=(\n      '(-l|--long)'{-l,--long}'[display extended information for each key]' \\\n    )\n    ;;\n  logs)\n    _command_args=(\n      '(-n|--num)'{-n,--num}'[the number of lines to display]' \\\n      '(-p|--ps)'{-p,--ps}'[only display logs from the given process]' \\\n      '(-s|--source)'{-s,--source}'[only display logs from the given source]' \\\n      '(-t|--tail)'{-t,--tail}'[continually stream logs]' \\\n    )\n    ;;\n  pgbackups:capture)\n    _command_args=(\n      '(-e|--expire)'{-e,--expire}'[if no slots are available to capture, delete the oldest backup to make room]' \\\n    )\n    ;;\n  stack)\n    _command_args=(\n      '(-a|--all)'{-a,--all}'[include deprecated stacks]' \\\n    )\n    ;;\n  esac\n\n_arguments \\\n  $_command_args \\\n  '(--app)--app[the app name]' \\\n  &&  return 0\n\n"
  },
  {
    "path": "plugins/history-substring-search/README",
    "content": "To activate this script, load it into an interactive ZSH session:\n\n  % source history-substring-search.zsh\n\nSee the \"history-substring-search.zsh\" file for more information:\n\n  % sed -n '2,/^$/s/^#//p' history-substring-search.zsh | more\n"
  },
  {
    "path": "plugins/history-substring-search/history-substring-search.plugin.zsh",
    "content": "# This file integrates the history-substring-search script into oh-my-zsh.\n\nsource \"$ZSH/plugins/history-substring-search/history-substring-search.zsh\"\n\nif test \"$CASE_SENSITIVE\" = true; then\n  unset HISTORY_SUBSTRING_SEARCH_GLOBBING_FLAGS\nfi\n\nif test \"$DISABLE_COLOR\" = true; then\n  unset HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_FOUND\n  unset HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_NOT_FOUND\nfi\n"
  },
  {
    "path": "plugins/history-substring-search/history-substring-search.zsh",
    "content": "#!/usr/bin/env zsh\n#\n# This is a clean-room implementation of the Fish[1] shell's history search\n# feature, where you can type in any part of any previously entered command\n# and press the UP and DOWN arrow keys to cycle through the matching commands.\n#\n#-----------------------------------------------------------------------------\n# Usage\n#-----------------------------------------------------------------------------\n#\n# 1. Load this script into your interactive ZSH session:\n#\n#       % source history-substring-search.zsh\n#\n#    If you want to use the zsh-syntax-highlighting[6] script along with this\n#    script, then make sure that you load it *before* you load this script:\n#\n#       % source zsh-syntax-highlighting.zsh\n#       % source history-substring-search.zsh\n#\n# 2. Type any part of any previous command and then:\n#\n#     * Press the UP arrow key to select the nearest command that (1) contains\n#       your query and (2) is older than the current command in the command\n#       history.\n#\n#     * Press the DOWN arrow key to select the nearest command that (1)\n#       contains your query and (2) is newer than the current command in the\n#       command history.\n#\n#     * Press ^U (the Control and U keys simultaneously) to abort the search.\n#\n# 3. If a matching command spans more than one line of text, press the LEFT\n#    arrow key to move the cursor away from the end of the command, and then:\n#\n#     * Press the UP arrow key to move the cursor to the line above.  When the\n#       cursor reaches the first line of the command, pressing the UP arrow\n#       key again will cause this script to perform another search.\n#\n#     * Press the DOWN arrow key to move the cursor to the line below.  When\n#       the cursor reaches the last line of the command, pressing the DOWN\n#       arrow key again will cause this script to perform another search.\n#\n#-----------------------------------------------------------------------------\n# Configuration\n#-----------------------------------------------------------------------------\n#\n# This script defines the following global variables. You may override their\n# default values only after having loaded this script into your ZSH session.\n#\n# * HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_FOUND is a global variable that defines\n#   how the query should be highlighted inside a matching command. Its default\n#   value causes this script to highlight using bold, white text on a magenta\n#   background. See the \"Character Highlighting\" section in the zshzle(1) man\n#   page to learn about the kinds of values you may assign to this variable.\n#\n# * HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_NOT_FOUND is a global variable that\n#   defines how the query should be highlighted when no commands in the\n#   history match it. Its default value causes this script to highlight using\n#   bold, white text on a red background. See the \"Character Highlighting\"\n#   section in the zshzle(1) man page to learn about the kinds of values you\n#   may assign to this variable.\n#\n# * HISTORY_SUBSTRING_SEARCH_GLOBBING_FLAGS is a global variable that defines\n#   how the command history will be searched for your query. Its default value\n#   causes this script to perform a case-insensitive search. See the \"Globbing\n#   Flags\" section in the zshexpn(1) man page to learn about the kinds of\n#   values you may assign to this variable.\n#\n#-----------------------------------------------------------------------------\n# History\n#-----------------------------------------------------------------------------\n#\n# This script was originally written by Peter Stephenson[2], who published it\n# to the ZSH users mailing list (thereby making it public domain) in September\n# 2009. It was later revised by Guido van Steen and released under the BSD\n# license (see below) as part of the fizsh[3] project in January 2011.\n#\n# It was later extracted from fizsh[3] release 1.0.1, refactored heavily, and\n# repackaged as both an oh-my-zsh plugin[4] and as an independently loadable\n# ZSH script[5] by Suraj N. Kurapati in 2011.\n#\n# It was further developed[4] by Guido van Steen, Suraj N. Kurapati, Sorin\n# Ionescu, and Vincent Guerci in 2011.\n#\n# [1]: http://fishshell.com\n# [2]: http://www.zsh.org/mla/users/2009/msg00818.html\n# [3]: http://sourceforge.net/projects/fizsh/\n# [4]: https://github.com/robbyrussell/oh-my-zsh/pull/215\n# [5]: https://github.com/sunaku/zsh-history-substring-search\n# [6]: https://github.com/nicoulaj/zsh-syntax-highlighting\n#\n##############################################################################\n#\n# Copyright (c) 2009 Peter Stephenson\n# Copyright (c) 2011 Guido van Steen\n# Copyright (c) 2011 Suraj N. Kurapati\n# Copyright (c) 2011 Sorin Ionescu\n# Copyright (c) 2011 Vincent Guerci\n# All rights reserved.\n#\n# Redistribution and use in source and binary forms, with or without\n# modification, are permitted provided that the following conditions are met:\n#\n#  * Redistributions of source code must retain the above copyright\n#    notice, this list of conditions and the following disclaimer.\n#\n#  * Redistributions in binary form must reproduce the above\n#    copyright notice, this list of conditions and the following\n#    disclaimer in the documentation and/or other materials provided\n#    with the distribution.\n#\n#  * Neither the name of the FIZSH nor the names of its contributors\n#    may be used to endorse or promote products derived from this\n#    software without specific prior written permission.\n#\n# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE\n# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\n# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\n# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\n# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\n# POSSIBILITY OF SUCH DAMAGE.\n#\n##############################################################################\n\n#-----------------------------------------------------------------------------\n# configuration variables\n#-----------------------------------------------------------------------------\n\nHISTORY_SUBSTRING_SEARCH_HIGHLIGHT_FOUND='bg=magenta,fg=white,bold'\nHISTORY_SUBSTRING_SEARCH_HIGHLIGHT_NOT_FOUND='bg=red,fg=white,bold'\nHISTORY_SUBSTRING_SEARCH_GLOBBING_FLAGS='i'\n\n#-----------------------------------------------------------------------------\n# the main ZLE widgets\n#-----------------------------------------------------------------------------\n\nfunction history-substring-search-up() {\n  _history-substring-search-begin\n\n  _history-substring-search-up-history ||\n  _history-substring-search-up-buffer ||\n  _history-substring-search-up-search\n\n  _history-substring-search-end\n}\n\nfunction history-substring-search-down() {\n  _history-substring-search-begin\n\n  _history-substring-search-down-history ||\n  _history-substring-search-down-buffer ||\n  _history-substring-search-down-search\n\n  _history-substring-search-end\n}\n\nzle -N history-substring-search-up\nzle -N history-substring-search-down\n\nbindkey '\\e[A' history-substring-search-up\nbindkey '\\e[B' history-substring-search-down\n\n#-----------------------------------------------------------------------------\n# implementation details\n#-----------------------------------------------------------------------------\n\nsetopt extendedglob\nzmodload -F zsh/parameter\n\n#\n# We have to \"override\" some keys and widgets if the\n# zsh-syntax-highlighting plugin has not been loaded:\n#\n# https://github.com/nicoulaj/zsh-syntax-highlighting\n#\nif [[ $+functions[_zsh_highlight] -eq 0 ]]; then\n  #\n  # Dummy implementation of _zsh_highlight()\n  # that simply removes existing highlights\n  #\n  function _zsh_highlight() {\n    region_highlight=()\n  }\n\n  #\n  # Remove existing highlights when the user\n  # inserts printable characters into $BUFFER\n  #\n  function ordinary-key-press() {\n    if [[ $KEYS == [[:print:]] ]]; then\n      region_highlight=()\n    fi\n    zle .self-insert\n  }\n  zle -N self-insert ordinary-key-press\n\n  #\n  # Override ZLE widgets to invoke _zsh_highlight()\n  #\n  # https://github.com/nicoulaj/zsh-syntax-highlighting/blob/\n  # bb7fcb79fad797a40077bebaf6f4e4a93c9d8163/zsh-syntax-highlighting.zsh#L121\n  #\n  #--------------8<-------------------8<-------------------8<-----------------\n  #\n  # Copyright (c) 2010-2011 zsh-syntax-highlighting contributors\n  # All rights reserved.\n  #\n  # Redistribution and use in source and binary forms, with or without\n  # modification, are permitted provided that the following conditions are\n  # met:\n  #\n  #  * Redistributions of source code must retain the above copyright\n  #    notice, this list of conditions and the following disclaimer.\n  #\n  #  * Redistributions in binary form must reproduce the above copyright\n  #    notice, this list of conditions and the following disclaimer in the\n  #    documentation and/or other materials provided with the distribution.\n  #\n  #  * Neither the name of the zsh-syntax-highlighting contributors nor the\n  #    names of its contributors may be used to endorse or promote products\n  #    derived from this software without specific prior written permission.\n  #\n  # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS\n  # IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,\n  # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\n  # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR\n  # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n  # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\n  # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\n  # PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\n  # LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n  # NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n  # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\n  # Load ZSH module zsh/zleparameter, needed to override user defined widgets.\n  zmodload zsh/zleparameter 2>/dev/null || {\n    echo 'zsh-syntax-highlighting: failed loading zsh/zleparameter, exiting.' >&2\n    return -1\n  }\n\n  # Override ZLE widgets to make them invoke _zsh_highlight.\n  for event in ${${(f)\"$(zle -la)\"}:#(_*|orig-*|.run-help|.which-command)}; do\n    if [[ \"$widgets[$event]\" == completion:* ]]; then\n      eval \"zle -C orig-$event ${${${widgets[$event]}#*:}/:/ } ; $event() { builtin zle orig-$event && _zsh_highlight } ; zle -N $event\"\n    else\n      case $event in\n        accept-and-menu-complete)\n          eval \"$event() { builtin zle .$event && _zsh_highlight } ; zle -N $event\"\n          ;;\n\n        # The following widgets should NOT remove any previously\n        # applied highlighting. Therefore we do not remap them.\n        .forward-char|.backward-char|.up-line-or-history|.down-line-or-history)\n          ;;\n\n        .*)\n          clean_event=$event[2,${#event}] # Remove the leading dot in the event name\n          case ${widgets[$clean_event]-} in\n            (completion|user):*)\n              ;;\n            *)\n              eval \"$clean_event() { builtin zle $event && _zsh_highlight } ; zle -N $clean_event\"\n              ;;\n          esac\n          ;;\n        *)\n          ;;\n      esac\n    fi\n  done\n  unset event clean_event\n  #-------------->8------------------->8------------------->8-----------------\nfi\n\nfunction _history-substring-search-begin() {\n  _history_substring_search_move_cursor_eol=false\n  _history_substring_search_query_highlight=\n\n  #\n  # Continue using the previous $_history_substring_search_result by default,\n  # unless the current query was cleared or a new/different query was entered.\n  #\n  if [[ -z $BUFFER || $BUFFER != $_history_substring_search_result ]]; then\n    #\n    # For the purpose of highlighting we will also keep\n    # a version without doubly-escaped meta characters.\n    #\n    _history_substring_search_query=$BUFFER\n\n    #\n    # $BUFFER contains the text that is in the command-line currently.\n    # we put an extra \"\\\\\" before meta characters such as \"\\(\" and \"\\)\",\n    # so that they become \"\\\\\\(\" and \"\\\\\\)\".\n    #\n    _history_substring_search_query_escaped=${BUFFER//(#m)[\\][()|\\\\*?#<>~^]/\\\\$MATCH}\n\n    #\n    # Find all occurrences of the search query in the history file.\n    #\n    # (k) turns it an array of line numbers.\n    #\n    # (on) seems to remove duplicates, which are default\n    #      options. They can be turned off by (ON).\n    #\n    _history_substring_search_matches=(${(kon)history[(R)(#$HISTORY_SUBSTRING_SEARCH_GLOBBING_FLAGS)*${_history_substring_search_query_escaped}*]})\n\n    #\n    # Define the range of values that $_history_substring_search_match_index\n    # can take: [0, $_history_substring_search_matches_count_plus].\n    #\n    _history_substring_search_matches_count=$#_history_substring_search_matches\n    _history_substring_search_matches_count_plus=$(( _history_substring_search_matches_count + 1 ))\n    _history_substring_search_matches_count_sans=$(( _history_substring_search_matches_count - 1 ))\n\n    #\n    # If $_history_substring_search_match_index is equal to\n    # $_history_substring_search_matches_count_plus, this indicates that we\n    # are beyond the beginning of $_history_substring_search_matches.\n    #\n    # If $_history_substring_search_match_index is equal to 0, this indicates\n    # that we are beyond the end of $_history_substring_search_matches.\n    #\n    # If we have initially pressed \"up\" we have to initialize\n    # $_history_substring_search_match_index to\n    # $_history_substring_search_matches_count_plus so that it will be\n    # decreased to $_history_substring_search_matches_count.\n    #\n    # If we have initially pressed \"down\" we have to initialize\n    # $_history_substring_search_match_index to\n    # $_history_substring_search_matches_count so that it will be increased to\n    # $_history_substring_search_matches_count_plus.\n    #\n    if [[ $WIDGET == history-substring-search-down ]]; then\n       _history_substring_search_match_index=$_history_substring_search_matches_count\n    else\n      _history_substring_search_match_index=$_history_substring_search_matches_count_plus\n    fi\n  fi\n}\n\nfunction _history-substring-search-end() {\n  _history_substring_search_result=$BUFFER\n\n  # move the cursor to the end of the command line\n  if [[ $_history_substring_search_move_cursor_eol == true ]]; then\n    CURSOR=${#BUFFER}\n  fi\n\n  # highlight command line using zsh-syntax-highlighting\n  _zsh_highlight\n\n  # highlight the search query inside the command line\n  if [[ -n $_history_substring_search_query_highlight && -n $_history_substring_search_query ]]; then\n    #\n    # The following expression yields a variable $MBEGIN, which\n    # indicates the begin position + 1 of the first occurrence\n    # of _history_substring_search_query_escaped in $BUFFER.\n    #\n    : ${(S)BUFFER##(#m$HISTORY_SUBSTRING_SEARCH_GLOBBING_FLAGS)($_history_substring_search_query##)}\n    local begin=$(( MBEGIN - 1 ))\n    local end=$(( begin + $#_history_substring_search_query ))\n    region_highlight+=(\"$begin $end $_history_substring_search_query_highlight\")\n  fi\n\n  # For debugging purposes:\n  # zle -R \"mn: \"$_history_substring_search_match_index\" m#: \"${#_history_substring_search_matches}\n  # read -k -t 200 && zle -U $REPLY\n\n  # Exit successfully from the history-substring-search-* widgets.\n  true\n}\n\nfunction _history-substring-search-up-buffer() {\n  #\n  # Check if the UP arrow was pressed to move the cursor within a multi-line\n  # buffer. This amounts to three tests:\n  #\n  # 1. $#buflines -gt 1.\n  #\n  # 2. $CURSOR -ne $#BUFFER.\n  #\n  # 3. Check if we are on the first line of the current multi-line buffer.\n  #    If so, pressing UP would amount to leaving the multi-line buffer.\n  #\n  #    We check this by adding an extra \"x\" to $LBUFFER, which makes\n  #    sure that xlbuflines is always equal to the number of lines\n  #    until $CURSOR (including the line with the cursor on it).\n  #\n  local buflines XLBUFFER xlbuflines\n  buflines=(${(f)BUFFER})\n  XLBUFFER=$LBUFFER\"x\"\n  xlbuflines=(${(f)XLBUFFER})\n\n  if [[ $#buflines -gt 1 && $CURSOR -ne $#BUFFER && $#xlbuflines -ne 1 ]]; then\n    zle up-line-or-history\n    return true\n  fi\n\n  false\n}\n\nfunction _history-substring-search-down-buffer() {\n  #\n  # Check if the DOWN arrow was pressed to move the cursor within a multi-line\n  # buffer. This amounts to three tests:\n  #\n  # 1. $#buflines -gt 1.\n  #\n  # 2. $CURSOR -ne $#BUFFER.\n  #\n  # 3. Check if we are on the last line of the current multi-line buffer.\n  #    If so, pressing DOWN would amount to leaving the multi-line buffer.\n  #\n  #    We check this by adding an extra \"x\" to $RBUFFER, which makes\n  #    sure that xrbuflines is always equal to the number of lines\n  #    from $CURSOR (including the line with the cursor on it).\n  #\n  local buflines XRBUFFER xrbuflines\n  buflines=(${(f)BUFFER})\n  XRBUFFER=\"x\"$RBUFFER\n  xrbuflines=(${(f)XRBUFFER})\n\n  if [[ $#buflines -gt 1 && $CURSOR -ne $#BUFFER && $#xrbuflines -ne 1 ]]; then\n    zle down-line-or-history\n    return true\n  fi\n\n  false\n}\n\nfunction _history-substring-search-up-history() {\n  #\n  # Behave like up in ZSH, except clear the $BUFFER\n  # when beginning of history is reached like in Fish.\n  #\n  if [[ -z $_history_substring_search_query ]]; then\n\n    # we have reached the absolute top of history\n    if [[ $HISTNO -eq 1 ]]; then\n      BUFFER=\n\n    # going up from somewhere below the top of history\n    else\n      zle up-history\n    fi\n\n    return true\n  fi\n\n  false\n}\n\nfunction _history-substring-search-down-history() {\n  #\n  # Behave like down-history in ZSH, except clear the\n  # $BUFFER when end of history is reached like in Fish.\n  #\n  if [[ -z $_history_substring_search_query ]]; then\n\n    # going down from the absolute top of history\n    if [[ $HISTNO -eq 1 && -z $BUFFER ]]; then\n      BUFFER=${history[1]}\n      _history_substring_search_move_cursor_eol=true\n\n    # going down from somewhere above the bottom of history\n    else\n      zle down-history\n    fi\n\n    return true\n  fi\n\n  false\n}\n\nfunction _history-substring-search-up-search() {\n  _history_substring_search_move_cursor_eol=true\n\n  #\n  # Highlight matches during history-substring-up-search:\n  #\n  # The following constants have been initialized in\n  # _history-substring-search-up/down-search():\n  #\n  # $_history_substring_search_matches is the current list of matches\n  # $_history_substring_search_matches_count is the current number of matches\n  # $_history_substring_search_matches_count_plus is the current number of matches + 1\n  # $_history_substring_search_matches_count_sans is the current number of matches - 1\n  # $_history_substring_search_match_index is the index of the current match\n  #\n  # The range of values that $_history_substring_search_match_index can take\n  # is: [0, $_history_substring_search_matches_count_plus].  A value of 0\n  # indicates that we are beyond the end of\n  # $_history_substring_search_matches. A value of\n  # $_history_substring_search_matches_count_plus indicates that we are beyond\n  # the beginning of $_history_substring_search_matches.\n  #\n  # In _history-substring-search-up-search() the initial value of\n  # $_history_substring_search_match_index is\n  # $_history_substring_search_matches_count_plus.  This value is set in\n  # _history-substring-search-begin().  _history-substring-search-up-search()\n  # will initially decrease it to $_history_substring_search_matches_count.\n  #\n  if [[ $_history_substring_search_match_index -ge 2 ]]; then\n    #\n    # Highlight the next match:\n    #\n    # 1. Decrease the value of $_history_substring_search_match_index.\n    #\n    # 2. Use $HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_FOUND\n    #    to highlight the current buffer.\n    #\n    (( _history_substring_search_match_index-- ))\n    BUFFER=$history[$_history_substring_search_matches[$_history_substring_search_match_index]]\n    _history_substring_search_query_highlight=$HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_FOUND\n\n  elif [[ $_history_substring_search_match_index -eq 1 ]]; then\n    #\n    # We will move beyond the end of $_history_substring_search_matches:\n    #\n    # 1. Decrease the value of $_history_substring_search_match_index.\n    #\n    # 2. Save the current buffer in $_history_substring_search_old_buffer,\n    #    so that it can be retrieved by\n    #    _history-substring-search-down-search() later.\n    #\n    # 3. Make $BUFFER equal to $_history_substring_search_query.\n    #\n    # 4. Use $HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_NOT_FOUND\n    #    to highlight the current buffer.\n    #\n    (( _history_substring_search_match_index-- ))\n    _history_substring_search_old_buffer=$BUFFER\n    BUFFER=$_history_substring_search_query\n    _history_substring_search_query_highlight=$HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_NOT_FOUND\n\n  elif [[ $_history_substring_search_match_index -eq $_history_substring_search_matches_count_plus ]]; then\n    #\n    # We were beyond the beginning of $_history_substring_search_matches but\n    # UP makes us move back to $_history_substring_search_matches:\n    #\n    # 1. Decrease the value of $_history_substring_search_match_index.\n    #\n    # 2. Restore $BUFFER from $_history_substring_search_old_buffer.\n    #\n    # 3. Use $HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_FOUND\n    #    to highlight the current buffer.\n    #\n    (( _history_substring_search_match_index-- ))\n    BUFFER=$_history_substring_search_old_buffer\n    _history_substring_search_query_highlight=$HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_FOUND\n  fi\n}\n\nfunction _history-substring-search-down-search() {\n  _history_substring_search_move_cursor_eol=true\n\n  #\n  # Highlight matches during history-substring-up-search:\n  #\n  # The following constants have been initialized in\n  # _history-substring-search-up/down-search():\n  #\n  # $_history_substring_search_matches is the current list of matches\n  # $_history_substring_search_matches_count is the current number of matches\n  # $_history_substring_search_matches_count_plus is the current number of matches + 1\n  # $_history_substring_search_matches_count_sans is the current number of matches - 1\n  # $_history_substring_search_match_index is the index of the current match\n  #\n  # The range of values that $_history_substring_search_match_index can take\n  # is: [0, $_history_substring_search_matches_count_plus].  A value of 0\n  # indicates that we are beyond the end of\n  # $_history_substring_search_matches. A value of\n  # $_history_substring_search_matches_count_plus indicates that we are beyond\n  # the beginning of $_history_substring_search_matches.\n  #\n  # In _history-substring-search-down-search() the initial value of\n  # $_history_substring_search_match_index is\n  # $_history_substring_search_matches_count.  This value is set in\n  # _history-substring-search-begin().\n  # _history-substring-search-down-search() will initially increase it to\n  # $_history_substring_search_matches_count_plus.\n  #\n  if [[ $_history_substring_search_match_index -le $_history_substring_search_matches_count_sans ]]; then\n    #\n    # Highlight the next match:\n    #\n    # 1. Increase $_history_substring_search_match_index by 1.\n    #\n    # 2. Use $HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_FOUND\n    #    to highlight the current buffer.\n    #\n    (( _history_substring_search_match_index++ ))\n    BUFFER=$history[$_history_substring_search_matches[$_history_substring_search_match_index]]\n    _history_substring_search_query_highlight=$HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_FOUND\n\n  elif [[ $_history_substring_search_match_index -eq $_history_substring_search_matches_count ]]; then\n    #\n    # We will move beyond the beginning of $_history_substring_search_matches:\n    #\n    # 1. Increase $_history_substring_search_match_index by 1.\n    #\n    # 2. Save the current buffer in $_history_substring_search_old_buffer, so\n    #    that it can be retrieved by _history-substring-search-up-search()\n    #    later.\n    #\n    # 3. Make $BUFFER equal to $_history_substring_search_query.\n    #\n    # 4. Use $HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_NOT_FOUND\n    #    to highlight the current buffer.\n    #\n    (( _history_substring_search_match_index++ ))\n    _history_substring_search_old_buffer=$BUFFER\n    BUFFER=$_history_substring_search_query\n    _history_substring_search_query_highlight=$HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_NOT_FOUND\n\n  elif [[ $_history_substring_search_match_index -eq 0 ]]; then\n    #\n    # We were beyond the end of $_history_substring_search_matches but DOWN\n    # makes us move back to the $_history_substring_search_matches:\n    #\n    # 1. Increase $_history_substring_search_match_index by 1.\n    #\n    # 2. Restore $BUFFER from $_history_substring_search_old_buffer.\n    #\n    # 3. Use $HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_FOUND\n    #    to highlight the current buffer.\n    #\n    (( _history_substring_search_match_index++ ))\n    BUFFER=$_history_substring_search_old_buffer\n    _history_substring_search_query_highlight=$HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_FOUND\n  fi\n}\n\n# -*- mode: zsh; sh-indentation: 2; indent-tabs-mode: nil; sh-basic-offset: 2; -*-\n# vim: ft=zsh sw=2 ts=2 et\n"
  },
  {
    "path": "plugins/kate/kate.plugin.zsh",
    "content": "\n# Kate\n# Start kate always silent\nalias kate='kate >/dev/null 2>&1'\n\nfunction kt () {\n  cd $1\n  kate $1\n}"
  },
  {
    "path": "plugins/knife/_knife",
    "content": "#compdef knife\n\n# These flags should be available everywhere according to man knife\nknife_general_flags=( --help --server-url --key --config --editor --format --log_level --logfile --no-editor --user --print-after --version --yes )\n\n# knife has a very special syntax, some example calls are:\n# knife status\n# knife cookbook list\n# knife role show ROLENAME\n# knife data bag show DATABAGNAME\n# knife role show ROLENAME --attribute ATTRIBUTENAME\n# knife cookbook show COOKBOOKNAME COOKBOOKVERSION recipes\n\n# The -Q switch in compadd allow for completions of things like \"data bag\" without having to go through two rounds of completion and avoids zsh inserting a \\ for escaping spaces\n_knife() {\n  local curcontext=\"$curcontext\" state line\n  typeset -A opt_args\n  cloudproviders=(bluebox ec2 rackspace slicehost terremark)\n  _arguments \\\n    '1: :->knifecmd'\\\n    '2: :->knifesubcmd'\\\n    '3: :->knifesubcmd2' \\\n    '4: :->knifesubcmd3' \\\n    '5: :->knifesubcmd4' \\\n    '6: :->knifesubcmd5'\n  \n  case $state in\n  knifecmd)\n    compadd -Q \"$@\" bootstrap client configure cookbook \"cookbook site\" \"data bag\" exec index node recipe role search ssh status windows $cloudproviders\n  ;;\n  knifesubcmd)\n    case $words[2] in\n    (bluebox|ec2|rackspace|slicehost|terremark)\n      compadd \"$@\" server images\n    ;;\n    client)\n      compadd -Q \"$@\" \"bulk delete\" list create show delete edit reregister\n    ;;\n    configure)\n      compadd \"$@\" client\n    ;;\n    cookbook)\n      compadd -Q \"$@\" test list create download delete \"metadata from\" show \"bulk delete\" metadata upload\n    ;;\n    node)\n     compadd -Q \"$@\" \"from file\" create show edit delete list run_list \"bulk delete\"\n    ;;\n    recipe)\n     compadd \"$@\" list\n    ;;\n    role)\n      compadd -Q \"$@\" \"bulk delete\" create delete edit \"from file\" list show\n    ;; \n    windows)\n      compadd \"$@\" bootstrap\n    ;;\n    *)\n    _arguments '2:Subsubcommands:($(_knife_options1))'\n    esac\n   ;;\n   knifesubcmd2)\n    case $words[3] in\n     server)\n      compadd \"$@\" list create delete\n    ;;\n     images)\n      compadd \"$@\" list\n    ;;\n     site)\n      compadd \"$@\" vendor show share search download list unshare\n    ;;\n     (show|delete|edit)\n     _arguments '3:Subsubcommands:($(_chef_$words[2]s_remote))'\n    ;;\n    (upload|test)\n     _arguments '3:Subsubcommands:($(_chef_$words[2]s_local) --all)'\n    ;;\n    list)\n     compadd -a \"$@\" knife_general_flags\n    ;;\n    bag)\n      compadd -Q \"$@\" show edit list \"from file\" create delete\n    ;;\n    *)\n      _arguments '3:Subsubcommands:($(_knife_options2))'\n    esac\n   ;;\n   knifesubcmd3)\n     case $words[3] in\n      show)\n       case $words[2] in\n       cookbook)\n          versioncomp=1\n          _arguments '4:Cookbookversions:($(_cookbook_versions) latest)'\n       ;;\n       (node|client|role)\n         compadd \"$@\" --attribute\n       esac\n     esac\n     case $words[4] in\n     (show|edit)\n     _arguments '4:Subsubsubcommands:($(_chef_$words[2]_$words[3]s_remote))'\n    ;;\n     file)\n     _arguments '*:file or directory:_files -g \"*.(rb|json)\"'\n    ;;\n      list)\n     compadd -a \"$@\" knife_general_flags\n    ;;\n        *)\n       _arguments '*:Subsubcommands:($(_knife_options3))'\n    esac\n    ;;\n    knifesubcmd4)\n      if (( versioncomp > 0 )); then\n        compadd \"$@\" attributes definitions files libraries providers recipes resources templates\n      else\n       _arguments '*:Subsubcommands:($(_knife_options2))'\n      fi\n    ;; \n    knifesubcmd5) \n      _arguments '*:Subsubcommands:($(_knife_options3))'\n   esac\n}\n\n# Helper functions to provide the argument completion for several depths of commands\n_knife_options1() {\n ( for line in $( knife $words[2] --help | grep -v \"^knife\" ); do echo $line | grep \"\\-\\-\"; done )\n}\n\n_knife_options2() {\n ( for line in $( knife $words[2] $words[3] --help | grep -v \"^knife\" ); do echo $line | grep \"\\-\\-\"; done )\n}\n\n_knife_options3() {\n ( for line in $( knife $words[2] $words[3] $words[4] --help | grep -v \"^knife\" ); do echo $line | grep \"\\-\\-\"; done )\n}\n\n# The chef_x_remote functions use knife to get a list of objects of type x on the server\n_chef_roles_remote() {\n (knife role list | grep \\\" | awk '{print $1}' | awk -F\",\" '{print $1}' | awk -F\"\\\"\" '{print $2}')\n}\n\n_chef_clients_remote() {\n (knife client list | grep \\\" | awk '{print $1}' | awk -F\",\" '{print $1}' | awk -F\"\\\"\" '{print $2}')\n}\n\n_chef_nodes_remote() {\n (knife node list | grep \\\" | awk '{print $1}' | awk -F\",\" '{print $1}' | awk -F\"\\\"\" '{print $2}')\n}\n\n_chef_cookbooks_remote() {\n (knife cookbook list | grep \\\" | awk '{print $1}' | awk -F\",\" '{print $1}' | awk -F\"\\\"\" '{print $2}')\n}\n\n_chef_sitecookbooks_remote() {\n (knife cookbook site list | grep \\\" | awk '{print $1}' | awk -F\",\" '{print $1}' | awk -F\"\\\"\" '{print $2}')\n}\n\n_chef_data_bags_remote() {\n (knife data bag list | grep \\\" | awk '{print $1}' | awk -F\",\" '{print $1}' | awk -F\"\\\"\" '{print $2}')\n}\n\n# The chef_x_local functions use the knife config to find the paths of relevant objects x to be uploaded to the server\n_chef_cookbooks_local() {\n (for i in $( grep cookbook_path $HOME/.chef/knife.rb | awk 'BEGIN {FS = \"[\" }; {print $2}' | sed 's/\\,//g' | sed \"s/'//g\" | sed 's/\\(.*\\)]/\\1/' ); do ls $i; done)\n}\n\n# This function extracts the available cookbook versions on the chef server\n_cookbook_versions() {\n  (knife cookbook show $words[4] | grep -v $words[4] | grep -v -E '\\]|\\[|\\{|\\}' | sed 's/ //g' | sed 's/\"//g')\n}\n\n_knife \"$@\"\n"
  },
  {
    "path": "plugins/lein/lein.plugin.zsh",
    "content": "function _lein_commands() {\n    local ret=1 state\n    _arguments ':subcommand:->subcommand' && ret=0\n\n    case $state in\n      subcommand)\n        subcommands=(\n          \"clean:remove compiled files and dependencies from project\"\n          \"compile:ahead-of-time compile the project\"\n          \"deps:download and install all dependencies\"\n          \"help:display a list of tasks or help for a given task\"\n          \"install:install the project and its dependencies in your local repository\"\n          \"jar:create a jar file containing the compiled .class files\"\n          \"new:create a new project skeleton\"\n          \"pom:write a pom.xml file to disk for maven interop\"\n          \"test:run the project's tests\"\n          \"uberjar:Create a jar including the contents of each of deps\"\n          \"upgrade:upgrade leiningen to the latest stable release\"\n          \"version:print leiningen's version\"\n        )\n        _describe -t subcommands 'leiningen subcommands' subcommands && ret=0\n    esac\n\n    return ret\n}\n\ncompdef _lein_commands lein\n"
  },
  {
    "path": "plugins/lighthouse/lighthouse.plugin.zsh",
    "content": "# To use: add a .lighthouse file into your directory with the URL to the\n# individual project. For example:\n# https://rails.lighthouseapp.com/projects/8994\n# Example usage: http://screencast.com/t/ZDgwNDUwNT\nopen_lighthouse_ticket () {\n  if [ ! -f .lighthouse-url ]; then\n    echo \"There is no .lighthouse-url file in the current directory...\"\n    return 0;\n  else\n    lighthouse_url=$(cat .lighthouse-url);\n    echo \"Opening ticket #$1\";\n    `open $lighthouse_url/tickets/$1`;\n  fi\n}\n\nalias lho='open_lighthouse_ticket'\n"
  },
  {
    "path": "plugins/lol/lol.plugin.zsh",
    "content": "# LOL!!1\n# Source: http://aur.archlinux.org/packages/lolbash/lolbash/lolbash.sh\n\nalias wtf='dmesg'\nalias onoz='cat /var/log/errors.log'\nalias rtfm='man'\n\nalias visible='echo'\nalias invisible='cat'\nalias moar='more'\n\nalias icanhas='mkdir'\nalias donotwant='rm'\nalias dowant='cp'\nalias gtfo='mv'\n\nalias hai='cd'\nalias plz='pwd'\n\nalias inur='locate'\n\nalias nomz='ps -aux'\nalias nomnom='killall'\n\nalias cya='reboot'\nalias kthxbai='halt'\n"
  },
  {
    "path": "plugins/macports/_port",
    "content": "#compdef port\n\nlocal subcmds \n\n# we cache the list of ports\n# we shall use some cache policy to avoid problems with new ports\nif (( ! $+portlist )); then\n\tportlist=($(port echo all; echo \"all current active inactive installed uninstalled outdated\"))\nfi\n\nsubcmds=(\n'activate'\n'archive'\n'build'\n'cat'\n'clean'\n'configure'\n'contents'\n'deactivate'\n'dependents'\n'deps'\n'destroot'\n'dir'\n'distcheck'\n'distclean'\n'dmg'\n'echo'\n'edit'\n'extract'\n'fetch'\n'file'\n'help'\n'info'\n'install' \n'installed' \n'list'\n'livecheck'\n'location'\n'mpkg'\n'outdated'\n'patch'\n'pkg'\n'provides'\n'rpmpackage'\n'search'\n'selfupdate'\n'sync'\n'test'\n'unarchive'\n'uninstall'\n'upgrade' \n'variants'\n'version'\n)\n\n_arguments -C \\\n'-v[verbose mode (generate verbose messages)]' \\\n'-d[debug mode (generate debugging messages)]' \\\n'-q[quiet mode (suppress messages)]' \\\n'-D[specify portdir]' \\\n'-k[keep mode (do not autoclean after install)]' \\\n'-n[dont follow dependencies in upgrade (only for upgrading)]' \\\n'-a[upgrade all installed ports (only for upgrading)]' \\\n'-u[uninstall non-active ports when upgrading and uninstalling]' \\\n'-f[force mode (ignore state file)]' \\\n'-s[source-only mode]' \\\n'-b[binary-only mode]' \\\n'-o[honor state files older than Portfile]' \\\n'*::command:->command' \\\n&& return 0\n\ncase $state in\n\tcommand)\n\tif ((CURRENT == 1)); then\n\t\tstate=subcommands\n\telse\n\t\tstate=portname\n\tfi\n\t;;\nesac\n\ncase $state in\n\tsubcommands)\n\t_describe -t commands 'port commands' subcmds\n\t;;\n\tportname)\n\t_describe -t commands 'available ports' portlist\n\t;;\nesac\n"
  },
  {
    "path": "plugins/macports/macports.plugin.zsh",
    "content": "#Aliases\nalias pc=\"sudo port clean --all installed\"\nalias pi=\"sudo port install $1\"\nalias psu=\"sudo port selfupdate\"\nalias puni=\"sudo port uninstall inactive\"\nalias puo=\"sudo port upgrade outdated\"\nalias pup=\"psu && puo\"\n\n"
  },
  {
    "path": "plugins/mysql-macports/mysql-macports.plugin.zsh",
    "content": "# commands to control local mysql-server installation\n# paths are for osx installation via macports\n\nalias mysqlstart='sudo /opt/local/share/mysql5/mysql/mysql.server start'\nalias mysqlstop='sudo /opt/local/share/mysql5/mysql/mysql.server stop'\nalias mysqlrestart='sudo /opt/local/share/mysql5/mysql/mysql.server restart'\n\nalias mysqlstatus='mysqladmin5 -u root -p ping'\n"
  },
  {
    "path": "plugins/node/node.plugin.zsh",
    "content": "# Open the node api for your current version to the optional section.\n# TODO: Make the section part easier to use.\nfunction node-docs {\n\topen \"http://nodejs.org/docs/$(node --version)/api/all.html#$1\"\n}\n"
  },
  {
    "path": "plugins/npm/_npm",
    "content": "#compdef npm\n\n# Node Package Manager 0.3.15 completion, letting npm do all the completion work\n\n_npm() {\n  compadd -- $(_npm_complete $words)\n}\n\n# We want to show all errors of any substance, but never the \"npm (not )ok\" one.\n# (Also doesn't consider \"ERR! no match found\" worth breaking the terminal for.)\n_npm_complete() {\n  local ask_npm\n  ask_npm=(npm completion --color false --loglevel error -- $@)\n  { _call_program npm $ask_npm 2>&1 >&3 \\\n  | egrep -v '^(npm (not |)ok|ERR! no match found)$' >&2; \\\n  } 3>&1\n}\n\n_npm \"$@\"\n"
  },
  {
    "path": "plugins/osx/_man-preview",
    "content": "#compdef man-preview\n#autoload\n\n_man\n\n"
  },
  {
    "path": "plugins/osx/osx.plugin.zsh",
    "content": "# ------------------------------------------------------------------------------\n#          FILE:  osx.plugin.zsh\n#   DESCRIPTION:  oh-my-zsh plugin file.\n#        AUTHOR:  Sorin Ionescu (sorin.ionescu@gmail.com)\n#       VERSION:  1.0.1\n# ------------------------------------------------------------------------------\n\n\nfunction tab() {\n  local command=\"cd \\\\\\\"$PWD\\\\\\\"\"\n  (( $# > 0 )) && command=\"${command}; $*\"\n\n  the_app=$(\n    osascript 2>/dev/null <<EOF\n      tell application \"System Events\"\n        name of first item of (every process whose frontmost is true)\n      end tell\nEOF\n  )\n\n  [[ \"$the_app\" == 'Terminal' ]] && {\n    osascript 2>/dev/null <<EOF\n      tell application \"System Events\"\n        tell process \"Terminal\" to keystroke \"t\" using command down\n        tell application \"Terminal\" to do script \"${command}\" in front window\n      end tell\nEOF\n  }\n\n  [[ \"$the_app\" == 'iTerm' ]] && {\n    osascript 2>/dev/null <<EOF\n      tell application \"iTerm\"\n        set current_terminal to current terminal\n        tell current_terminal\n          launch session \"Default Session\"\n          set current_session to current session\n          tell current_session\n            write text \"${command}\"\n          end tell\n        end tell\n      end tell\nEOF\n  }\n}\n\nfunction pfd() {\n  osascript 2>/dev/null <<EOF\n    tell application \"Finder\"\n      return POSIX path of (target of window 1 as alias)\n    end tell\nEOF\n}\n\nfunction pfs() {\n  osascript 2>/dev/null <<EOF\n    set output to \"\"\n    tell application \"Finder\" to set the_selection to selection\n    set item_count to count the_selection\n    repeat with item_index from 1 to count the_selection\n      if item_index is less than item_count then set the_delimiter to \"\\n\"\n      if item_index is item_count then set the_delimiter to \"\"\n      set output to output & ((item item_index of the_selection as alias)'s POSIX path) & the_delimiter\n    end repeat\nEOF\n}\n\nfunction cdf() {\n  cd \"$(pfd)\"\n}\n\nfunction pushdf() {\n  pushd \"$(pfd)\"\n}\n\nfunction quick-look() {\n  (( $# > 0 )) && qlmanage -p $* &>/dev/null &\n}\n\nfunction man-preview() {\n  man -t \"$@\" | open -f -a Preview\n}\n\nfunction trash() {\n  local trash_dir=\"${HOME}/.Trash\"\n  local temp_ifs=$IFS\n  IFS=$'\\n'\n  for item in \"$@\"; do\n    if [[ -e \"$item\" ]]; then\n      item_name=\"$(basename $item)\"\n      if [[ -e \"${trash_dir}/${item_name}\" ]]; then\n        mv -f \"$item\" \"${trash_dir}/${item_name} $(date \"+%H-%M-%S\")\"\n      else\n        mv -f \"$item\" \"${trash_dir}/\"\n      fi\n    fi\n  done\n  IFS=$temp_ifs\n}\n\n"
  },
  {
    "path": "plugins/perl/perl.plugin.zsh",
    "content": "# https://github.com/dbbolton\n#\n# Below are some useful Perl-related aliases/functions that I use with zsh.\n\n\n# Aliases ###################################################################\n\n# perlbrew ########\nalias pbi='perlbrew install'\nalias pbl='perlbrew list'\nalias pbo='perlbrew off'\nalias pbs='perlbrew switch'\nalias pbu='perlbrew use'\n\n# Perl ############\n\n# perldoc`\nalias pd='perldoc'\n\n# use perl like awk/sed\nalias ple='perl -wlne'\n\n# show the latest stable release of Perl\nalias latest-perl='curl -s http://www.perl.org/get.html | perl -wlne '\\''if (/perl\\-([\\d\\.]+)\\.tar\\.gz/) { print $1; exit;}'\\'\n\n\n\n# Functions #################################################################\n\n# newpl - creates a basic Perl script file and opens it with $EDITOR \nnewpl () {\n\t# set $EDITOR to 'vim' if it is undefined\n\t[[ -z $EDITOR ]] && EDITOR=vim\n\n\t# if the file exists, just open it\n\t[[ -e $1 ]] && print \"$1 exists; not modifying.\\n\" && $EDITOR $1\n\n\t# if it doesn't, make it, and open it\n\t[[ ! -e $1 ]] && print '#!/usr/bin/perl'\"\\n\"'use strict;'\"\\n\"'use warnings;'\\\n\t\t\"\\n\\n\" > $1 && $EDITOR $1\n}\n\n\n# pgs - Perl Global Substitution\n# find pattern\t\t= 1st arg\n# replace pattern\t= 2nd arg\n# filename\t\t\t= 3rd arg\npgs() { # [find] [replace] [filename]\n    perl -i.orig -pe 's/'\"$1\"'/'\"$2\"'/g' \"$3\"\n}\n\n\n# Perl grep, because 'grep -P' is terrible. Lets you work with pipes or files.\nprep() { # [pattern] [filename unless STDOUT]\n    perl -nle 'print if /'\"$1\"'/;' $2\n}\n\n# say - append a newline to 'print'\nsay() {\n    print \"$1\\n\"\n}\n\n"
  },
  {
    "path": "plugins/phing/phing.plugin.zsh",
    "content": "_phing_does_target_list_need_generating () {\n  if [ ! -f .phing_targets ]; then return 0;\n  else\n    accurate=$(stat -f%m .phing_targets)\n    changed=$(stat -f%m build.xml)\n    return $(expr $accurate '>=' $changed)\n  fi\n}\n\n_phing () {\n  if [ -f build.xml ]; then\n    if _phing_does_target_list_need_generating; then\n      phing -l |grep -v \":\" |grep -v \"^$\"|grep -v \"\\-\" > .phing_targets\n    fi\n    compadd `cat .phing_targets`\n  fi\n}\n\ncompdef _phing phing\n"
  },
  {
    "path": "plugins/pip/_pip",
    "content": "#compdef pip\n#autoload\n\n# pip zsh completion, based on homebrew completion\n\n_pip_installed() {\n  installed_pkgs=(`pip freeze`)\n}\n\nlocal -a _1st_arguments\n_1st_arguments=(\n  'bundle:Create pybundles (archives containing multiple packages)'\n  'freeze:Output all currently installed packages (exact versions) to stdout'\n  'help:Show available commands'\n  'install:Install packages'\n  'search:Search PyPI'\n  'uninstall:Uninstall packages'\n  'unzip:Unzip individual packages'\n  'zip:Zip individual packages'\n)\n\nlocal expl\nlocal -a pkgs installed_pkgs\n\n_arguments \\\n  '(--version)--version[Show version number of program and exit]' \\\n  '(-v --verbose)'{-v,--verbose}'[Give more output]' \\\n  '(-q --quiet)'{-q,--quiet}'[Give less output]' \\\n  '(-h --help)'{-h,--help}'[Show help]' \\\n  '*:: :->subcmds' && return 0\n\nif (( CURRENT == 1 )); then\n  _describe -t commands \"pip subcommand\" _1st_arguments\n  return\nfi\n\ncase \"$words[1]\" in\n  list)\n      if [[ \"$state\" == forms ]]; then\n        _pip_installed\n        _requested installed_pkgs expl 'installed packages' compadd -a installed_pkgs\n      fi ;;\n  uninstall)\n    _pip_installed\n    _wanted installed_pkgs expl 'installed packages' compadd -a installed_pkgs ;;\nesac\n"
  },
  {
    "path": "plugins/pow/pow.plugin.zsh",
    "content": "# Thanks to Christopher Sexton\n# https://gist.github.com/965032\nfunction kapow {\n\ttouch ~/.pow/$1/tmp/restart.txt\n\tif [ $? -eq 0 ]; then\n\t\techo \"$fg[yellow]Pow restarting $1...$reset_color\"\n\tfi\n}\n\ncompctl -W ~/.pow -/ kapow\n"
  },
  {
    "path": "plugins/powder/_powder",
    "content": "#compdef powder\n#autoload\n\ncompadd `powder help | grep powder | cut -d \" \" -f 4`\n"
  },
  {
    "path": "plugins/rails/rails.plugin.zsh",
    "content": "alias ss='thin --stats \"/thin/stats\" start'\nalias sg='ruby script/generate'\nalias sd='ruby script/destroy'\nalias sp='ruby script/plugin'\nalias ssp='ruby script/spec'\nalias rdbm='rake db:migrate'\nalias sc='ruby script/console'\nalias sd='ruby script/server --debugger'\nalias devlog='tail -f log/development.log'\n\nfunction remote_console() {\n  /usr/bin/env ssh $1 \"( cd $2 && ruby script/console production )\"\n}\n"
  },
  {
    "path": "plugins/rails3/rails3.plugin.zsh",
    "content": "# Rails 3 aliases, backwards-compatible with Rails 2.\n\nfunction _rails_command () {\n  if [ -e \"script/server\" ]; then\n    ruby script/$@\n  else\n    ruby script/rails $@\n  fi\n}\n\nalias rc='_rails_command console'\nalias rd='_rails_command destroy'\nalias rdb='_rails_command dbconsole'\nalias rdbm='rake db:migrate db:test:clone'\nalias rg='_rails_command generate'\nalias rp='_rails_command plugin'\nalias rs='_rails_command server'\nalias rsd='_rails_command server --debugger'\nalias devlog='tail -f log/development.log'\n"
  },
  {
    "path": "plugins/redis-cli/_redis-cli",
    "content": "#compdef redis-cli rec\n#autoload\n\n#redis cli completion, based off homebrew completion (ref. 2011-04-14)\n\nlocal -a _1st_arguments\n_1st_arguments=(\n  'append:append a value to a key'\n  'auth:authenticate to the server'\n  'bgrewriteeaof:asynchronously rewrite the append-only file'\n  'bgsave:asynchornously save the dataset to disk'\n  'blpop:remove and get the first element in a list, or block until one is available'\n  'brpop:remove and get the last element in a list, or block until one is available'\n  'brpoplpush:pop a value from a list, push it to another list and return it; or block until one is available'\n  # 'config get:get the value of a configuration parameter'\n  # 'config set:set a configuration parameter to the given value'\n  # 'config resetstat: reset the stats returned by INFO'\n  'dbsize:return the number of keys in the selected database'\n  # 'debug object:get debugging information about a key'\n  # 'debug setgfault:make the server crash'\n  'decr:decrement the integer value of a key by one'\n  'decrby:decrement the integet value of a key by the given number'\n  'del:delete a key'\n  'discard:discard all commands issued after MULTI'\n  'echo:echo the given string'\n  'exec:execute all commands issued after a MULTI'\n  'exists:determine if a key exists'\n  'expire:set the time to live for a key, in seconds'\n  'expireat:set the expiration for a key as a UNIX timestamp'\n  'flushall:remove all keys from all databases'\n  'flushdb:remove all keys from the current database'\n  'get:get the value of a key'\n  'getbit:returns the bit value at offset in the string value stored at key'\n  'getrange:get a substring of the string stored at a key'\n  'getset:set the string value of a key and return its old value'\n  'hdel:delete a hash field'\n  'hexists:determine if a hash field exists'\n  'hget:get the value of a hash field'\n  'hgetall:get all the fields and values in a hash'\n  'hincrby:increment the integer value of a hash field by the given number'\n  'hkeys:get all the fields in a hash'\n  'hlen:get the number of fields in a hash'\n  'hmget:get the values of all the given hash fields'\n  'hmset:set multiple hash fields to multiple values'\n  'hset:set the string value of a hash field'\n  'hsetnx:set the value of a hash field, only if the field does not exist'\n  'hvals:get all the values in a hash'\n  'incr:increment the integer value of a key by one'\n  'incrby:increment the integer value of a key by the given number'\n  'info:get information and statistics about the server'\n  'keys:find all keys matching the given pattern'\n  'lastsave:get the UNIX timestamp of the last successful save to disk'\n  'lindex:get an element from a list by its index'\n  'linsert:insert an element before or after another element in a list'\n  'llen:get the length of a list'\n  'lpop:remove and get the first element in a list'\n  'lpush:prepend a value to a list'\n  'lpushx:prepend a value to a list, only if the list exists'\n  'lrange:get a range of elements from a list'\n  'lrem:remove elements from a list'\n  'lset:set the value of an element in a list by its index'\n  'ltrim:trim a list to the specified range'\n  'mget:get the values of all the given keys'\n  'monitor:listen for all requests received by the server in real time'\n  'move:move a key to another database'\n  'mset:set multiple keys to muliple values'\n  'msetnx:set multiple keys tom ultiple values, only if none of the keys exist'\n  'multi:mark the start of a transaction block'\n  'object:inspect the internals of Redis objects'\n  'persist:remove the expiration from a key'\n  'ping:ping the server'\n  'psubscribe:listen for messages published to channels matching the given patterns'\n  'publish:post a message to a channel'\n  'punsubscribe:stop listening for messages posted to channels matching the given patterns'\n  'quit:close the connection'\n  'randomkey:return a random key from the keyspace'\n  'rename:rename a key'\n  'renamenx:rename a key, only if the new key does not exist'\n  'rpop:remove and get the last element in a list'\n  'rpoplpush:remove the last element in a list, append it to another list and return it'\n  'rpush:append a value to a list'\n  'rpushx:append a value to a list, only if the list exists'\n  'sadd:add a member to a set'\n  'save:synchronously save the dataset to disk'\n  'scard:get the number of members in a set'\n  'sdiff:subtract multiple sets'\n  'sdiffstore:subtract multiple sets and store the resulting set in a key'\n  'select:change the selected database for the current connection'\n  'set:set the string value of a key'\n  'setbit:sets or clears the bit at offset in the string value stored at key'\n  'setex:set the value and expiration of a key'\n  'setnx:set the value of a key, only if the key does not exist'\n  'setrange:overwrite part of a string at key starting at the specified offset'\n  'shutdown:synchronously save the dataset to disk and then shut down the server'\n  'sinter:intersect multiple sets'\n  'sinterstore:intersect multiple sets and store the resulting set in a key'\n  'sismember:determine if a given value is a member of a set'\n  'slaveof:make the server a slave of another instance, or promote it as master'\n  'smembers:get all the members in a set'\n  'smove:move a member from one set to another'\n  'sort:sort the elements in a list, set or sorted set'\n  'spop:remove and return a random member from a set'\n  'srandmember:get a random member from a set'\n  'srem:remove a member from a set'\n  'strlen:get the length of the value stored in a key'\n  'subscribe:listen for messages published to the given channels'\n  'sunion:add multiple sets'\n  'sunionstore:add multiple sets and store the resulting set in a key'\n  'ttl:get the time to live for a key'\n  'type:determine the type stored at key'\n  'unsubscribe:stop listening for messages posted to the given channels'\n  'unwatch:forget about all watched keys'\n  'watch:watch the given keys to determine execution of the MULTI/EXEC block'\n  'zadd:add a member to a sorted set, or update its score if it already exists'\n  'zcard:get the number of members in a sorted set'\n  'zcount:count the members in a sorted set with scores within the given values'\n  'zincrby:increment the score of a member in a sorted set'\n  'zinterstore:intersect multiple sorted sets and store the resulting sorted set in a new key'\n  'zrange:return a range of members in a sorted set, by index'\n  'zrangebyscore:return a range of members in a sorted set, by score'\n  'zrank:determine the index of a member in a sorted set'\n  'zrem:remove a member from a sorted set'\n  'zremrangebyrank:remove all members in a sorted set within the given indexes'\n  'zremrangebyscore:remove all members in a sorted set within the given scores'\n  'zrevrange:return a range of membrs in a sorted set, by index, with scores ordered from high to low'\n  'zrevrangebyscore:return a range of members in a sorted set, by score, with scores ordered from high to low'\n  'zrevrank:determine the index of a member in a sorted set, with scores ordered from high to low'\n  'zscore:get the score associated with the given member in a sorted set'\n  'zunionstore:add multiple sorted sets and store te resulting sorted set in a new key'\n)\n\nlocal expl\n\n_arguments \\\n  '(-v --version)'{-v,--version}'[show version]' \\\n  '(-h --help)'{-h,--help}'[show help]' \\\n  '*:: :->subcmds' && return 0\n\nif (( CURRENT == 1 )); then\n  _describe -t commands \"redis-cli subcommand\" _1st_arguments\n  return\nfi"
  },
  {
    "path": "plugins/ruby/ruby.plugin.zsh",
    "content": "# TODO: Make this compatible with rvm.\n#       Run sudo gem on the system ruby, not the active ruby.\nalias sgem='sudo gem'\n\n# Find ruby file\nalias rfind='find . -name *.rb | xargs grep -n'\n"
  },
  {
    "path": "plugins/rvm/_rvm",
    "content": "#compdef rvm\n\nlocal curcontext=\"$curcontext\" state line cmds ret=1\n\n_arguments -C \\\n\t'(- 1 *)'{-v,--version}'[display version information]' \\\n\t'(-l|--level)'{-l,--level}'+[patch level to use with rvm use / install]:number' \\\n\t'(--prefix)--prefix[path for all rvm files (~/.rvm/), with trailing slash!]:path:_files' \\\n\t'(--bin)--bin[path for binaries to be placed (~/.rvm/bin/)]:path:_files' \\\n\t'(--source)--source[src directory to use (~/.rvm/src/)]:path:_files' \\\n\t'(--archives)--archives[directory for downladed files (~/.rvm/archives/)]:path:_files' \\\n\t'-S[Specify a script file to attempt to load and run (rubydo)]:file:_files' \\\n\t'-e[Execute code from the command line]:code' \\\n\t'(-G)-G[root gem path to use]:path:_files' \\\n\t'(--gems)--gems[Used to set the gems_flag, use with remove to remove gems]' \\\n\t'(--archive)--archive[Used to set the archive_flag, use with remove to remove archive]' \\\n\t'(--patch)--patch[With MRI Rubies you may specify one or more full paths to patches]' \\\n\t'(-C|--configure)'{-C,--configure}'=[custom configure options]' \\\n\t'(--nice)--nice[process niceness (for slow computers, default 0)]:number' \\\n\t'(--ree)--ree-options[Options passed directly to ree ./installer on the command line]:options' \\\n\t'(--head)--head[with update, updates rvm to git head version]' \\\n\t'(--rubygems)--rubygems[with update, updates rubygems for selected ruby]' \\\n\t'(--default)--default[with ruby select, sets a default ruby for new shells]' \\\n\t'(--debug)--debug[Toggle debug mode on for very verbose output]' \\\n\t'(--trace)--trace[Toggle trace mode on to see EVERYTHING rvm is doing]' \\\n\t'(--force)--force[Force install, removes old install & source before install]' \\\n\t'(--summary)--summary[Used with rubydo to print out a summary of the commands run]' \\\n\t'(--latest)--latest[with gemset --dump skips version strings for latest gem]' \\\n\t'(--gems)--gems[with uninstall/remove removes gems with the interpreter]' \\\n\t'(--docs)--docs[with install, attempt to generate ri after installation]' \\\n\t'(--reconfigure)--reconfigure[Force ./configure on install even if Makefile already exists]' \\\n\t'1: :->cmds' \\\n\t'*: :->args' && ret=0\n\ncase $state in\n\tcmds)\n\t\tcmds=( \n            \"version:show the rvm version installed in rvm_path\"\n            \"use:setup current shell to use a specific ruby version\"\n            \"reload:reload rvm source itself (useful after changing rvm source)\"\n            \"implode:(seppuku) removes the rvm installation completely. This means everything in $rvm_path (~/.rvm).\"\n            \"update:upgrades rvm to the latest version.\"\n            \"reset:remove current and stored default & system settings.\"\n            \"info :show the *current* environment information for current ruby\"\n            \"current:print the *current* ruby version and the name of any gemset being used.\"\n            \"debug:show info plus additional information for common issues\"\n            \"install:install one or many ruby versions\"\n            \"uninstall:uninstall one or many ruby versions, leaves their sources\"\n            \"remove:uninstall one or many ruby versions and remove their sources\"\n            \"migrate:Lets you migrate all gemsets from one ruby to another.\"\n            \"upgrade:Lets you upgrade from one version of a ruby to another, including migrating your gemsets semi-automatically.\"\n            \"wrapper:generates a set of wrapper executables for a given ruby with the specified ruby and gemset combination. Used under the hood for passenger support and the like.\"\n            \"cleanup:Lets you remove stale source folders / archives and other miscellaneous data associated with rvm.\"\n            \"repair:Lets you repair parts of your environment e.g. wrappers, env files and and similar files (e.g. general maintenance).\"\n            \"snapshot:Lets your backup / restore an rvm installation in a lightweight manner.\"\n            \"disk-usage:Tells you how much disk space rvm install is using.\"\n            \"tools:Provides general information about the ruby environment, primarily useful when scripting rvm.\"\n            \"docs:Tools to make installing ri and rdoc documentation easier.\"\n            \"rvmrc:Tools related to managing rvmrc trust and loading.\"\n            \"exec:runs an arbitrary command as a set operation.\"\n            \"ruby:runs a named ruby file against specified and/or all rubies\"\n            \"gem:runs a gem command using selected ruby's 'gem'\"\n            \"rake:runs a rake task against specified and/or all rubies\"\n            \"tests:runs 'rake test' across selected ruby versions\"\n            \"specs:runs 'rake spec' across selected ruby versions\"\n            \"monitor:Monitor cwd for testing, run rake {spec,test} on changes.\"\n            \"gemset:gemsets: http://rvm.beginrescueend.com/gemsets/\"\n            \"rubygems:Switches the installed version of rubygems for the current ruby.\"\n            \"gemdir:display the path to the current gem directory (GEM_HOME).\"\n            \"srcdir:display the path to rvm source directory (may be yanked)\"\n            \"fetch:Performs an archive / src fetch only of the selected ruby.\"\n            \"list:show currently installed rubies, interactive output.\"\n            \"package:Install a dependency package {readline,iconv,zlib,openssl}\"\n            \"notes:Display notes, with operating system specifics.\"\n            \"export:Temporarily set an environment variable in the current shell.\"\n            \"unexport:Undo changes made to the environment by 'rvm export'.\"\n        )\n\t\t_describe -t commands 'rvm command' cmds && ret=0\n\t\t;;\n\targs)\n\t\tcase $line[1] in\n\t\t\t(use|uninstall|remove|list)\n\t\t\t\t_values -S , 'rubies' $(rvm list strings | sed -e 's/ruby-\\([^) ]*\\)-\\([^) ]*\\)/ruby-\\1-\\2 \\1-\\2 \\1/g') default system && ret=0\n\t\t\t\t;;\n\t\t\t(install|fetch)\n\t\t\t\t_values -S , 'rubies' $(rvm list known_strings) && ret=0\n\t\t\t\t;;\n\t\t\tgemset)\n\t\t\t\tif (( CURRENT == 3 )); then\n\t\t\t\t\t_values 'gemset_commands' \\\n                        'import' \\\n                        'export' \\\n                        'create' \\\n                        'copy' \\\n                        'rename' \\\n                        'empty' \\\n                        'delete' \\\n                        'name' \\\n                        'dir' \\\n                        'list' \\\n                        'list_all' \\\n                        'gemdir' \\\n                        'install' \\\n                        'pristine' \\\n                        'clear' \\\n                        'use' \\\n                        'update' \\\n                        'unpack' \\\n                        'globalcache'\n\t\t\t\telse\n\t\t\t\t\t_values -S , 'gemsets' $(rvm gemset list | grep -v gemset 2>/dev/null)\n\t\t\t\tfi\n\t\t\t\tret=0\n\t\t\t\t;;\n\t\t\tpackage)\n\t\t\t\tif (( CURRENT == 3 )); then\n\t\t\t\t\t_values 'package_commands' \\\n                        'install' \\\n                        'uninstall'  \n\t\t\t\telse\n\t\t\t\t\t_values 'packages' \\\n                        'readline' \\\n                        'iconv' \\\n                        'curl' \\\n                        'openssl' \\\n                        'zlib' \\\n                        'autoconf' \\\n                        'ncurses' \\\n                        'pkgconfig' \\\n                        'gettext' \\\n                        'glib' \\\n                        'mono' \\\n                        'llvm' \\\n                        'libxml2' \\\n                        'libxslt' \\\n                        'libyaml'\n\t\t\t\tfi\n\t\t\t\tret=0\n\t\t\t\t;;\n\t\t\t*)\n\t\t\t\t(( ret )) && _message 'no more arguments'\n\t\t\t\t;;\n\t\tesac\n\t\t;;\nesac\n\nreturn ret\n"
  },
  {
    "path": "plugins/rvm/rvm.plugin.zsh",
    "content": "alias rubies='rvm list rubies'\nalias gemsets='rvm gemset list'\n\nlocal ruby18='ruby-1.8.7-p334'\nlocal ruby19='ruby-1.9.2-p180'\n\nfunction rb18 {\n\tif [ -z \"$1\" ]; then\n\t\trvm use \"$ruby18\"\n\telse\n\t\trvm use \"$ruby18@$1\"\n\tfi\n}\n\n_rb18() {compadd `ls -1 $rvm_path/gems | grep \"^$ruby18@\" | sed -e \"s/^$ruby18@//\" | awk '{print $1}'`}\ncompdef _rb18 rb18\n\nfunction rb19 {\n\tif [ -z \"$1\" ]; then\n\t\trvm use \"$ruby19\"\n\telse\n\t\trvm use \"$ruby19@$1\"\n\tfi\n}\n\n_rb19() {compadd `ls -1 $rvm_path/gems | grep \"^$ruby19@\" | sed -e \"s/^$ruby19@//\" | awk '{print $1}'`}\ncompdef _rb19 rb19\n\nfunction rvm-update {\n\trvm get head\n\trvm reload # TODO: Reload rvm completion?\n}\n\n# TODO: Make this usable w/o rvm.\nfunction gems {\n\tlocal current_ruby=`rvm-prompt i v p`\n\tlocal current_gemset=`rvm-prompt g`\n\n\tgem list $@ | sed \\\n\t\t-Ee \"s/\\([0-9\\.]+( .+)?\\)/$fg[blue]&$reset_color/g\" \\\n\t\t-Ee \"s|$(echo $rvm_path)|$fg[magenta]\\$rvm_path$reset_color|g\" \\\n\t\t-Ee \"s/$current_ruby@global/$fg[yellow]&$reset_color/g\" \\\n\t\t-Ee \"s/$current_ruby$current_gemset$/$fg[green]&$reset_color/g\"\n}\n"
  },
  {
    "path": "plugins/ssh-agent/ssh-agent.plugin.zsh",
    "content": "#\n# INSTRUCTIONS\n#\n#   To enabled agent forwarding support add the following to\n#   your .zshrc file:\n#\n#     zstyle :omz:plugins:ssh-agent agent-forwarding on\n#\n#   To load multiple identies use the identities style, For\n#   example:\n#\n#     zstyle :omz:plugins:ssh-agent id_rsa id_rsa2 id_github\n#\n#\n# CREDITS\n#\n#   Based on code from Joseph M. Reagle\n#   http://www.cygwin.com/ml/cygwin/2001-06/msg00537.html\n#\n#   Agent forwarding support based on ideas from\n#   Florent Thoumie and Jonas Pfenniger\n#\n\nlocal _plugin__ssh_env=$HOME/.ssh/environment-$HOST\nlocal _plugin__forwarding\n\nfunction _plugin__start_agent()\n{\n  local -a identities\n\n  # start ssh-agent and setup environment\n  /usr/bin/env ssh-agent | sed 's/^echo/#echo/' > ${_plugin__ssh_env}\n  chmod 600 ${_plugin__ssh_env}\n  . ${_plugin__ssh_env} > /dev/null\n\n  # load identies\n  zstyle -a :omz:plugins:ssh-agent identities identities \n  echo starting...\n  /usr/bin/ssh-add $HOME/.ssh/${^identities}\n}\n\n# test if agent-forwarding is enabled\nzstyle -b :omz:plugins:ssh-agent agent-forwarding _plugin__forwarding\nif [[ ${_plugin__forwarding} == \"yes\" && -n \"$SSH_AUTH_SOCK\" ]]; then\n  # Add a nifty symlink for screen/tmux if agent forwarding\n  [[ -L $SSH_AUTH_SOCK ]] || ln -sf \"$SSH_AUTH_SOCK\" /tmp/ssh-agent-$USER-screen\n\nelif [ -f \"${_plugin__ssh_env}\" ]; then\n  # Source SSH settings, if applicable\n  . ${_plugin__ssh_env} > /dev/null\n  ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || {\n    _plugin__start_agent;\n  }\nelse\n  _plugin__start_agent;\nfi\n\n# tidy up after ourselves\nunfunction _plugin__start_agent\nunset _plugin__forwarding\nunset _plugin__ssh_env\n\n"
  },
  {
    "path": "plugins/svn/svn.plugin.zsh",
    "content": "function svn_prompt_info {\n    if [ in_svn ]; then\n        echo \"$ZSH_PROMPT_BASE_COLOR$ZSH_THEME_SVN_PROMPT_PREFIX\\\n$ZSH_THEME_REPO_NAME_COLOR$(svn_get_repo_name)$ZSH_PROMPT_BASE_COLOR$ZSH_THEME_SVN_PROMPT_SUFFIX$ZSH_PROMPT_BASE_COLOR$(svn_dirty)$ZSH_PROMPT_BASE_COLOR\"\n    fi\n}\n\n\nfunction in_svn() {\n    if [[ -d .svn ]]; then\n        echo 1\n    fi\n}\n\nfunction svn_get_repo_name {\n    if [ in_svn ]; then\n        svn info | sed -n 's/Repository\\ Root:\\ .*\\///p' | read SVN_ROOT\n    \n        svn info | sed -n \"s/URL:\\ .*$SVN_ROOT\\///p\" | sed \"s/\\/.*$//\"\n    fi\n}\n\nfunction svn_get_rev_nr {\n    if [ in_svn ]; then\n        svn info 2> /dev/null | sed -n s/Revision:\\ //p\n    fi\n}\n\nfunction svn_dirty_choose {\n    if [ in_svn ]; then\n        s=$(svn status|grep -E '^\\s*[ACDIM!?L]' 2>/dev/null)\n        if [ $s ]; then \n            echo $1\n        else \n            echo $2\n        fi\n    fi\n}\n\nfunction svn_dirty {\n    svn_dirty_choose $ZSH_THEME_SVN_PROMPT_DIRTY $ZSH_THEME_SVN_PROMPT_CLEAN\n}\n"
  },
  {
    "path": "plugins/taskwarrior/_task",
    "content": "#compdef task\n#\n# zsh completion for taskwarrior\n#\n# Copyright 2010 - 2011 Johannes Schlatow\n# Copyright 2009 P.C. Shyamshankar\n# All rights reserved.\n#\n# This script is part of the taskwarrior project.\n#\n# This program is free software; you can redistribute it and/or modify it under\n# the terms of the GNU General Public License as published by the Free Software\n# Foundation; either version 2 of the License, or (at your option) any later\n# version.\n#\n# This program is distributed in the hope that it will be useful, but WITHOUT\n# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS\n# FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more\n# details.\n#\n# You should have received a copy of the GNU General Public License along with\n# this program; if not, write to the\n#\n#     Free Software Foundation, Inc.,\n#     51 Franklin Street, Fifth Floor,\n#     Boston, MA\n#     02110-1301\n#     USA\n#\ntypeset -g _task_cmds _task_projects _task_tags _task_config _task_modifiers\n_task_projects=($(task _projects))\n_task_tags=($(task _tags))\n_task_ids=($(task _ids))\n_task_config=($(task _config))\n_task_modifiers=(\n\t'before' \\\n\t'after' \\\n\t'none' \\\n\t'any' \\\n\t'is' \\\n\t'isnt' \\\n\t'has' \\\n\t'hasnt' \\\n\t'startswith' \\\n\t'endswith' \\\n\t'word' \\\n\t'noword'\n)\n_task_cmds=($(task _commands))\n_task_zshcmds=( ${(f)\"$(task _zshcommands)\"} )\n\n\n_task_idCmds=(\n\t'append' \\\n\t'prepend' \\\n\t'annotate' \\\n\t'denotate' \\\n\t'edit' \\\n\t'duplicate' \\\n\t'info' \\\n\t'start' \\\n\t'stop' \\\n\t'done'\n)\n\n_task_idCmdsDesc=(\n\t'append:Appends more description to an existing task.' \\\n\t'prepend:Prepends more description to an existing task.' \\\n\t'annotate:Adds an annotation to an existing task.' \\\n\t'denotate:Deletes an annotation of an existing task.' \\\n\t'edit:Launches an editor to let you modify a task directly.' \\\n\t'duplicate:Duplicates the specified task, and allows modifications.' \\\n\t'info:Shows all data, metadata for specified task.' \\\n\t'start:Marks specified task as started.' \\\n\t'stop:Removes the start time from a task.' \\\n\t'done:Marks the specified task as completed.'\n)\n\n_task() {\n    _arguments -s -S \\\n        \"*::task command:_task_commands\"\n    return 0\n}\n\nlocal -a reply args word\nword=$'[^\\0]#\\0'\n\n# priorities\nlocal -a task_priorities\n_regex_words values 'task priorities' \\\n\t'H:High' \\\n\t'M:Middle' \\\n\t'L:Low'\ntask_priorities=(\"$reply[@]\")\n\n# projects\nlocal -a task_projects\ntask_projects=(\n\t/\"$word\"/\n\t\":values:task projects:compadd -a _task_projects\"\n)\n\nlocal -a _task_dates\n_regex_words values 'task dates' \\\n\t'tod*ay:Today' \\\n\t'yes*terday:Yesterday' \\\n\t'tom*orrow:Tomorrow' \\\n\t'sow:Start of week' \\\n\t'soww:Start of work week' \\\n\t'socw:Start of calendar week' \\\n\t'som:Start of month' \\\n\t'soy:Start of year' \\\n\t'eow:End of week' \\\n\t'eoww:End of work week' \\\n\t'eocw:End of calendar week' \\\n\t'eom:End of month' \\\n\t'eoy:End of year' \\\n\t'mon:Monday' \\\n\t'tue:Tuesday'\\\n\t'wed:Wednesday' \\\n\t'thu:Thursday' \\\n\t'fri:Friday' \\\n\t'sat:Saturday' \\\n\t'sun:Sunday'\n_task_dates=(\"$reply[@]\")\n\nlocal -a _task_reldates\n_regex_words values 'task reldates' \\\n\t'hrs:n hours' \\\n\t'day:n days' \\\n\t'1st:first' \\\n\t'2nd:second' \\\n\t'3rd:third' \\\n\t'th:4th, 5th, etc.' \\\n\t'wks:weeks'\n_task_reldates=(\"$reply[@]\")\n\ntask_dates=(\n\t\\( \"$_task_dates[@]\" \\|\n    \\( /$'[0-9][0-9]#'/- \\( \"$_task_reldates[@]\" \\) \\)\n\t\\)\n)\n\n_regex_words values 'task frequencies' \\\n\t'daily:Every day' \\\n\t'day:Every day' \\\n\t'weekdays:Every day skipping weekend days' \\\n\t'weekly:Every week' \\\n\t'biweekly:Every two weeks' \\\n\t'fortnight:Every two weeks' \\\n\t'quarterly:Every three months' \\\n\t'semiannual:Every six months' \\\n\t'annual:Every year' \\\n\t'yearly:Every year' \\\n\t'biannual:Every two years' \\\n\t'biyearly:Every two years'\n_task_freqs=(\"$reply[@]\")\n\nlocal -a _task_frequencies\n_regex_words values 'task frequencies' \\\n\t'd:days' \\\n\t'w:weeks' \\\n\t'q:quarters' \\\n\t'y:years'\n_task_frequencies=(\"$reply[@]\")\n\ntask_freqs=(\n\t\\( \"$_task_freqs[@]\" \\|\n     \\( /$'[0-9][0-9]#'/- \\( \"$_task_frequencies[@]\" \\) \\)\n\t\\)\n)\n\n# attributes\nlocal -a task_attributes\n_regex_words -t ':' default 'task attributes' \\\n\t'pro*ject:Project name:$task_projects' \\\n\t'du*e:Due date:$task_dates' \\\n\t'wa*it:Date until task becomes pending:$task_dates' \\\n\t're*cur:Recurrence frequency:$task_freqs' \\\n\t'pri*ority:priority:$task_priorities' \\\n\t'un*til:Recurrence end date:$task_dates' \\\n\t'fg:Foreground color' \\\n\t'bg:Background color' \\\n\t'li*mit:Desired number of rows in report'\ntask_attributes=(\"$reply[@]\")\n\nargs=(\n\t\\( \"$task_attributes[@]\" \\|\n\t\\( /'(project|due|wait|recur|priority|until|fg|bg|limit).'/- \\( /$'[^:]#:'/ \":default:modifiers:compadd -S ':' -a _task_modifiers\" \\) \\) \\|\n\t\\( /'(rc).'/- \\( /$'[^:]#:'/ \":arguments:config:compadd -S ':' -a _task_config\" \\) \\) \\|\n\t\\( /'(+|-)'/- \\( /\"$word\"/ \":values:remove tag:compadd -a _task_tags\" \\) \\) \\|\n\t\\( /\"$word\"/ \\)\n\t\\) \\#\n)\n_regex_arguments _task_attributes \"${args[@]}\"\n\n## task commands\n\n# default completion\n(( $+functions[_task_default] )) ||\n_task_default() {\n\t_task_attributes \"$@\"\n}\n\n# commands expecting an ID\n(( $+functions[_task_id] )) ||\n_task_id() {\n\tif (( CURRENT < 3 )); then\n\t\t# update IDs\n\t\t_task_zshids=( ${(f)\"$(task _zshids)\"} )\n\t\t_describe -t values 'task IDs' _task_zshids\n\telse\n\t\t_task_attributes \"$@\"\n\tfi\n}\n\n# merge completion\n(( $+functions[_task_merge] )) ||\n_task_merge() {\n\t# TODO match URIs in .taskrc\n\t_files\n}\n\n# push completion\n(( $+functions[_task_push] )) ||\n_task_push() {\n\t# TODO match URIs in .taskrc\n\t_files\n}\n\n# pull completion\n(( $+functions[_task_pull] )) ||\n_task_pull() {\n\t# TODO match URIs in .taskrc\n\t_files\n}\n\n\n# modify (task [0-9]* ...) completion\n(( $+functions[_task_modify] )) ||\n_task_modify() {\n\t_describe -t commands 'task command' _task_idCmdsDesc\n\t_task_attributes \"$@\"\n}\n\n## first level completion => task sub-command completion\n(( $+functions[_task_commands] )) ||\n_task_commands() {\n    local cmd ret=1\n\tif (( CURRENT == 1 )); then\n\t\t# update IDs\n\t\t_task_zshids=( ${(f)\"$(task _zshids)\"} )\n\n\t\t_describe -t commands 'task command' _task_zshcmds\n\t\t_describe -t values 'task IDs' _task_zshids\n\t\t# TODO match more than one ID\n\telif [[ $words[1] =~ ^[0-9]*$ ]] then\n\t\t _call_function ret _task_modify\n\t\t return ret\n\telse\n#        local curcontext=\"${curcontext}\"\n#        cmd=\"${_task_cmds[(r)$words[1]:*]%%:*}\"\n\t\t  cmd=\"${_task_cmds[(r)$words[1]]}\"\n\t\t  idCmd=\"${(M)_task_idCmds[@]:#$words[1]}\"\n        if (( $#cmd )); then\n#            curcontext=\"${curcontext%:*:*}:task-${cmd}\"\n\n\t\t\t\tif (( $#idCmd )); then\n\t\t\t\t\t_call_function ret _task_id\n\t\t\t\telse\n\t\t\t\t\t_call_function ret _task_${cmd} ||\n\t\t\t\t\t\t_call_function ret _task_default ||\n\t\t\t\t\t\t\t_message \"No command remaining.\"\n\t\t\t\tfi\n        else\n            _message \"Unknown subcommand ${cmd}\"\n        fi\n        return ret\n    fi\n}\n"
  },
  {
    "path": "plugins/taskwarrior/taskwarrior.plugin.zsh",
    "content": "################################################################################\n# Author: Pete Clark\n# Email: pete[dot]clark[at]gmail[dot]com\n# Version: 0.1 (05/24/2011)\n# License: WTFPL<http://sam.zoy.org/wtfpl/>\n#\n# This oh-my-zsh plugin adds smart tab completion for\n# TaskWarrior<http://taskwarrior.org/>. It uses the zsh tab completion\n# script (_task) distributed with TaskWarrior for the completion definitions.\n#\n# Typing task[tabtab] will give you a list of current tasks, task 66[tabtab]\n# gives a list of available modifications for that task, etc.\n################################################################################\n\nzstyle ':completion:*:*:task:*' verbose yes\nzstyle ':completion:*:*:task:*:descriptions' format '%U%B%d%b%u'\n\nzstyle ':completion:*:*:task:*' group-name ''\n\nalias t=task\ncompdef _task t=task\n"
  },
  {
    "path": "plugins/textmate/textmate.plugin.zsh",
    "content": "alias et='mate .'\nalias ett='mate app config lib db public spec test Rakefile Capfile Todo'\nalias etp='mate app config lib db public spec test vendor/plugins vendor/gems Rakefile Capfile Todo'\nalias etts='mate app config lib db public script spec test vendor/plugins vendor/gems Rakefile Capfile Todo'\n\n# Edit Ruby app in TextMate\nalias mr='mate CHANGELOG app config db lib public script spec test'\n\nfunction tm() {\n  cd $1\n  mate $1\n}\n"
  },
  {
    "path": "plugins/thor/_thor",
    "content": "#compdef thor\n#autoload\n\ncompadd `thor list | grep thor | cut -d \" \" -f 2`\n"
  },
  {
    "path": "plugins/vagrant/_vagrant",
    "content": "#compdef vagrant \n#autoload\n\n# vagrant zsh completion\n\nlocal -a _1st_arguments\n_1st_arguments=(\n    'box:Box commands'\n    'destroy:Destroys the vagrant environment'\n    'halt:Halts the currently running vagrant environment'\n    'help:[TASK] Describe available tasks or one specific task'\n    'init:[box_name] [box_url] Initializes current folder for Vagrant usage'\n    'package:Packages a vagrant environment for distribution'\n    'provision:Run the provisioner'\n    'reload:Reload the vagrant environment'\n    'resume:Resumes a suspend vagrant environment'\n    'ssh:SSH into the currently running environment'\n    'ssh_config:outputs .ssh/config valid syntax for connecting to this environment via ssh.'\n    'status:Shows the status of the current Vagrant environment.'\n    'suspend:Suspends the currently running vagrant environment'\n    'up:Creates the vagrant environment'\n    'version:Prints the Vagrant version information'\n)\n\nlocal -a _box_arguments\n_box_arguments=(\n    'add:NAME URI Add a box to the system'\n    'help:COMMAND Describe subcommands or one specific subcommand'\n    'list:Lists all installed boxes'\n    'remove:NAME Remove a box from the system'\n    'repackage:NAME Repackage an installed box into a `.box` file.'\n)\n\n__task_list ()\n{\n    local expl\n    declare -a tasks\n\n    tasks=(box destroy halt init package provision reload resume ssh ssh_config status suspend up version)\n\n    _wanted tasks expl 'help' compadd $tasks\n}\n\n__box_list ()\n{\n    _wanted application expl 'command' compadd $(command ls -1 $HOME/.vagrant/boxes 2>/dev/null| sed -e 's/ /\\\\ /g')\n}\n\n__vagrant-box ()\n{\n    local curcontext=\"$curcontext\" state line\n    typeset -A opt_args\n\n    _arguments -C \\\n        ':command:->command' \\\n        '*::options:->options'\n\n   case $state in\n       (command)\n           _describe -t commands \"gem subcommand\" _box_arguments\n           return\n       ;;\n\n       (options)\n           case $line[1] in\n               (repackage|remove)\n                   _arguments ':feature:__box_list' \n               ;;\n           esac\n       ;;\n    esac\n}\n\n\n\n\nlocal expl\nlocal -a boxes installed_boxes\n\nlocal curcontext=\"$curcontext\" state line\ntypeset -A opt_args\n\n_arguments -C \\\n    ':command:->command' \\\n    '*::options:->options'\n\ncase $state in\n  (command)\n      _describe -t commands \"gem subcommand\" _1st_arguments\n      return\n  ;;\n\n  (options)\n    case $line[1] in\n      (help)\n         _arguments ':feature:__task_list' \n      ;;\n\n      (box)\n          __vagrant-box\n      ;;\n    esac\n  ;;\nesac\n"
  },
  {
    "path": "plugins/vi-mode/vi-mode.plugin.zsh",
    "content": "function zle-line-init zle-keymap-select {\n  zle reset-prompt\n}\n\nzle -N zle-line-init\nzle -N zle-keymap-select\n\nbindkey -v\n\n# if mode indicator wasn't setup by theme, define default\nif [[ \"$MODE_INDICATOR\" == \"\" ]]; then\n  MODE_INDICATOR=\"%{$fg_bold[red]%}<%{$fg[red]%}<<%{$reset_color%}\"\nfi\n\nfunction vi_mode_prompt_info() {\n  echo \"${${KEYMAP/vicmd/$MODE_INDICATOR}/(main|viins)/}\"\n}\n\n# define right prompt, if it wasn't defined by a theme\nif [[ \"$RPS1\" == \"\" && \"$RPROMPT\" == \"\" ]]; then\n  RPS1='$(vi_mode_prompt_info)'\nfi\n"
  },
  {
    "path": "plugins/yum/yum.plugin.zsh",
    "content": "## Aliases\n\nalias ys=\"yum search\"                       # search package\nalias yp=\"yum info\"                         # show package info\nalias yl=\"yum list\"                         # list packages\nalias yli=\"yum list installed\"              # print all installed packages\n\nalias yu=\"sudo yum update\"                  # upgrate packages\nalias yi=\"sudo yum install\"                 # install package\nalias yr=\"sudo yum remove\"                  # remove package\nalias yrl=\"sudo yum remove --remove-leaves\" # remove package and leaves\nalias yc=\"sudo yum clean all\"               # clean cache\n"
  },
  {
    "path": "templates/zshrc.zsh-template",
    "content": "# Path to your oh-my-zsh configuration.\nZSH=$HOME/.oh-my-zsh\n\n# Set name of the theme to load.\n# Look in ~/.oh-my-zsh/themes/\n# Optionally, if you set this to \"random\", it'll load a random theme each\n# time that oh-my-zsh is loaded.\nexport ZSH_THEME=\"random\"\n\n# Set to this to use case-sensitive completion\n# CASE_SENSITIVE=\"true\"\n\n# Comment this out to disable weekly auto-update checks\n# DISABLE_AUTO_UPDATE=\"true\"\n\n# Uncomment following line if you want to disable colors in ls\n# DISABLE_LS_COLORS=\"true\"\n\n# Uncomment following line if you want to disable autosetting terminal title.\n# DISABLE_AUTO_TITLE=\"true\"\n\n# Uncomment following line if you want disable red dots displayed while waiting for completion\n# DISABLE_COMPLETION_WAITING_DOTS=\"true\"\n\n# Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*)\n# Example format: plugins=(rails git textmate ruby lighthouse)\nplugins=(git)\n\nsource $ZSH/oh-my-zsh.sh\n\n# Customize to your needs...\n"
  },
  {
    "path": "themes/Soliah.zsh-theme",
    "content": "PROMPT='%{$fg[blue]%}%n%{$reset_color%} on %{$fg[red]%}%M%{$reset_color%} in %{$fg[blue]%}%~%b%{$reset_color%}$(git_time_since_commit)$(check_git_prompt_info)\n$ '\n\nZSH_THEME_GIT_PROMPT_PREFIX=\"%{$fg[white]%}\"\nZSH_THEME_GIT_PROMPT_SUFFIX=\"%{$reset_color%})\"\n\n# Text to display if the branch is dirty\nZSH_THEME_GIT_PROMPT_DIRTY=\"%{$fg[red]%}*%{$reset_color%}\" \n\n# Text to display if the branch is clean\nZSH_THEME_GIT_PROMPT_CLEAN=\"\" \n\n# Colors vary depending on time lapsed.\nZSH_THEME_GIT_TIME_SINCE_COMMIT_SHORT=\"%{$fg[green]%}\"\nZSH_THEME_GIT_TIME_SHORT_COMMIT_MEDIUM=\"%{$fg[yellow]%}\"\nZSH_THEME_GIT_TIME_SINCE_COMMIT_LONG=\"%{$fg[red]%}\"\nZSH_THEME_GIT_TIME_SINCE_COMMIT_NEUTRAL=\"%{$fg[cyan]%}\"\n\n\n# Git sometimes goes into a detached head state. git_prompt_info doesn't\n# return anything in this case. So wrap it in another function and check\n# for an empty string.\nfunction check_git_prompt_info() {\n    if git rev-parse --git-dir > /dev/null 2>&1; then\n        if [[ -z $(git_prompt_info) ]]; then\n            echo \"%{$fg[magenta]%}detached-head%{$reset_color%})\"\n        else\n            echo \"$(git_prompt_info)\"\n        fi\n    fi\n}\n\n# Determine if we are using a gemset.\nfunction rvm_gemset() {\n    GEMSET=`rvm gemset list | grep '=>' | cut -b4-`\n    if [[ -n $GEMSET ]]; then\n        echo \"%{$fg[yellow]%}$GEMSET%{$reset_color%}|\"\n    fi \n\n}\n\n# Determine the time since last commit. If branch is clean,\n# use a neutral color, otherwise colors will vary according to time.\nfunction git_time_since_commit() {\n    if git rev-parse --git-dir > /dev/null 2>&1; then\n        # Only proceed if there is actually a commit.\n        if [[ $(git log 2>&1 > /dev/null | grep -c \"^fatal: bad default revision\") == 0 ]]; then\n            # Get the last commit.\n            last_commit=`git log --pretty=format:'%at' -1 2> /dev/null`\n            now=`date +%s`\n            seconds_since_last_commit=$((now-last_commit))\n\n            # Totals\n            MINUTES=$((seconds_since_last_commit / 60))\n            HOURS=$((seconds_since_last_commit/3600))\n           \n            # Sub-hours and sub-minutes\n            DAYS=$((seconds_since_last_commit / 86400))\n            SUB_HOURS=$((HOURS % 24))\n            SUB_MINUTES=$((MINUTES % 60))\n            \n            if [[ -n $(git status -s 2> /dev/null) ]]; then\n                if [ \"$MINUTES\" -gt 30 ]; then\n                    COLOR=\"$ZSH_THEME_GIT_TIME_SINCE_COMMIT_LONG\"\n                elif [ \"$MINUTES\" -gt 10 ]; then\n                    COLOR=\"$ZSH_THEME_GIT_TIME_SHORT_COMMIT_MEDIUM\"\n                else\n                    COLOR=\"$ZSH_THEME_GIT_TIME_SINCE_COMMIT_SHORT\"\n                fi\n            else\n                COLOR=\"$ZSH_THEME_GIT_TIME_SINCE_COMMIT_NEUTRAL\"\n            fi\n\n            if [ \"$HOURS\" -gt 24 ]; then\n                echo \"($(rvm_gemset)$COLOR${DAYS}d${SUB_HOURS}h${SUB_MINUTES}m%{$reset_color%}|\"\n            elif [ \"$MINUTES\" -gt 60 ]; then\n                echo \"($(rvm_gemset)$COLOR${HOURS}h${SUB_MINUTES}m%{$reset_color%}|\"\n            else\n                echo \"($(rvm_gemset)$COLOR${MINUTES}m%{$reset_color%}|\"\n            fi\n        else\n            COLOR=\"$ZSH_THEME_GIT_TIME_SINCE_COMMIT_NEUTRAL\"\n            echo \"($(rvm_gemset)$COLOR~|\"\n        fi\n    fi\n}\n"
  },
  {
    "path": "themes/afowler.zsh-theme",
    "content": "if [ $UID -eq 0 ]; then CARETCOLOR=\"red\"; else CARETCOLOR=\"blue\"; fi\n\nlocal return_code=\"%(?..%{$fg[red]%}%? ↵%{$reset_color%})\"\n\nPROMPT='%m %{${fg_bold[blue]}%}:: %{$reset_color%}%{${fg[green]}%}%3~ $(git_prompt_info)%{${fg_bold[$CARETCOLOR]}%}»%{${reset_color}%} '\n\nRPS1=\"${return_code}\"\n\nZSH_THEME_GIT_PROMPT_PREFIX=\"%{$fg[yellow]%}‹\"\nZSH_THEME_GIT_PROMPT_SUFFIX=\"› %{$reset_color%}\"\n"
  },
  {
    "path": "themes/alanpeabody.zsh-theme",
    "content": "\nlocal user='%{$fg[magenta]%}%n@%{$fg[magenta]%}%m%{$reset_color%}'\nlocal pwd='%{$fg[blue]%}%~%{$reset_color%}'\nlocal rvm='%{$fg[green]%}‹$(rvm-prompt i v g)›%{$reset_color%}'\nlocal return_code='%(?..%{$fg[red]%}%? ↵%{$reset_color%})'\nlocal git_branch='$(git_prompt_status)%{$reset_color%}$(git_prompt_info)%{$reset_color%}'\n\nZSH_THEME_GIT_PROMPT_PREFIX=\"%{$fg[green]%}\"\nZSH_THEME_GIT_PROMPT_SUFFIX=\"%{$reset_color%}\"\nZSH_THEME_GIT_PROMPT_DIRTY=\"\"\nZSH_THEME_GIT_PROMPT_CLEAN=\"\"\n\nZSH_THEME_GIT_PROMPT_ADDED=\"%{$fg[green]%} ✚\"\nZSH_THEME_GIT_PROMPT_MODIFIED=\"%{$fg[blue]%} ✹\"\nZSH_THEME_GIT_PROMPT_DELETED=\"%{$fg[red]%} ✖\"\nZSH_THEME_GIT_PROMPT_RENAMED=\"%{$fg[magenta]%} ➜\"\nZSH_THEME_GIT_PROMPT_UNMERGED=\"%{$fg[yellow]%} ═\"\nZSH_THEME_GIT_PROMPT_UNTRACKED=\"%{$fg[cyan]%} ✭\"\n\nPROMPT=\"${user} ${pwd}$ \"\nRPROMPT=\"${return_code} ${git_branch} ${rvm}\"\n\n"
  },
  {
    "path": "themes/arrow.zsh-theme",
    "content": "if [ $UID -eq 0 ]; then NCOLOR=\"red\"; else NCOLOR=\"yellow\"; fi\n\nPROMPT='%{$fg[$NCOLOR]%}%c ➤ %{$reset_color%}'\nRPROMPT='%{$fg[$NCOLOR]%}%p $(git_prompt_info)%{$reset_color%}'\n\nZSH_THEME_GIT_PROMPT_PREFIX=\"git:\"\nZSH_THEME_GIT_PROMPT_SUFFIX=\"\"\nZSH_THEME_GIT_PROMPT_DIRTY=\"*\"\nZSH_THEME_GIT_PROMPT_CLEAN=\"\"\n\n# See http://geoff.greer.fm/lscolors/\nexport LSCOLORS=\"exfxcxdxbxbxbxbxbxbxbx\"\nexport LS_COLORS=\"di=34;40:ln=35;40:so=32;40:pi=33;40:ex=31;40:bd=31;40:cd=31;40:su=31;40:sg=31;40:tw=31;40:ow=31;40:\"\n\n"
  },
  {
    "path": "themes/aussiegeek.zsh-theme",
    "content": "\nPROMPT='$fg_bold[blue][ $fg[red]%t $fg_bold[blue]] $fg_bold[blue] [ $fg[red]%n@%m:%~$(git_prompt_info)$fg[yellow]$(rvm_prompt_info)$fg_bold[blue] ]$reset_color\n $ '\n# git theming\nZSH_THEME_GIT_PROMPT_PREFIX=\"$fg_bold[green](\"\nZSH_THEME_GIT_PROMPT_SUFFIX=\")\"\nZSH_THEME_GIT_PROMPT_CLEAN=\"✔\"\nZSH_THEME_GIT_PROMPT_DIRTY=\"✗\"\n"
  },
  {
    "path": "themes/awesomepanda.zsh-theme",
    "content": "# the svn plugin has to be activated for this to work.\n\nPROMPT='%{$fg_bold[red]%}➜ %{$fg_bold[green]%}%p %{$fg[cyan]%}%c %{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%}$(svn_prompt_info)%{$reset_color%}'\n\nZSH_THEME_GIT_PROMPT_PREFIX=\"git:(%{$fg[red]%}\"\nZSH_THEME_GIT_PROMPT_SUFFIX=\"%{$reset_color%}\"\nZSH_THEME_GIT_PROMPT_DIRTY=\"%{$fg[blue]%})%{$fg[yellow]%} ✗ %{$reset_color%}\"\nZSH_THEME_GIT_PROMPT_CLEAN=\"%{$fg[blue]%}) \"\n\n\n\nZSH_PROMPT_BASE_COLOR=\"%{$fg_bold[blue]%}\"\nZSH_THEME_REPO_NAME_COLOR=\"%{$fg_bold[red]%}\"\n\nZSH_THEME_SVN_PROMPT_PREFIX=\"svn:(\"\nZSH_THEME_SVN_PROMPT_SUFFIX=\")\"\nZSH_THEME_SVN_PROMPT_DIRTY=\"%{$fg[red]%} ✘ %{$reset_color%}\"\nZSH_THEME_SVN_PROMPT_CLEAN=\" \""
  },
  {
    "path": "themes/bira.zsh-theme",
    "content": "# ZSH Theme - Preview: http://gyazo.com/8becc8a7ed5ab54a0262a470555c3eed.png\nlocal return_code=\"%(?..%{$fg[red]%}%? ↵%{$reset_color%})\"\n\nlocal user_host='%{$terminfo[bold]$fg[green]%}%n@%m%{$reset_color%}'\nlocal current_dir='%{$terminfo[bold]$fg[blue]%} %~%{$reset_color%}'\nlocal rvm_ruby='%{$fg[red]%}‹$(rvm-prompt i v g)›%{$reset_color%}'\nlocal git_branch='$(git_prompt_info)%{$reset_color%}'\n\nPROMPT=\"╭─${user_host} ${current_dir} ${rvm_ruby} ${git_branch}\n╰─%B$%b \"\nRPS1=\"${return_code}\"\n\nZSH_THEME_GIT_PROMPT_PREFIX=\"%{$fg[yellow]%}‹\"\nZSH_THEME_GIT_PROMPT_SUFFIX=\"› %{$reset_color%}\"\n"
  },
  {
    "path": "themes/blinks.zsh-theme",
    "content": "# https://github.com/blinks zsh theme\n\nfunction _prompt_char() {\n  if $(git rev-parse --is-inside-work-tree >/dev/null 2>&1); then\n    echo \"%{%F{blue}%}±%{%f%k%b%}\"\n  else\n    echo ' '\n  fi\n}\n\nZSH_THEME_GIT_PROMPT_PREFIX=\" [%{%B%F{blue}%}\"\nZSH_THEME_GIT_PROMPT_SUFFIX=\"%{%f%k%b%K{black}%B%F{green}%}]\"\nZSH_THEME_GIT_PROMPT_DIRTY=\" %{%F{red}%}*%{%f%k%b%}\"\nZSH_THEME_GIT_PROMPT_CLEAN=\"\"\n\nPROMPT='%{%f%k%b%}\n%{%K{black}%B%F{green}%}%n%{%B%F{blue}%}@%{%B%F{cyan}%}%m%{%B%F{green}%} %{%b%F{yellow}%K{black}%}%~%{%B%F{green}%}$(git_prompt_info)%E%{%f%k%b%}\n%{%K{black}%}$(_prompt_char)%{%K{black}%} %#%{%f%k%b%} '\n\nRPROMPT='!%{%B%F{cyan}%}%!%{%f%k%b%}'\n"
  },
  {
    "path": "themes/candy.zsh-theme",
    "content": "PROMPT=$'%{$fg_bold[green]%}%n@%m %{$fg[blue]%}%D{[%I:%M:%S]} %{$reset_color%}%{$fg[white]%}[%~]%{$reset_color%} $(git_prompt_info)\\\n%{$fg[blue]%}->%{$fg_bold[blue]%} %#%{$reset_color%} '\n\nZSH_THEME_GIT_PROMPT_PREFIX=\"%{$fg[green]%}[\"\nZSH_THEME_GIT_PROMPT_SUFFIX=\"]%{$reset_color%}\"\nZSH_THEME_GIT_PROMPT_DIRTY=\" %{$fg[red]%}*%{$fg[green]%}\"\nZSH_THEME_GIT_PROMPT_CLEAN=\"\"\n"
  },
  {
    "path": "themes/clean.zsh-theme",
    "content": "if [ $UID -eq 0 ]; then NCOLOR=\"red\"; else NCOLOR=\"white\"; fi\n\nPROMPT='%{$fg[$NCOLOR]%}%B%n%b%{$reset_color%}:%{$fg[blue]%}%B%c/%b%{$reset_color%} $(git_prompt_info)%(!.#.$) '\nRPROMPT='[%*]'\n\n# git theming\nZSH_THEME_GIT_PROMPT_PREFIX=\"%{$fg_bold[blue]%}(%{$fg_no_bold[yellow]%}%B\"\nZSH_THEME_GIT_PROMPT_SUFFIX=\"%b%{$fg_bold[blue]%})%{$reset_color%} \"\nZSH_THEME_GIT_PROMPT_CLEAN=\"\"\nZSH_THEME_GIT_PROMPT_DIRTY=\"%{$fg_bold[red]%}✗\"\n\n# LS colors, made with http://geoff.greer.fm/lscolors/\nexport LSCOLORS=\"Gxfxcxdxbxegedabagacad\"\nexport LS_COLORS='no=00:fi=00:di=01;34:ln=00;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=41;33;01:ex=00;32:*.cmd=00;32:*.exe=01;32:*.com=01;32:*.bat=01;32:*.btm=01;32:*.dll=01;32:*.tar=00;31:*.tbz=00;31:*.tgz=00;31:*.rpm=00;31:*.deb=00;31:*.arj=00;31:*.taz=00;31:*.lzh=00;31:*.lzma=00;31:*.zip=00;31:*.zoo=00;31:*.z=00;31:*.Z=00;31:*.gz=00;31:*.bz2=00;31:*.tb2=00;31:*.tz2=00;31:*.tbz2=00;31:*.avi=01;35:*.bmp=01;35:*.fli=01;35:*.gif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mng=01;35:*.mov=01;35:*.mpg=01;35:*.pcx=01;35:*.pbm=01;35:*.pgm=01;35:*.png=01;35:*.ppm=01;35:*.tga=01;35:*.tif=01;35:*.xbm=01;35:*.xpm=01;35:*.dl=01;35:*.gl=01;35:*.wmv=01;35:*.aiff=00;32:*.au=00;32:*.mid=00;32:*.mp3=00;32:*.ogg=00;32:*.voc=00;32:*.wav=00;32:'\n"
  },
  {
    "path": "themes/cloud.zsh-theme",
    "content": "PROMPT='%{$fg_bold[cyan]%}☁ %{$fg_bold[green]%}%p %{$fg[green]%}%c %{$fg_bold[cyan]%}$(git_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}'\n\nZSH_THEME_GIT_PROMPT_PREFIX=\"%{$fg[green]%}[%{$fg[cyan]%}\"\nZSH_THEME_GIT_PROMPT_SUFFIX=\"%{$reset_color%}\"\nZSH_THEME_GIT_PROMPT_DIRTY=\"%{$fg[green]%}] %{$fg[yellow]%}⚡%{$reset_color%}\"\nZSH_THEME_GIT_PROMPT_CLEAN=\"%{$fg[green]%}]\""
  },
  {
    "path": "themes/cypher.zsh-theme",
    "content": "# Based on evan's prompt\n# Shows the exit status of the last command if non-zero\n# Uses \"#\" instead of \"»\" when running with elevated privileges\nPROMPT=\"%m %{${fg_bold[red]}%}:: %{${fg[green]}%}%3~%(0?. . ${fg[red]}%? )%{${fg[blue]}%}»%{${reset_color}%} \"\n"
  },
  {
    "path": "themes/dallas.zsh-theme",
    "content": "# Personalized!\n\n# Grab the current date (%D) and time (%T) wrapped in {}: {%D %T}\nDALLAS_CURRENT_TIME_=\"%{$fg[white]%}{%{$fg[yellow]%}%D %T%{$fg[white]%}}%{$reset_color%}\"\n# Grab the current version of ruby in use (via RVM): [ruby-1.8.7]\nDALLAS_CURRENT_RUBY_=\"%{$fg[white]%}[%{$fg[magenta]%}\\$(~/.rvm/bin/rvm-prompt i v)%{$fg[white]%}]%{$reset_color%}\"\n# Grab the current machine name: muscato\nDALLAS_CURRENT_MACH_=\"%{$fg[green]%}%m%{$fg[white]%}:%{$reset_color%}\"\n# Grab the current filepath, use shortcuts: ~/Desktop\n# Append the current git branch, if in a git repository: ~aw@master\nDALLAS_CURRENT_LOCA_=\"%{$fg[cyan]%}%~\\$(git_prompt_info)%{$reset_color%}\"\n# Grab the current username: dallas\nDALLAS_CURRENT_USER_=\"%{$fg[red]%}%n%{$reset_color%}\"\n# Use a % for normal users and a # for privelaged (root) users.\nDALLAS_PROMPT_CHAR_=\"%{$fg[white]%}%(!.#.%%)%{$reset_color%}\"\n# For the git prompt, use a white @ and blue text for the branch name\nZSH_THEME_GIT_PROMPT_PREFIX=\"%{$fg[white]%}@%{$fg[blue]%}\"\n# Close it all off by resetting the color and styles.\nZSH_THEME_GIT_PROMPT_SUFFIX=\"%{$reset_color%}\"\n# Do nothing if the branch is clean (no changes).\nZSH_THEME_GIT_PROMPT_CLEAN=\"\"\n# Add 3 cyan ✗s if this branch is diiirrrty! Dirty branch!\nZSH_THEME_GIT_PROMPT_DIRTY=\"%{$fg[cyan]%}✗✗✗\"\n\n# Put it all together!\nPROMPT=\"$DALLAS_CURRENT_TIME_$DALLAS_CURRENT_RUBY_$DALLAS_CURRENT_MACH_$DALLAS_CURRENT_LOCA_ $DALLAS_CURRENT_USER_$DALLAS_PROMPT_CHAR_ \"\n"
  },
  {
    "path": "themes/darkblood.zsh-theme",
    "content": "# meh. Dark Blood Rewind, a new beginning.\n\nPROMPT=$'%{$fg[red]%}┌[%{$fg_bold[white]%}%n%{$reset_color%}%{$fg[red]%}@%{$fg_bold[white]%}%m%{$reset_color%}%{$fg[red]%}] [%{$fg_bold[white]%}/dev/%y%{$reset_color%}%{$fg[red]%}] %{$(git_prompt_info)%}%(?,,%{$fg[red]%}[%{$fg_bold[white]%}%?%{$reset_color%}%{$fg[red]%}])\n%{$fg[red]%}└[%{$fg_bold[white]%}%~%{$reset_color%}%{$fg[red]%}]>%{$reset_color%} '\nPS2=$' %{$fg[red]%}|>%{$reset_color%} '\n\nZSH_THEME_GIT_PROMPT_PREFIX=\"%{$fg[red]%}[%{$fg_bold[white]%}\"\nZSH_THEME_GIT_PROMPT_SUFFIX=\"%{$reset_color%}%{$fg[red]%}] \"\nZSH_THEME_GIT_PROMPT_DIRTY=\" %{$fg[red]%}⚡%{$reset_color%}\"\n"
  },
  {
    "path": "themes/daveverwer.zsh-theme",
    "content": "# Copied and modified from the oh-my-zsh theme from geoffgarside\n# Red server name, green cwd, blue git status\n\nPROMPT='%{$fg[red]%}%m%{$reset_color%}:%{$fg[green]%}%c%{$reset_color%}$(git_prompt_info) %(!.#.$) '\n\nZSH_THEME_GIT_PROMPT_PREFIX=\" %{$fg[blue]%}(\"\nZSH_THEME_GIT_PROMPT_SUFFIX=\")%{$reset_color%}\"\n"
  },
  {
    "path": "themes/dieter.zsh-theme",
    "content": "# the idea of this theme is to contain a lot of info in a small string, by\n# compressing some parts and colorcoding, which bring useful visual cues,\n# while limiting the amount of colors and such to keep it easy on the eyes.\n# When a command exited >0, the timestamp will be in red and the exit code\n# will be on the right edge.\n# The exit code visual cues will only display once.\n# (i.e. they will be reset, even if you hit enter a few times on empty command prompts)\n\ntypeset -A host_repr\n\n# translate hostnames into shortened, colorcoded strings\nhost_repr=('dieter-ws-a7n8x-arch' \"%{$fg_bold[green]%}ws\" 'dieter-p4sci-arch' \"%{$fg_bold[blue]%}p4\")\n\n# local time, color coded by last return code\ntime_enabled=\"%(?.%{$fg[green]%}.%{$fg[red]%})%*%{$reset_color%}\"\ntime_disabled=\"%{$fg[green]%}%*%{$reset_color%}\"\ntime=$time_enabled\n\n# user part, color coded by privileges\nlocal user=\"%(!.%{$fg[blue]%}.%{$fg[blue]%})%n%{$reset_color%}\"\n\n# Hostname part.  compressed and colorcoded per host_repr array\n# if not found, regular hostname in default color\nlocal host=\"@${host_repr[$(hostname)]:-$(hostname)}%{$reset_color%}\"\n\n# Compacted $PWD\nlocal pwd=\"%{$fg[blue]%}%c%{$reset_color%}\"\n\nPROMPT='${time} ${user}${host} ${pwd} $(git_prompt_info)'\n\n# i would prefer 1 icon that shows the \"most drastic\" deviation from HEAD,\n# but lets see how this works out\nZSH_THEME_GIT_PROMPT_PREFIX=\"%{$fg[yellow]%}\"\nZSH_THEME_GIT_PROMPT_SUFFIX=\"%{$reset_color%} \"\nZSH_THEME_GIT_PROMPT_DIRTY=\"%{$fg[green]%} %{$fg[yellow]%}?%{$fg[green]%}%{$reset_color%}\"\nZSH_THEME_GIT_PROMPT_CLEAN=\"%{$fg[green]%}\"\n\n# elaborate exitcode on the right when >0\nreturn_code_enabled=\"%(?..%{$fg[red]%}%? ↵%{$reset_color%})\"\nreturn_code_disabled=\nreturn_code=$return_code_enabled\n\nRPS1='${return_code}'\n\nfunction accept-line-or-clear-warning () {\n\tif [[ -z $BUFFER ]]; then\n\t\ttime=$time_disabled\n\t\treturn_code=$return_code_disabled\n\telse\n\t\ttime=$time_enabled\n\t\treturn_code=$return_code_enabled\n\tfi\n\tzle accept-line\n}\nzle -N accept-line-or-clear-warning\nbindkey '^M' accept-line-or-clear-warning\n"
  },
  {
    "path": "themes/dogenpunk.zsh-theme",
    "content": "# -----------------------------------------------------------------------------\n#          FILE: dogenpunk.zsh-theme\n#   DESCRIPTION: oh-my-zsh theme file.\n#        AUTHOR: Matthew Nelson (dogenpunk@gmail.com)\n#       VERSION: 0.1\n#    SCREENSHOT: coming soon\n# -----------------------------------------------------------------------------\n\nMODE_INDICATOR=\"%{$fg_bold[red]%}❮%{$reset_color%}%{$fg[red]%}❮❮%{$reset_color%}\"\nlocal return_status=\"%{$fg[red]%}%(?..⏎)%{$reset_color%}\"\n\nPROMPT='%{$fg[blue]%}%m%{$reset_color%}%{$fg_bold[white]%} ओम् %{$reset_color%}%{$fg[cyan]%}%~:%{$reset_color%}$(git_time_since_commit)$(git_prompt_info)\n%{$fg[red]%}%!%{$reset_color%} $(prompt_char) '\n\nZSH_THEME_GIT_PROMPT_PREFIX=\"%{$fg_bold[green]%}git%{$reset_color%}@%{$bg[white]%}%{$fg[black]%}\"\nZSH_THEME_GIT_PROMPT_SUFFIX=\"%{$reset_color%})\"\nZSH_THEME_GIT_PROMPT_DIRTY=\"%{$fg[red]%}!%{$reset_color%}\"\nZSH_THEME_GIT_PROMPT_CLEAN=\"\"\n\nRPROMPT='${return_status}$(git_prompt_status)%{$reset_color%}'\n\nZSH_THEME_GIT_PROMPT_ADDED=\"%{$fg[green]%} ✚\"\nZSH_THEME_GIT_PROMPT_MODIFIED=\"%{$fg[blue]%} ✹\"\nZSH_THEME_GIT_PROMPT_DELETED=\"%{$fg[red]%} ✖\"\nZSH_THEME_GIT_PROMPT_RENAMED=\"%{$fg[magenta]%} ➜\"\nZSH_THEME_GIT_PROMPT_UNMERGED=\"%{$fg[yellow]%} ═\"\nZSH_THEME_GIT_PROMPT_UNTRACKED=\"%{$fg[cyan]%} ✭\"\n\nfunction prompt_char() {\n  git branch >/dev/null 2>/dev/null && echo \"%{$fg[green]%}±%{$reset_color%}\" && return\n  hg root >/dev/null 2>/dev/null && echo \"%{$fg_bold[red]%}☿%{$reset_color%}\" && return\n  echo \"%{$fg[cyan]%}◯ %{$reset_color%}\"\n}\n\n# Colors vary depending on time lapsed.\nZSH_THEME_GIT_TIME_SINCE_COMMIT_SHORT=\"%{$fg[green]%}\"\nZSH_THEME_GIT_TIME_SHORT_COMMIT_MEDIUM=\"%{$fg[yellow]%}\"\nZSH_THEME_GIT_TIME_SINCE_COMMIT_LONG=\"%{$fg[red]%}\"\nZSH_THEME_GIT_TIME_SINCE_COMMIT_NEUTRAL=\"%{$fg[cyan]%}\"\n\n# Determine the time since last commit. If branch is clean,\n# use a neutral color, otherwise colors will vary according to time.\nfunction git_time_since_commit() {\n    if git rev-parse --git-dir > /dev/null 2>&1; then\n        # Only proceed if there is actually a commit.\n        if [[ $(git log 2>&1 > /dev/null | grep -c \"^fatal: bad default revision\") == 0 ]]; then\n            # Get the last commit.\n            last_commit=`git log --pretty=format:'%at' -1 2> /dev/null`\n            now=`date +%s`\n            seconds_since_last_commit=$((now-last_commit))\n\n            # Totals\n            MINUTES=$((seconds_since_last_commit / 60))\n            HOURS=$((seconds_since_last_commit/3600))\n\n            # Sub-hours and sub-minutes\n            DAYS=$((seconds_since_last_commit / 86400))\n            SUB_HOURS=$((HOURS % 24))\n            SUB_MINUTES=$((MINUTES % 60))\n\n            if [[ -n $(git status -s 2> /dev/null) ]]; then\n                if [ \"$MINUTES\" -gt 30 ]; then\n                    COLOR=\"$ZSH_THEME_GIT_TIME_SINCE_COMMIT_LONG\"\n                elif [ \"$MINUTES\" -gt 10 ]; then\n                    COLOR=\"$ZSH_THEME_GIT_TIME_SHORT_COMMIT_MEDIUM\"\n                else\n                    COLOR=\"$ZSH_THEME_GIT_TIME_SINCE_COMMIT_SHORT\"\n                fi\n            else\n                COLOR=\"$ZSH_THEME_GIT_TIME_SINCE_COMMIT_NEUTRAL\"\n            fi\n\n            if [ \"$HOURS\" -gt 24 ]; then\n                echo \"($COLOR${DAYS}d${SUB_HOURS}h${SUB_MINUTES}m%{$reset_color%}|\"\n            elif [ \"$MINUTES\" -gt 60 ]; then\n                echo \"($COLOR${HOURS}h${SUB_MINUTES}m%{$reset_color%}|\"\n            else\n                echo \"($COLOR${MINUTES}m%{$reset_color%}|\"\n            fi\n        else\n            COLOR=\"$ZSH_THEME_GIT_TIME_SINCE_COMMIT_NEUTRAL\"\n            echo \"($COLOR~|\"\n        fi\n    fi\n}\n"
  },
  {
    "path": "themes/dpoggi.zsh-theme",
    "content": "if [ $UID -eq 0 ]; then NCOLOR=\"red\"; else NCOLOR=\"green\"; fi\nlocal return_code=\"%(?..%{$fg[red]%}%? ↵%{$reset_color%})\"\n\nPROMPT='%{$fg[$NCOLOR]%}%n%{$reset_color%}@%{$fg[cyan]%}%m\\\n%{$reset_color%}:%{$fg[magenta]%}%~\\\n$(git_prompt_info) \\\n%{$fg[red]%}%(!.#.»)%{$reset_color%} '\nPROMPT2='%{$fg[red]%}\\ %{$reset_color%}'\nRPS1='${return_code}'\n\nZSH_THEME_GIT_PROMPT_PREFIX=\"%{$fg[yellow]%}(\"\nZSH_THEME_GIT_PROMPT_CLEAN=\"%{$fg[green]%}○%{$reset_color%}\"\nZSH_THEME_GIT_PROMPT_DIRTY=\"%{$fg[red]%}⚡%{$reset_color%}\"\nZSH_THEME_GIT_PROMPT_SUFFIX=\"%{$fg[yellow]%})%{$reset_color%}\"\n"
  },
  {
    "path": "themes/dst.zsh-theme",
    "content": "\nZSH_THEME_GIT_PROMPT_PREFIX=\" %{$fg[green]%}\"\nZSH_THEME_GIT_PROMPT_SUFFIX=\"%{$reset_color%}\"\nZSH_THEME_GIT_PROMPT_DIRTY=\"%{$fg[red]%}!\"\nZSH_THEME_GIT_PROMPT_CLEAN=\"\"\n\nfunction prompt_char {\n\tif [ $UID -eq 0 ]; then echo \"%{$fg[red]%}#%{$reset_color%}\"; else echo $; fi\n}\n\nPROMPT='%(?, ,%{$fg[red]%}FAIL%{$reset_color%}\n)\n%{$fg[magenta]%}%n%{$reset_color%}@%{$fg[yellow]%}%m%{$reset_color%}: %{$fg_bold[blue]%}%~%{$reset_color%}$(git_prompt_info)\n%_ $(prompt_char) '\n\nRPROMPT='%{$fg[green]%}[%*]%{$reset_color%}'\n"
  },
  {
    "path": "themes/dstufft.zsh-theme",
    "content": "function prompt_char {\n    git branch >/dev/null 2>/dev/null && echo '±' && return\n    hg root >/dev/null 2>/dev/null && echo 'Hg' && return\n    echo '○'\n}\n\nfunction virtualenv_info {\n    [ $VIRTUAL_ENV ] && echo '('`basename $VIRTUAL_ENV`') '\n}\n\nPROMPT='\n%{$fg[magenta]%}%n%{$reset_color%} at %{$fg[yellow]%}%m%{$reset_color%} in %{$fg_bold[green]%}${PWD/#$HOME/~}%{$reset_color%}$(git_prompt_info)\n$(virtualenv_info)$(prompt_char) '\n\nZSH_THEME_GIT_PROMPT_PREFIX=\" on %{$fg[magenta]%}\"\nZSH_THEME_GIT_PROMPT_SUFFIX=\"%{$reset_color%}\"\nZSH_THEME_GIT_PROMPT_DIRTY=\"%{$fg[green]%}!\"\nZSH_THEME_GIT_PROMPT_UNTRACKED=\"%{$fg[green]%}?\"\nZSH_THEME_GIT_PROMPT_CLEAN=\"\"\n"
  },
  {
    "path": "themes/duellj.zsh-theme",
    "content": "\n# user, host, full path, and time/date\n# on two lines for easier vgrepping\n# entry in a nice long thread on the Arch Linux forums: http://bbs.archlinux.org/viewtopic.php?pid=521888#p521888\nPROMPT=$'%{\\e[0;34m%}%B┌─[%b%{\\e[0m%}%{\\e[1;32m%}%n%{\\e[1;34m%}@%{\\e[0m%}%{\\e[0;36m%}%m%{\\e[0;34m%}%B]%b%{\\e[0m%} - %b%{\\e[0;34m%}%B[%b%{\\e[1;37m%}%~%{\\e[0;34m%}%B]%b%{\\e[0m%} - %{\\e[0;34m%}%B[%b%{\\e[0;33m%}%!%{\\e[0;34m%}%B]%b%{\\e[0m%}\n%{\\e[0;34m%}%B└─%B[%{\\e[1;35m%}$%{\\e[0;34m%}%B]%{\\e[0m%}%b '\nRPROMPT='[%*]'\nPS2=$' \\e[0;34m%}%B>%{\\e[0m%}%b '\n"
  },
  {
    "path": "themes/eastwood.zsh-theme",
    "content": "#RVM settings\nif [[ -s ~/.rvm/scripts/rvm ]] ; then \n  RPS1=\"%{$fg[yellow]%}rvm:%{$reset_color%}%{$fg[red]%}\\$(~/.rvm/bin/rvm-prompt)%{$reset_color%} $EPS1\"\nfi\n\nZSH_THEME_GIT_PROMPT_PREFIX=\"%{$reset_color%}%{$fg[green]%}[\"\nZSH_THEME_GIT_PROMPT_SUFFIX=\"]%{$reset_color%}\"\nZSH_THEME_GIT_PROMPT_DIRTY=\"%{$fg[red]%}*%{$reset_color%}\"\nZSH_THEME_GIT_PROMPT_CLEAN=\"\"\n\n#Customized git status, oh-my-zsh currently does not allow render dirty status before branch\ngit_custom_status() {\n  local cb=$(current_branch)\n  if [ -n \"$cb\" ]; then\n    echo \"$(parse_git_dirty)$ZSH_THEME_GIT_PROMPT_PREFIX$(current_branch)$ZSH_THEME_GIT_PROMPT_SUFFIX\"\n  fi\n}\n\nPROMPT='$(git_custom_status)%{$fg[cyan]%}[%~% ]%{$reset_color%}%B$%b '\n"
  },
  {
    "path": "themes/edvardm.zsh-theme",
    "content": "PROMPT='%{$fg_bold[red]%}➜ %{$fg_bold[green]%}%p %{$fg_bold[white]%}%c %{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}'\n\nZSH_THEME_GIT_PROMPT_PREFIX=\"git:(%{$fg[red]%}\"\nZSH_THEME_GIT_PROMPT_SUFFIX=\"%{$reset_color%}\"\nZSH_THEME_GIT_PROMPT_DIRTY=\"%{$fg[blue]%}) %{$fg[yellow]%}✗%{$reset_color%}\"\nZSH_THEME_GIT_PROMPT_CLEAN=\"%{$fg[blue]%})\"\n"
  },
  {
    "path": "themes/evan.zsh-theme",
    "content": "# Evan describes this sexy prompt as: \"a skinny, topless prompt\"\nPROMPT='%m :: %2~ %B»%b '"
  },
  {
    "path": "themes/example.zsh-theme",
    "content": "# Found on the ZshWiki\n#  http://zshwiki.org/home/config/prompt\n#\n\nPROMPT=\"%{$fg[red]%}%n%{$reset_color%}@%{$fg[blue]%}%m %{$fg[yellow]%}%~ %{$reset_color%}%% \""
  },
  {
    "path": "themes/fishy.zsh-theme",
    "content": "# ZSH Theme emulating the Fish shell's default prompt.\n\nlocal user_color='green'; [ $UID -eq 0 ] && user_color='red'\nPROMPT='%n@%m %{$fg[$user_color]%}%~%{$reset_color%}%(!.#.>) '\nPROMPT2='%{$fg[red]%}\\ %{$reset_color%}'\n\nlocal return_status=\"%{$fg_bold[red]%}%(?..%?)%{$reset_color%}\"\nRPROMPT='${return_status}$(git_prompt_info)$(git_prompt_status)%{$reset_color%}'\n\nZSH_THEME_GIT_PROMPT_PREFIX=\" \"\nZSH_THEME_GIT_PROMPT_SUFFIX=\"\"\nZSH_THEME_GIT_PROMPT_DIRTY=\"\"\nZSH_THEME_GIT_PROMPT_CLEAN=\"\"\n\nZSH_THEME_GIT_PROMPT_ADDED=\"%{$fg_bold[green]%}+\"\nZSH_THEME_GIT_PROMPT_MODIFIED=\"%{$fg_bold[blue]%}!\"\nZSH_THEME_GIT_PROMPT_DELETED=\"%{$fg_bold[red]%}-\"\nZSH_THEME_GIT_PROMPT_RENAMED=\"%{$fg_bold[magenta]%}>\"\nZSH_THEME_GIT_PROMPT_UNMERGED=\"%{$fg_bold[yellow]%}#\"\nZSH_THEME_GIT_PROMPT_UNTRACKED=\"%{$fg_bold[cyan]%}?\"\n"
  },
  {
    "path": "themes/flazz.zsh-theme",
    "content": "if [ \"$(whoami)\" = \"root\" ]\nthen CARETCOLOR=\"red\"\nelse CARETCOLOR=\"blue\"\nfi\n\nlocal return_code=\"%(?..%{$fg[red]%}%? ↵%{$reset_color%})\"\n\nPROMPT='%m%{${fg_bold[magenta]}%} :: %{$reset_color%}%{${fg[green]}%}%3~ $(git_prompt_info)%{${fg_bold[$CARETCOLOR]}%}%#%{${reset_color}%} '\n\nRPS1='$(vi_mode_prompt_info) ${return_code}'\n\nZSH_THEME_GIT_PROMPT_PREFIX=\"%{$fg_bold[cyan]%}‹\"\nZSH_THEME_GIT_PROMPT_SUFFIX=\"› %{$reset_color%}\"\n\nMODE_INDICATOR=\"%{$fg_bold[magenta]%}<%{$reset_color%}%{$fg[magenta]%}<<%{$reset_color%}\"\n\n# TODO use 265 colors\n#MODE_INDICATOR=\"$FX[bold]$FG[020]<$FX[no_bold]%{$fg[blue]%}<<%{$reset_color%}\"\n# TODO use two lines if git\n"
  },
  {
    "path": "themes/fletcherm.zsh-theme",
    "content": "# Copied from old version of tonotdo's theme. LSCOLORS modified.\nPROMPT='%{$fg_no_bold[cyan]%}%n%{$fg_no_bold[magenta]%}•%{$fg_no_bold[green]%}%3~$(git_prompt_info)%{$reset_color%}» '\nRPROMPT='[%*]'\n\n# git theming\nZSH_THEME_GIT_PROMPT_PREFIX=\"%{$fg_bold[blue]%}(%{$fg_no_bold[red]%}\"\nZSH_THEME_GIT_PROMPT_SUFFIX=\"\"\nZSH_THEME_GIT_PROMPT_CLEAN=\"%{$fg_bold[blue]%})\"\nZSH_THEME_GIT_PROMPT_DIRTY=\"%{$fg_bold[yellow]%}⚡%{$fg_bold[blue]%})\"\n\nexport LSCOLORS=\"exfxcxdxbxegedabagacad\"\nexport LS_COLORS='no=00:fi=00:di=01;34:ln=00;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=41;33;01:ex=00;32:*.cmd=00;32:*.exe=01;32:*.com=01;32:*.bat=01;32:*.btm=01;32:*.dll=01;32:*.tar=00;31:*.tbz=00;31:*.tgz=00;31:*.rpm=00;31:*.deb=00;31:*.arj=00;31:*.taz=00;31:*.lzh=00;31:*.lzma=00;31:*.zip=00;31:*.zoo=00;31:*.z=00;31:*.Z=00;31:*.gz=00;31:*.bz2=00;31:*.tb2=00;31:*.tz2=00;31:*.tbz2=00;31:*.avi=01;35:*.bmp=01;35:*.fli=01;35:*.gif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mng=01;35:*.mov=01;35:*.mpg=01;35:*.pcx=01;35:*.pbm=01;35:*.pgm=01;35:*.png=01;35:*.ppm=01;35:*.tga=01;35:*.tif=01;35:*.xbm=01;35:*.xpm=01;35:*.dl=01;35:*.gl=01;35:*.wmv=01;35:*.aiff=00;32:*.au=00;32:*.mid=00;32:*.mp3=00;32:*.ogg=00;32:*.voc=00;32:*.wav=00;32:'\n"
  },
  {
    "path": "themes/frisk.zsh-theme",
    "content": "PROMPT=$'\n%{$fg[blue]%}%/%{$reset_color%} $(git_prompt_info)%{$fg[white]%}[%n@%m]%{$reset_color%} %{$fg[white]%}[%T]%{$reset_color%}\n%{$fg_bold[black]%}>%{$reset_color%} '\n\nPROMPT2=\"%{$fg_blod[black]%}%_> %{$reset_color%}\"\n\nZSH_THEME_GIT_PROMPT_PREFIX=\"%{$fg[green]%}[\"\nZSH_THEME_GIT_PROMPT_SUFFIX=\"]%{$reset_color%} \"\nZSH_THEME_GIT_PROMPT_DIRTY=\" %{$fg[red]%}*%{$fg[green]%}\"\nZSH_THEME_GIT_PROMPT_CLEAN=\"\"\n"
  },
  {
    "path": "themes/funky.zsh-theme",
    "content": "# Taken from Tassilo's Blog\n# http://tsdh.wordpress.com/2007/12/06/my-funky-zsh-prompt/\n\nlocal blue_op=\"%{$fg[blue]%}[%{$reset_color%}\"\nlocal blue_cp=\"%{$fg[blue]%}]%{$reset_color%}\"\nlocal path_p=\"${blue_op}%~${blue_cp}\"\nlocal user_host=\"${blue_op}%n@%m${blue_cp}\"\nlocal ret_status=\"${blue_op}%?${blue_cp}\"\nlocal hist_no=\"${blue_op}%h${blue_cp}\"\nlocal smiley=\"%(?,%{$fg[green]%}:%)%{$reset_color%},%{$fg[red]%}:(%{$reset_color%})\"\nPROMPT=\"╭─${path_p}─${user_host}─${ret_status}─${hist_no}\n╰─${blue_op}${smiley}${blue_cp} %# \"\nlocal cur_cmd=\"${blue_op}%_${blue_cp}\"\nPROMPT2=\"${cur_cmd}> \""
  },
  {
    "path": "themes/fwalch.zsh-theme",
    "content": "PROMPT='%{$fg_bold[green]%}%p %{$fg[cyan]%}%c%{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}'\n\nZSH_THEME_GIT_PROMPT_PREFIX=\" (%{$fg[red]%}\"\nZSH_THEME_GIT_PROMPT_SUFFIX=\"%{$reset_color%}\"\nZSH_THEME_GIT_PROMPT_DIRTY=\"%{$fg[blue]%}) %{$fg[yellow]%}✗%{$reset_color%}\"\nZSH_THEME_GIT_PROMPT_CLEAN=\"%{$fg[blue]%})\"\n"
  },
  {
    "path": "themes/gallifrey.zsh-theme",
    "content": "# ZSH Theme - Preview: http://img.skitch.com/20091113-qqtd3j8xinysujg5ugrsbr7x1y.jpg\nlocal return_code=\"%(?..%{$fg[red]%}%? ↵%{$reset_color%})\"\n\nPROMPT='%{$fg[green]%}%m%{$reset_color%} %2~ $(git_prompt_info)%{$reset_color%}%B»%b '\nRPS1=\"${return_code}\"\n\nZSH_THEME_GIT_PROMPT_PREFIX=\"%{$fg[yellow]%}‹\"\nZSH_THEME_GIT_PROMPT_SUFFIX=\"› %{$reset_color%}\"\n"
  },
  {
    "path": "themes/gallois.zsh-theme",
    "content": "ZSH_THEME_GIT_PROMPT_PREFIX=\"%{$reset_color%}%{$fg[green]%}[\"\nZSH_THEME_GIT_PROMPT_SUFFIX=\"]%{$reset_color%}\"\nZSH_THEME_GIT_PROMPT_DIRTY=\"%{$fg[red]%}*%{$reset_color%}\"\nZSH_THEME_GIT_PROMPT_CLEAN=\"\"\n\n#Customized git status, oh-my-zsh currently does not allow render dirty status before branch\ngit_custom_status() {\n  local cb=$(current_branch)\n  if [ -n \"$cb\" ]; then\n    echo \"$(parse_git_dirty)$ZSH_THEME_GIT_PROMPT_PREFIX$(current_branch)$ZSH_THEME_GIT_PROMPT_SUFFIX\"\n  fi\n}\n\n#RVM and git settings\nif [[ -s ~/.rvm/scripts/rvm ]] ; then \n  RPS1='$(git_custom_status)%{$fg[red]%}[`~/.rvm/bin/rvm-prompt`]%{$reset_color%} $EPS1'\nfi\n\nPROMPT='%{$fg[cyan]%}[%~% ]%(?.%{$fg[green]%}.%{$fg[red]%})%B$%b '\n"
  },
  {
    "path": "themes/garyblessington.zsh-theme",
    "content": "PROMPT='%{$fg[cyan]%}%c%{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%}% %{$reset_color%}: '\n\nZSH_THEME_GIT_PROMPT_PREFIX=\"(%{$fg[blue]%}\"\nZSH_THEME_GIT_PROMPT_SUFFIX=\"%{$reset_color%}\"\nZSH_THEME_GIT_PROMPT_DIRTY=\"%{$fg[blue]%}) %{$fg[red]%}✗%{$reset_color%}\"\nZSH_THEME_GIT_PROMPT_CLEAN=\"%{$fg[blue]%})\"\n"
  },
  {
    "path": "themes/gentoo.zsh-theme",
    "content": "PROMPT='%(!.%{$fg_bold[red]%}.%{$fg_bold[green]%}%n@)%m %{$fg_bold[blue]%}%(!.%1~.%~) $(git_prompt_info)%#%{$reset_color%} '\n\nZSH_THEME_GIT_PROMPT_PREFIX=\"(\"\nZSH_THEME_GIT_PROMPT_SUFFIX=\") \"\n"
  },
  {
    "path": "themes/geoffgarside.zsh-theme",
    "content": "# PROMPT=\"[%*] %n:%c $(git_prompt_info)%(!.#.$) \"\nPROMPT='[%*] %{$fg[cyan]%}%n%{$reset_color%}:%{$fg[green]%}%c%{$reset_color%}$(git_prompt_info) %(!.#.$) '\n\nZSH_THEME_GIT_PROMPT_PREFIX=\" %{$fg[yellow]%}git:(\"\nZSH_THEME_GIT_PROMPT_SUFFIX=\")%{$reset_color%}\"\n"
  },
  {
    "path": "themes/gozilla.zsh-theme",
    "content": "PROMPT='%{$fg_bold[red]%}➜ %{$fg_bold[green]%}%p %{$fg[cyan]%}%c %{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}'\n\nZSH_THEME_GIT_PROMPT_PREFIX=\"(\"\nZSH_THEME_GIT_PROMPT_SUFFIX=\")\"\nZSH_THEME_GIT_PROMPT_DIRTY=\"\"\nZSH_THEME_GIT_PROMPT_CLEAN=\"\"\n\nRPROMPT='$(git_prompt_status)%{$reset_color%}'\n\nZSH_THEME_GIT_PROMPT_ADDED=\"%{$fg[cyan]%} ✈\"\nZSH_THEME_GIT_PROMPT_MODIFIED=\"%{$fg[yellow]%} ✭\"\nZSH_THEME_GIT_PROMPT_DELETED=\"%{$fg[red]%} ✗\"\nZSH_THEME_GIT_PROMPT_RENAMED=\"%{$fg[blue]%} ➦\"\nZSH_THEME_GIT_PROMPT_UNMERGED=\"%{$fg[magenta]%} ✂\"\nZSH_THEME_GIT_PROMPT_UNTRACKED=\"%{$fg[grey]%} ✱\"\n"
  },
  {
    "path": "themes/humza.zsh-theme",
    "content": "# ZSH THEME Preview: https://skitch.com/huyy/rk979/humza.zshtheme\n\nlet TotalBytes=0\nfor Bytes in $(ls -l | grep \"^-\" | awk '{ print $5 }')\ndo\n   let TotalBytes=$TotalBytes+$Bytes\ndone\n\t\t# should it say b, kb, Mb, or Gb\nif [ $TotalBytes -lt 1024 ]; then\n   TotalSize=$(echo -e \"scale=3 \\n$TotalBytes \\nquit\" | bc)\n   suffix=\"b\"\nelif [ $TotalBytes -lt 1048576 ]; then\n   TotalSize=$(echo -e \"scale=3 \\n$TotalBytes/1024 \\nquit\" | bc)\n   suffix=\"kb\"\nelif [ $TotalBytes -lt 1073741824 ]; then\n   TotalSize=$(echo -e \"scale=3 \\n$TotalBytes/1048576 \\nquit\" | bc)\n   suffix=\"Mb\"\nelse\n   TotalSize=$(echo -e \"scale=3 \\n$TotalBytes/1073741824 \\nquit\" | bc)\n   suffix=\"Gb\"\nfi\n\nPROMPT='%{$reset_color%}%n %{$fg[green]%}{%{$reset_color%}%~%{$fg[green]%}}%{$reset_color%}$(git_prompt_info) greetings, earthling %{$fg[green]%}[%{$reset_color%}%{$TotalSize%}%{$suffix%}%{$fg[green]%}]%{$fg[red]%}$%{$reset_color%} ☞ '\n\nZSH_THEME_GIT_PROMPT_PREFIX=\"%{$fg[red]%}±(\"\nZSH_THEME_GIT_PROMPT_SUFFIX=\");%{$reset_color%}\"\n"
  },
  {
    "path": "themes/imajes.zsh-theme",
    "content": "# Found on the ZshWiki\n#  http://zshwiki.org/home/config/prompt\n#\n\nPROMPT=\"%{$fg[red]%}%%%{$reset_color%} \""
  },
  {
    "path": "themes/jbergantine.zsh-theme",
    "content": "PROMPT='%{$fg_bold[red]%}➜ %{$fg_bold[green]%}%p %{$fg[cyan]%}%c %{$fg_bold[white]%}$(git_prompt_info)%{$fg_bold[white]%} % %{$reset_color%}'\n\nZSH_THEME_GIT_PROMPT_PREFIX=\"git:(%{$fg[red]%}\"\nZSH_THEME_GIT_PROMPT_SUFFIX=\"%{$reset_color%}\"\nZSH_THEME_GIT_PROMPT_DIRTY=\"%{$fg[white]%}) %{$fg[yellow]%}✗%{$reset_color%}\"\nZSH_THEME_GIT_PROMPT_CLEAN=\"%{$fg[white]%})\"\n"
  },
  {
    "path": "themes/jispwoso.zsh-theme",
    "content": "PROMPT=$'%{$fg[green]%}%n@%m: %{$reset_color%}%{$fg[blue]%}%/%{$reset_color%}\n%{$fg_bold[red]%}➜ %{$reset_color%} '\n\nPROMPT2=\"%{$fg_blod[black]%}%_> %{$reset_color%}\"\n"
  },
  {
    "path": "themes/jnrowe.zsh-theme",
    "content": "autoload -U add-zsh-hook\nautoload -Uz vcs_info\n\nzstyle ':vcs_info:*' actionformats \\\n    '%F{5}(%f%s%F{5})%F{3}-%F{5}[%F{2}%b%F{3}|%F{1}%a%F{5}]%f '\nzstyle ':vcs_info:*' formats \\\n    '%F{2}%s%F{7}:%F{2}(%F{1}%b%F{2})%f '\nzstyle ':vcs_info:(sv[nk]|bzr):*' branchformat '%b%F{1}:%F{3}%r'\nzstyle ':vcs_info:*' enable git\n\nadd-zsh-hook precmd prompt_jnrowe_precmd\n\nprompt_jnrowe_precmd () {\n    vcs_info\n\n    if [ \"${vcs_info_msg_0_}\" = \"\" ]; then\n        dir_status=\"%F{2}→%f\"\n    elif [[ $(git diff --cached --name-status 2>/dev/null ) != \"\" ]]; then\n        dir_status=\"%F{1}▶%f\"\n    elif [[ $(git diff --name-status 2>/dev/null ) != \"\" ]]; then\n        dir_status=\"%F{3}▶%f\"\n    else\n        dir_status=\"%F{2}▶%f\"\n    fi\n}\n\nlocal ret_status=\"%(?:%{$fg_bold[green]%}Ξ:%{$fg_bold[red]%}%S↑%s%?)\"\n\nPROMPT='${ret_status}%{$fg_bold[green]%}%p %{$fg_bold[yellow]%}%2~ ${vcs_info_msg_0_}${dir_status}%{$reset_color%} '\n\n#  vim: set ft=zsh ts=4 sw=4 et:\n"
  },
  {
    "path": "themes/jonathan.zsh-theme",
    "content": "function precmd {\n    local TERMWIDTH\n    (( TERMWIDTH = ${COLUMNS} - 1 ))\n\n\n    ###\n    # Truncate the path if it's too long.\n    \n    PR_FILLBAR=\"\"\n    PR_PWDLEN=\"\"\n    \n    local promptsize=${#${(%):---(%n@%m:%l)---()--}}\n    local rubyprompt=`rvm_prompt_info`\n    local rubypromptsize=${#${rubyprompt}}\n    local pwdsize=${#${(%):-%~}}\n    \n    if [[ \"$promptsize + $rubypromptsize + $pwdsize\" -gt $TERMWIDTH ]]; then\n      ((PR_PWDLEN=$TERMWIDTH - $promptsize))\n    else\n      PR_FILLBAR=\"\\${(l.(($TERMWIDTH - ($promptsize + $rubypromptsize + $pwdsize)))..${PR_HBAR}.)}\"\n    fi\n\n}\n\n\nsetopt extended_glob\npreexec () {\n    if [[ \"$TERM\" == \"screen\" ]]; then\n\tlocal CMD=${1[(wr)^(*=*|sudo|-*)]}\n\techo -n \"\\ek$CMD\\e\\\\\"\n    fi\n}\n\n\nsetprompt () {\n    ###\n    # Need this so the prompt will work.\n\n    setopt prompt_subst\n\n\n    ###\n    # See if we can use colors.\n\n    autoload colors zsh/terminfo\n    if [[ \"$terminfo[colors]\" -ge 8 ]]; then\n\tcolors\n    fi\n    for color in RED GREEN YELLOW BLUE MAGENTA CYAN WHITE GREY; do\n\teval PR_$color='%{$terminfo[bold]$fg[${(L)color}]%}'\n\teval PR_LIGHT_$color='%{$fg[${(L)color}]%}'\n\t(( count = $count + 1 ))\n    done\n    PR_NO_COLOUR=\"%{$terminfo[sgr0]%}\"\n\n    ###\n    # Modify Git prompt\n    ZSH_THEME_GIT_PROMPT_PREFIX=\" on %{$fg[green]%}\"\n    ZSH_THEME_GIT_PROMPT_SUFFIX=\"%{$reset_color%}\"\n    ZSH_THEME_GIT_PROMPT_DIRTY=\"\"\n    ZSH_THEME_GIT_PROMPT_CLEAN=\"\"\n\n    ZSH_THEME_GIT_PROMPT_ADDED=\"%{$fg[green]%} ✚\"\n    ZSH_THEME_GIT_PROMPT_MODIFIED=\"%{$fg[blue]%} ✹\"\n    ZSH_THEME_GIT_PROMPT_DELETED=\"%{$fg[red]%} ✖\"\n    ZSH_THEME_GIT_PROMPT_RENAMED=\"%{$fg[magenta]%} ➜\"\n    ZSH_THEME_GIT_PROMPT_UNMERGED=\"%{$fg[yellow]%} ═\"\n    ZSH_THEME_GIT_PROMPT_UNTRACKED=\"%{$fg[cyan]%} ✭\"\n\n    ###\n    # See if we can use extended characters to look nicer.\n    \n    typeset -A altchar\n    set -A altchar ${(s..)terminfo[acsc]}\n    PR_SET_CHARSET=\"%{$terminfo[enacs]%}\"\n    PR_SHIFT_IN=\"%{$terminfo[smacs]%}\"\n    PR_SHIFT_OUT=\"%{$terminfo[rmacs]%}\"\n    PR_HBAR=${altchar[q]:--}\n    PR_ULCORNER=${altchar[l]:--}\n    PR_LLCORNER=${altchar[m]:--}\n    PR_LRCORNER=${altchar[j]:--}\n    PR_URCORNER=${altchar[k]:--}\n\n    \n    ###\n    # Decide if we need to set titlebar text.\n    \n    case $TERM in\n\txterm*)\n\t    PR_TITLEBAR=$'%{\\e]0;%(!.-=*[ROOT]*=- | .)%n@%m:%~ | ${COLUMNS}x${LINES} | %y\\a%}'\n\t    ;;\n\tscreen)\n\t    PR_TITLEBAR=$'%{\\e_screen \\005 (\\005t) | %(!.-=[ROOT]=- | .)%n@%m:%~ | ${COLUMNS}x${LINES} | %y\\e\\\\%}'\n\t    ;;\n\t*)\n\t    PR_TITLEBAR=''\n\t    ;;\n    esac\n    \n    \n    ###\n    # Decide whether to set a screen title\n    if [[ \"$TERM\" == \"screen\" ]]; then\n\tPR_STITLE=$'%{\\ekzsh\\e\\\\%}'\n    else\n\tPR_STITLE=''\n    fi\n    \n    \n    ###\n    # Finally, the prompt.\n\n    PROMPT='$PR_SET_CHARSET$PR_STITLE${(e)PR_TITLEBAR}\\\n$PR_CYAN$PR_SHIFT_IN$PR_ULCORNER$PR_HBAR$PR_SHIFT_OUT$PR_GREY(\\\n$PR_GREEN%$PR_PWDLEN<...<%~%<<\\\n$PR_GREY)`rvm_prompt_info`$PR_CYAN$PR_SHIFT_IN$PR_HBAR$PR_HBAR${(e)PR_FILLBAR}$PR_HBAR$PR_SHIFT_OUT$PR_GREY(\\\n$PR_CYAN%(!.%SROOT%s.%n)$PR_GREY@$PR_GREEN%m:%l\\\n$PR_GREY)$PR_CYAN$PR_SHIFT_IN$PR_HBAR$PR_URCORNER$PR_SHIFT_OUT\\\n\n$PR_CYAN$PR_SHIFT_IN$PR_LLCORNER$PR_BLUE$PR_HBAR$PR_SHIFT_OUT(\\\n$PR_YELLOW%D{%H:%M:%S}\\\n$PR_LIGHT_BLUE%{$reset_color%}`git_prompt_info``git_prompt_status`$PR_BLUE)$PR_CYAN$PR_SHIFT_IN$PR_HBAR\\\n$PR_SHIFT_IN$PR_HBAR$PR_SHIFT_OUT\\\n>$PR_NO_COLOUR '\n\n    # display exitcode on the right when >0\n    return_code=\"%(?..%{$fg[red]%}%? ↵ %{$reset_color%})\"\n    RPROMPT=' $return_code$PR_CYAN$PR_SHIFT_IN$PR_HBAR$PR_BLUE$PR_HBAR$PR_SHIFT_OUT\\\n($PR_YELLOW%D{%a,%b%d}$PR_BLUE)$PR_SHIFT_IN$PR_HBAR$PR_CYAN$PR_LRCORNER$PR_SHIFT_OUT$PR_NO_COLOUR'\n\n    PS2='$PR_CYAN$PR_SHIFT_IN$PR_HBAR$PR_SHIFT_OUT\\\n$PR_BLUE$PR_SHIFT_IN$PR_HBAR$PR_SHIFT_OUT(\\\n$PR_LIGHT_GREEN%_$PR_BLUE)$PR_SHIFT_IN$PR_HBAR$PR_SHIFT_OUT\\\n$PR_CYAN$PR_SHIFT_IN$PR_HBAR$PR_SHIFT_OUT$PR_NO_COLOUR '\n}\n\nsetprompt\n"
  },
  {
    "path": "themes/josh.zsh-theme",
    "content": "grey='\\e[0;90m'\n\nZSH_THEME_GIT_PROMPT_PREFIX=\"%{$grey%}(\"\nZSH_THEME_GIT_PROMPT_SUFFIX=\"%{$reset_color%}\"\nZSH_THEME_GIT_PROMPT_DIRTY=\"%{$grey%}) %{$fg[yellow]%}✗%{$reset_color%}\"\nZSH_THEME_GIT_PROMPT_CLEAN=\"%{$grey%})\"\n\nfunction josh_prompt {\n  (( spare_width = ${COLUMNS} ))\n  prompt=\" \"\n\n  branch=$(current_branch)\n  ruby_version=$(rvm_prompt_info)\n  path_size=${#PWD}\n  branch_size=${#branch}\n  ruby_size=${#ruby_version}\n  user_machine_size=${#${(%):-%n@%m-}}\n  \n  if [[ ${#branch} -eq 0 ]]\n    then (( ruby_size = ruby_size + 1 ))\n  else\n    (( branch_size = branch_size + 4 ))\n    if [[ -n $(git status -s 2> /dev/null) ]]; then\n      (( branch_size = branch_size + 2 ))\n    fi\n  fi\n  \n  (( spare_width = ${spare_width} - (${user_machine_size} + ${path_size} + ${branch_size} + ${ruby_size}) ))\n\n  while [ ${#prompt} -lt $spare_width ]; do\n    prompt=\" $prompt\"\n  done\n  \n  prompt=\"%{%F{green}%}$PWD$prompt%{%F{red}%}$(rvm_prompt_info)%{$reset_color%} $(git_prompt_info)\"\n  \n  echo $prompt\n}\n\nsetopt prompt_subst\n\nPROMPT='\n%n@%m $(josh_prompt)\n%(?,%{%F{green}%},%{%F{red}%})⚡%{$reset_color%} '\n"
  },
  {
    "path": "themes/jreese.zsh-theme",
    "content": "# ZSH Theme - Preview: http://dl.dropbox.com/u/1552408/Screenshots/2010-04-08-oh-my-zsh.png\n\nif [ $UID -eq 0 ]; then NCOLOR=\"red\"; else NCOLOR=\"green\"; fi\nlocal return_code=\"%(?..%{$fg[red]%}%? ↵%{$reset_color%})\"\n\nPROMPT='%{$fg[$NCOLOR]%}%n%{$fg[green]%}@%m%{$reset_color%} %~ \\\n$(git_prompt_info)\\\n%{$fg[red]%}%(!.#.»)%{$reset_color%} '\nPROMPT2='%{$fg[red]%}\\ %{$reset_color%}'\nRPS1='${return_code}'\n\nZSH_THEME_GIT_PROMPT_PREFIX=\"%{$fg[green]%}±%{$fg[yellow]%}\"\nZSH_THEME_GIT_PROMPT_SUFFIX=\"%{$reset_color%} \"\nZSH_THEME_GIT_PROMPT_CLEAN=\"\"\nZSH_THEME_GIT_PROMPT_DIRTY=\"⚡\"\n\n"
  },
  {
    "path": "themes/jtriley.zsh-theme",
    "content": "#PROMPT='%{$fg_bold[red]%}➜ %{$fg_bold[green]%}%p %{$fg[cyan]%}%c %{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}'\nPROMPT=\"%{$fg_bold[cyan]%}%T%{$fg_bold[green]%} %{$fg_bold[white]%}%n%{$fg[magenta]%}@%{$fg_bold[white]%}%m %{$fg_bold[green]%}%d\n%{$fg_bold[yellow]%}%% %{$reset_color%}\"\n\n#ZSH_THEME_GIT_PROMPT_PREFIX=\"git:(%{$fg[red]%}\"\n#ZSH_THEME_GIT_PROMPT_SUFFIX=\"%{$reset_color%}\"\n#ZSH_THEME_GIT_PROMPT_DIRTY=\"%{$fg[blue]%}) %{$fg[yellow]%}✗%{$reset_color%}\"\n#ZSH_THEME_GIT_PROMPT_CLEAN=\"%{$fg[blue]%})\"\n"
  },
  {
    "path": "themes/juanghurtado.zsh-theme",
    "content": "# ------------------------------------------------------------------------\n# Juan G. Hurtado oh-my-zsh theme\n# (Needs Git plugin for current_branch method)\n# ------------------------------------------------------------------------\n\n# Color shortcuts\nRED=$fg[red]\nYELLOW=$fg[yellow]\nGREEN=$fg[green]\nWHITE=$fg[white]\nBLUE=$fg[blue]\nRED_BOLD=$fg_bold[red]\nYELLOW_BOLD=$fg_bold[yellow]\nGREEN_BOLD=$fg_bold[green]\nWHITE_BOLD=$fg_bold[white]\nBLUE_BOLD=$fg_bold[blue]\nRESET_COLOR=$reset_color\n\n# Format for git_prompt_info()\nZSH_THEME_GIT_PROMPT_PREFIX=\"\"\nZSH_THEME_GIT_PROMPT_SUFFIX=\"\"\n\n# Format for parse_git_dirty()\nZSH_THEME_GIT_PROMPT_DIRTY=\" %{$RED%}(*)\"\nZSH_THEME_GIT_PROMPT_CLEAN=\"\"\n\n# Format for git_prompt_status()\nZSH_THEME_GIT_PROMPT_UNMERGED=\" %{$RED%}unmerged\"\nZSH_THEME_GIT_PROMPT_DELETED=\" %{$RED%}deleted\"\nZSH_THEME_GIT_PROMPT_RENAMED=\" %{$YELLOW%}renamed\"\nZSH_THEME_GIT_PROMPT_MODIFIED=\" %{$YELLOW%}modified\"\nZSH_THEME_GIT_PROMPT_ADDED=\" %{$GREEN%}added\"\nZSH_THEME_GIT_PROMPT_UNTRACKED=\" %{$WHITE%}untracked\"\n\n# Format for git_prompt_ahead()\nZSH_THEME_GIT_PROMPT_AHEAD=\" %{$RED%}(!)\"\n\n# Format for git_prompt_long_sha() and git_prompt_short_sha()\nZSH_THEME_GIT_PROMPT_SHA_BEFORE=\" %{$WHITE%}[%{$YELLOW%}\"\nZSH_THEME_GIT_PROMPT_SHA_AFTER=\"%{$WHITE%}]\"\n\n# Prompt format\nPROMPT='\n%{$GREEN_BOLD%}%n@%m%{$WHITE%}:%{$YELLOW%}%~%u$(parse_git_dirty)$(git_prompt_ahead)%{$RESET_COLOR%}\n%{$BLUE%}>%{$RESET_COLOR%} '\nRPROMPT='%{$GREEN_BOLD%}$(current_branch)$(git_prompt_short_sha)$(git_prompt_status)%{$RESET_COLOR%}'"
  },
  {
    "path": "themes/kardan.zsh-theme",
    "content": "# Simple theme based on my old zsh settings.\n\nfunction get_host {\n\techo '@'`hostname`''\n}\n\nPROMPT='> '\nRPROMPT='%~$(git_prompt_info)$(get_host)'\n\nZSH_THEME_GIT_PROMPT_DIRTY=\"%{$fg[yellow]%}✗%{$reset_color%}\"\nZSH_THEME_GIT_PROMPT_PREFIX=\"(\"\nZSH_THEME_GIT_PROMPT_SUFFIX=\")\""
  },
  {
    "path": "themes/kennethreitz.zsh-theme",
    "content": "local return_code=\"%(?..%{$fg[red]%}%? ↵%{$reset_color%})\"\n\nPROMPT='%{$fg[green]%}%c \\\n$(git_prompt_info)\\\n%{$fg[red]%}%(!.#.»)%{$reset_color%} '\nPROMPT2='%{$fg[red]%}\\ %{$reset_color%}'\nRPS1='%{$fg[blue]%}%~%{$reset_color%} ${return_code} '\n\nZSH_THEME_GIT_PROMPT_PREFIX=\"%{$reset_color%}:: %{$fg[yellow]%}(\"\nZSH_THEME_GIT_PROMPT_SUFFIX=\")%{$reset_color%} \"\nZSH_THEME_GIT_PROMPT_CLEAN=\"\"\nZSH_THEME_GIT_PROMPT_DIRTY=\"%{$fg[red]%}*%{$fg[yellow]%}\"\n\n"
  },
  {
    "path": "themes/kolo.zsh-theme",
    "content": "autoload -U colors && colors\n\nautoload -Uz vcs_info\n\nzstyle ':vcs_info:*' stagedstr '%F{green}●'\nzstyle ':vcs_info:*' unstagedstr '%F{yellow}●'\nzstyle ':vcs_info:*' check-for-changes true\nzstyle ':vcs_info:(sv[nk]|bzr):*' branchformat '%b%F{1}:%F{11}%r'\nzstyle ':vcs_info:*' enable git svn\nprecmd () {\n    if [[ -z $(git ls-files --other --exclude-standard 2> /dev/null) ]] {\n        zstyle ':vcs_info:*' formats ' [%b%c%u%B%F{green}]'\n    } else {\n        zstyle ':vcs_info:*' formats ' [%b%c%u%B%F{red}●%F{green}]'\n    }\n\n    vcs_info\n}\n\nsetopt prompt_subst\nPROMPT='%B%F{magenta}%c%B%F{green}${vcs_info_msg_0_}%B%F{magenta} %{$reset_color%}%% '\n"
  },
  {
    "path": "themes/kphoen.zsh-theme",
    "content": "# ------------------------------------------------------------------------------\n#          FILE:  kphoen.zsh-theme\n#   DESCRIPTION:  oh-my-zsh theme file.\n#        AUTHOR:  Kévin Gomez (geek63@gmail.com)\n#       VERSION:  1.0.0\n#    SCREENSHOT:\n# ------------------------------------------------------------------------------\n\n\nif [[ \"$TERM\" != \"dumb\" ]] && [[ \"$DISABLE_LS_COLORS\" != \"true\" ]]; then\n    PROMPT='[%{$fg[red]%}%n%{$reset_color%}@%{$fg[magenta]%}%m%{$reset_color%}:%{$fg[blue]%}%~%{$reset_color%}$(git_prompt_info)]\n%# '\n\n    ZSH_THEME_GIT_PROMPT_PREFIX=\" on %{$fg[green]%}\"\n    ZSH_THEME_GIT_PROMPT_SUFFIX=\"%{$reset_color%}\"\n    ZSH_THEME_GIT_PROMPT_DIRTY=\"\"\n    ZSH_THEME_GIT_PROMPT_CLEAN=\"\"\n\n    # display exitcode on the right when >0\n    return_code=\"%(?..%{$fg[red]%}%? ↵%{$reset_color%})\"\n\n    RPROMPT='${return_code}$(git_prompt_status)%{$reset_color%}'\n\n    ZSH_THEME_GIT_PROMPT_ADDED=\"%{$fg[green]%} ✚\"\n    ZSH_THEME_GIT_PROMPT_MODIFIED=\"%{$fg[blue]%} ✹\"\n    ZSH_THEME_GIT_PROMPT_DELETED=\"%{$fg[red]%} ✖\"\n    ZSH_THEME_GIT_PROMPT_RENAMED=\"%{$fg[magenta]%} ➜\"\n    ZSH_THEME_GIT_PROMPT_UNMERGED=\"%{$fg[yellow]%} ═\"\n    ZSH_THEME_GIT_PROMPT_UNTRACKED=\"%{$fg[cyan]%} ✭\"\nelse\n    PROMPT='[%n@%m:%~$(git_prompt_info)]\n%# '\n\n    ZSH_THEME_GIT_PROMPT_PREFIX=\" on\"\n    ZSH_THEME_GIT_PROMPT_SUFFIX=\"\"\n    ZSH_THEME_GIT_PROMPT_DIRTY=\"\"\n    ZSH_THEME_GIT_PROMPT_CLEAN=\"\"\n\n    # display exitcode on the right when >0\n    return_code=\"%(?..%? ↵)\"\n\n    RPROMPT='${return_code}$(git_prompt_status)'\n\n    ZSH_THEME_GIT_PROMPT_ADDED=\" ✚\"\n    ZSH_THEME_GIT_PROMPT_MODIFIED=\" ✹\"\n    ZSH_THEME_GIT_PROMPT_DELETED=\" ✖\"\n    ZSH_THEME_GIT_PROMPT_RENAMED=\" ➜\"\n    ZSH_THEME_GIT_PROMPT_UNMERGED=\" ═\"\n    ZSH_THEME_GIT_PROMPT_UNTRACKED=\" ✭\"\nfi\n"
  },
  {
    "path": "themes/lambda.zsh-theme",
    "content": "# ZSH Theme - Preview: http://cl.ly/350F0F0k1M2y3A2i3p1S\n\nPROMPT='λ %~/ $(git_prompt_info)%{$reset_color%}'\n\nZSH_THEME_GIT_PROMPT_PREFIX=\"%{$fg[green]%}\"\nZSH_THEME_GIT_PROMPT_SUFFIX=\"%{$reset_color%} \"\n"
  },
  {
    "path": "themes/linuxonly",
    "content": "# vim: set ts=2 textwidth=0\n\nautoload -U add-zsh-hook\nautoload -Uz vcs_info\nlocal c0=$(printf \"\\033[0m\")\nlocal c1=$(printf \"\\033[38;5;215m\")\nlocal c2=$(printf \"\\033[38;5;209m\")\nlocal c3=$(printf \"\\033[38;5;203m\")\nlocal c4=$(printf \"\\033[33;4m\")\nlocal c5=$(printf \"\\033[38;5;137m\")\nlocal c6=$(printf \"\\033[38;5;240m\")\nlocal c7=$(printf \"\\033[38;5;149m\")\nlocal c8=$(printf \"\\033[38;5;126m\")\nlocal c9=$(printf \"\\033[38;5;162m\")\n\nlocal foopath=$(perl /home/scp1/bin/foopath)\n\nif [ \"$TERM\" = \"linux\" ]; then\n    c1=$(printf \"\\033[34;1m\")\n    c2=$(printf \"\\033[35m\")\n    c3=$(printf \"\\033[31m\")\n    c4=$(printf \"\\033[31;1m\")\n    c5=$(printf \"\\033[32m\")\n    c6=$(printf \"\\033[32;1m\")\n    c7=$(printf \"\\033[33m\")\n    c8=$(printf \"\\033[33;1m\")\n    c9=$(printf \"\\033[34m\")\nfi\n\n#local newtv=$(perl $HOME/devel/newtv.pl)\nlocal newtv=''\n\nzstyle ':vcs_info:*' actionformats \\\n    '%{$c8%}(%f%s)%{$c7%}-%F{5}[%F{2}%b%F{3}|%F{1}%a%F{5}]%f '\nzstyle ':vcs_info:*' formats \\\n    \"%{$c8%}%s%{$c7%}:%{$c7%}(%{$c9%}%b%{$c7%})%f \"\nzstyle ':vcs_info:(sv[nk]|bzr):*' branchformat '%b%F{1}:%F{3}%r'\nzstyle ':vcs_info:*' enable git\n\nadd-zsh-hook precmd prompt_jnrowe_precmd\n\nprompt_jnrowe_precmd () {\n    vcs_info\n\n    if [ \"${vcs_info_msg_0_}\" = \"\" ]; then\n        #dir_status=\"|%F{3}%n%F{7}@%F{3}%m%F{7}:%F{9}%l%f\"\n        #dir_status=\"$c1%n%F{7}@%F{9}%m%F{7}:%F{12}%/\"\n        dir_status=\"%{$c1%}%n%{$c4%}@%{$c2%}%m%{$c0%}:%{$c3%}%l%{$c6%}->%{$c4%}%/ %{$c0%}(%{$c5%}%?%{$c0%})\"\n        #dir_status=\"%{$c1%}%n%{$c4%}@%{$c2%}%m%{$c0%}:%{$c3%}%l%{$c6%}->%{$foopath%} %{$c0%}(%{$c5%}%?%{$c0%})\"\n        \n        PROMPT='%{$fg_bold[green]%}%p%{$reset_color%}${vcs_info_msg_0_}${dir_status} ${ret_status}%{$reset_color%}\n> '\n    elif [[ $(git diff --cached --name-status 2>/dev/null ) != \"\" ]]; then\n        dir_status=\"%{$c1%}%n%{$c4%}@%{$c2%}%m%{$c0%}:%{$c3%}%l%{$c6%}->%{$c4%}%/ %{$c0%}(%{$c5%}%?%{$c0%})\"\n        PROMPT='${vcs_info_msg_0_}\n%{$fg_bold[green]%}%p%{$reset_color%}${dir_status} ${vcs_info_msg_0_}%{$reset_color%}\n> '\n    \n    elif [[ $(git diff --name-status 2>/dev/null ) != \"\" ]]; then\n        dir_status=\"%{$c1%}%n%{$c4%}@%{$c2%}%m%{$c0%}:%{$c3%}%l%{$c6%}->%{$c4%}%/ %{$c0%}(%{$c5%}%?%{$c0%})\"\n\n        PROMPT='${vcs_info_msg_0_}\n%{$fg_bold[green]%}%p%{$reset_color%}${dir_status}%{$reset_color%}\n%{$c9%}·>%{$c0%} '\n    else\n        dir_status=\"%{$c1%}%n%{$c4%}@%{$c2%}%m%{$c0%}:%{$c3%}%l%{$c6%}->%{$c4%}%/ %{$c0%}(%{$c5%}%?%{$c0%})\"\n        PROMPT='${vcs_info_msg_0_}\n%{$fg_bold[green]%}%p%{$reset_color%}${dir_status} ${vcs_info_msg_0_}%{$reset_color%}\n> '\n        \n    fi\n}\n\n\n#PROMPT='${ret_status}%{$fg_bold[green]%}%p %{$reset_color%} ${vcs_info_msg_0_}${dir_status}%{$reset_color%}\n#> '\n\n# vim: set ft=zsh ts=4 sw=4 et:\n\n\n"
  },
  {
    "path": "themes/lukerandall.zsh-theme",
    "content": "# ZSH Theme - Preview: http://cl.ly/f701d00760f8059e06dc\n# Thanks to gallifrey, upon whose theme this is based\n\nlocal return_code=\"%(?..%{$fg_bold[red]%}%? ↵%{$reset_color%})\"\n\nfunction my_git_prompt_info() {\n  ref=$(git symbolic-ref HEAD 2> /dev/null) || return\n  GIT_STATUS=$(git_prompt_status)\n  [[ -n $GIT_STATUS ]] && GIT_STATUS=\" $GIT_STATUS\"\n  echo \"$ZSH_THEME_GIT_PROMPT_PREFIX${ref#refs/heads/}$GIT_STATUS$ZSH_THEME_GIT_PROMPT_SUFFIX\"\n}\n\nPROMPT='%{$fg_bold[green]%}%n@%m%{$reset_color%} %{$fg_bold[blue]%}%2~%{$reset_color%} $(my_git_prompt_info)%{$reset_color%}%B»%b '\nRPS1=\"${return_code}\"\n\nZSH_THEME_GIT_PROMPT_PREFIX=\"%{$fg[yellow]%}(\"\nZSH_THEME_GIT_PROMPT_SUFFIX=\") %{$reset_color%}\"\nZSH_THEME_GIT_PROMPT_UNTRACKED=\"%%\"\nZSH_THEME_GIT_PROMPT_ADDED=\"+\"\nZSH_THEME_GIT_PROMPT_MODIFIED=\"*\"\nZSH_THEME_GIT_PROMPT_RENAMED=\"~\"\nZSH_THEME_GIT_PROMPT_DELETED=\"!\"\nZSH_THEME_GIT_PROMPT_UNMERGED=\"?\"\n\n"
  },
  {
    "path": "themes/macovsky-ruby.zsh-theme",
    "content": "# ZSH Theme - Preview: http://gyazo.com/8becc8a7ed5ab54a0262a470555c3eed.png\nlocal return_code=\"%(?..%{$fg[red]%}%? ↵%{$reset_color%})\"\n\nPROMPT='%{$fg[green]%}%~%{$reset_color%} %{$fg[red]%}‹$(~/.rvm/bin/rvm-prompt i v)› %{$reset_color%} $(git_prompt_info)%{$reset_color%}%B$%b '\nRPS1=\"${return_code}\"\n\nZSH_THEME_GIT_PROMPT_PREFIX=\"%{$fg[yellow]%}‹\"\nZSH_THEME_GIT_PROMPT_SUFFIX=\"› %{$reset_color%}\"\n"
  },
  {
    "path": "themes/macovsky.zsh-theme",
    "content": "# ZSH Theme - Preview: http://gyazo.com/8becc8a7ed5ab54a0262a470555c3eed.png\nlocal return_code=\"%(?..%{$fg[red]%}%? ↵%{$reset_color%})\"\n\nPROMPT='%{$fg[green]%}%~%{$reset_color%} %{$fg[red]%}‹$(~/.rvm/bin/rvm-prompt i v)› %{$reset_color%} $(git_prompt_info)%{$reset_color%}%B$%b '\nRPS1=\"${return_code}\"\n\nZSH_THEME_GIT_PROMPT_PREFIX=\"%{$fg[yellow]%}‹\"\nZSH_THEME_GIT_PROMPT_SUFFIX=\"› %{$reset_color%}\"\n"
  },
  {
    "path": "themes/maran.zsh-theme",
    "content": "# Theme with full path names and hostname\n# Handy if you work on different servers all the time;\nPROMPT='%{$fg[cyan]%}%n%{$reset_color%}@%{$fg[yellow]%}%M:%{$fg[green]%}%/%{$reset_color%} $(git_prompt_info) %(!.#.$) '\n\nZSH_THEME_GIT_PROMPT_PREFIX=\" %{$fg[cyan]%}git:(\"\nZSH_THEME_GIT_PROMPT_SUFFIX=\")%{$reset_color%}\"\n"
  },
  {
    "path": "themes/mattcable.zsh-theme",
    "content": "# based on robbyrussel.zsh-theme\n\nPROMPT='%{$fg_bold[red]%}➜ %{$fg_bold[green]%}%p %{$fg[cyan]%}%c %{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}'\nRPROMPT=\"%{$fg_bold[red]%}(%D{%m-%d %H:%M})%{$reset_color%}\"\n\nZSH_THEME_GIT_PROMPT_PREFIX=\"git:(%{$fg[red]%}\"\nZSH_THEME_GIT_PROMPT_SUFFIX=\"%{$reset_color%}\"\nZSH_THEME_GIT_PROMPT_DIRTY=\"%{$fg[blue]%}) %{$fg[yellow]%}✗%{$reset_color%}\"\nZSH_THEME_GIT_PROMPT_CLEAN=\"%{$fg[blue]%})\"\n"
  },
  {
    "path": "themes/mgutz.zsh-theme",
    "content": "PROMPT='%{$fg_bold[magenta]%}%1~$(git_prompt_info) %{$fg_bold[magenta]%}%# %{$reset_color%}'\n\nZSH_THEME_GIT_PROMPT_PREFIX=\"%{$fg_bold[yellow]%}[\"\nZSH_THEME_GIT_PROMPT_SUFFIX=\"%{$reset_color%}\"\nZSH_THEME_GIT_PROMPT_DIRTY=\"*]\"\nZSH_THEME_GIT_PROMPT_CLEAN=\"]\"\n"
  },
  {
    "path": "themes/mikeh.zsh-theme",
    "content": "setopt prompt_subst\nautoload colors\ncolors\n\nautoload -U add-zsh-hook\nautoload -Uz vcs_info\n\n# check-for-changes can be really slow.\n# you should disable it, if you work with large repositories\nzstyle ':vcs_info:*:prompt:*' check-for-changes true\n\nadd-zsh-hook precmd mikeh_precmd\n\nmikeh_precmd() {\n    vcs_info\n}\n\n# user, host, full path, and time/date\n# on two lines for easier vgrepping\n# entry in a nice long thread on the Arch Linux forums: http://bbs.archlinux.org/viewtopic.php?pid=521888#p521888\nPROMPT=$'%{\\e[0;34m%}%B..[%b%{\\e[0m%}%{\\e[1;32m%}%n%{\\e[1;30m%}@%{\\e[0m%}%{\\e[0;36m%}%m%{\\e[0;34m%}%B]%b%{\\e[0m%} - %b%{\\e[0;34m%}%B[%b%{\\e[1;37m%}%~%{\\e[0;34m%}%B]%b%{\\e[0m%} - %{\\e[0;34m%}%B[%b%{\\e[0;33m%}'%D{\"%a %b %d, %I:%M\"}%b$'%{\\e[0;34m%}%B]%b%{\\e[0m%}\n%{\\e[0;34m%}%B..%B[%{\\e[1;35m%}$%{\\e[0;34m%}%B] <($vcs_info_msg_0_)>%{\\e[0m%}%b '\nPS2=$' \\e[0;34m%}%B>%{\\e[0m%}%b '"
  },
  {
    "path": "themes/miloshadzic.zsh-theme",
    "content": "# Yay! High voltage and arrows!\n\nZSH_THEME_GIT_PROMPT_PREFIX=\"%{$reset_color%}%{$fg[green]%}\"\nZSH_THEME_GIT_PROMPT_SUFFIX=\"%{$reset_color%} \"\nZSH_THEME_GIT_PROMPT_DIRTY=\"%{$fg[yellow]%}⚡%{$reset_color%}\"\nZSH_THEME_GIT_PROMPT_CLEAN=\"\"\n\nPROMPT='%{$fg[cyan]%}%1~%{$reset_color%}%{$fg[red]%}|%{$reset_color%}$(git_prompt_info)%{$fg[cyan]%}⇒%{$reset_color%} '\n"
  },
  {
    "path": "themes/minimal.zsh-theme",
    "content": "ZSH_THEME_GIT_PROMPT_PREFIX=\"%{$reset_color%}%{$fg[white]%}[\"\nZSH_THEME_GIT_PROMPT_SUFFIX=\"]%{$reset_color%}\"\nZSH_THEME_GIT_PROMPT_DIRTY=\"%{$fg[red]%}●%{$reset_color%}\"\nZSH_THEME_GIT_PROMPT_CLEAN=\"\"\n\n#Customized git status, oh-my-zsh currently does not allow render dirty status before branch\ngit_custom_status() {\n  local cb=$(current_branch)\n  if [ -n \"$cb\" ]; then\n    echo \"- $ZSH_THEME_GIT_PROMPT_PREFIX$(current_branch)$(parse_git_dirty)$ZSH_THEME_GIT_PROMPT_SUFFIX\"\n  fi\n}\n\n\nPROMPT='%2~ $(git_custom_status) »%b '"
  },
  {
    "path": "themes/mrtazz.zsh-theme",
    "content": "PROMPT='%{$fg_bold[red]%}%m%{$reset_color%}:%{$fg[cyan]%}%c%{$reset_color%}:%# '\nRPROMPT='%{$fg_bold[green]%}$(git_prompt_info)%{$reset_color%}% '\n\nZSH_THEME_GIT_PROMPT_PREFIX=\"<%{$fg[red]%}\"\nZSH_THEME_GIT_PROMPT_SUFFIX=\"%{$reset_color%}\"\nZSH_THEME_GIT_PROMPT_DIRTY=\"%{$fg[green]%} %{$fg[yellow]%}✗%{$fg[green]%}>%{$reset_color%}\"\nZSH_THEME_GIT_PROMPT_CLEAN=\"%{$fg[green]%}>\"\n"
  },
  {
    "path": "themes/murilasso.zsh-theme",
    "content": "local return_code=\"%(?..%{$fg[red]%}%? ↵%{$reset_color%})\"\nlocal user_host='%{$terminfo[bold]$fg[green]%}%n@%m%{$reset_color%}'\nlocal current_dir='%{$terminfo[bold]$fg[blue]%}%~%{$reset_color%}'\nlocal rvm_ruby='%{$fg[red]%}$(rvm_prompt_info)%{$reset_color%}'\nlocal git_branch='%{$fg[blue]%}$(git_prompt_info)%{$reset_color%}'\n\nPROMPT=\"${user_host}:${current_dir} ${rvm_ruby}\n${git_branch} %B$%b \"\nRPS1=\"${return_code}\"\n\nZSH_THEME_GIT_PROMPT_PREFIX=\"\"\nZSH_THEME_GIT_PROMPT_SUFFIX=\"\"\nZSH_THEME_GIT_PROMPT_DIRTY=\" %{$fg[red]%}✗%{$reset_color%}\"\nZSH_THEME_GIT_PROMPT_CLEAN=\" %{$fg[green]%}✔%{$reset_color%}\"\n"
  },
  {
    "path": "themes/muse.zsh-theme",
    "content": "#!/usr/bin/env zsh\n#local return_code=\"%(?..%{$fg[red]%}%? ↵%{$reset_color%})\"\n\nsetopt promptsubst\n\nautoload -U add-zsh-hook\n\nPROMPT_SUCCESS_COLOR=$FG[117]\nPROMPT_FAILURE_COLOR=$FG[124]\nPROMPT_VCS_INFO_COLOR=$FG[242]\nPROMPT_PROMPT=$FG[077]\nGIT_DIRTY_COLOR=$FG[133]\nGIT_CLEAN_COLOR=$FG[118]\nGIT_PROMPT_INFO=$FG[012]\n\nPROMPT='%{$PROMPT_SUCCESS_COLOR%}%~%{$reset_color%} %{$GIT_PROMPT_INFO%}$(git_prompt_info)%{$GIT_DIRTY_COLOR%}$(git_prompt_status) %{$reset_color%}%{$PROMPT_PROMPT%}ᐅ%{$reset_color%} '\n\n#RPS1=\"${return_code}\"\n\nZSH_THEME_GIT_PROMPT_PREFIX=\"(\"\nZSH_THEME_GIT_PROMPT_SUFFIX=\"%{$GIT_PROMPT_INFO%})\"\nZSH_THEME_GIT_PROMPT_DIRTY=\" %{$GIT_DIRTY_COLOR%}✘\"\nZSH_THEME_GIT_PROMPT_CLEAN=\" %{$GIT_CLEAN_COLOR%}✔\"\n\nZSH_THEME_GIT_PROMPT_ADDED=\"%{$FG[082]%}✚%{$reset_color%}\"\nZSH_THEME_GIT_PROMPT_MODIFIED=\"%{$FG[166]%}✹%{$reset_color%}\"\nZSH_THEME_GIT_PROMPT_DELETED=\"%{$FG[160]%}✖%{$reset_color%}\"\nZSH_THEME_GIT_PROMPT_RENAMED=\"%{$FG[220]%}➜%{$reset_color%}\"\nZSH_THEME_GIT_PROMPT_UNMERGED=\"%{$FG[082]%}═%{$reset_color%}\"\nZSH_THEME_GIT_PROMPT_UNTRACKED=\"%{$FG[190]%}✭%{$reset_color%}\"\n"
  },
  {
    "path": "themes/nanotech.zsh-theme",
    "content": "PROMPT='%F{green}%2c%F{blue} [%f '\nRPROMPT='$(git_prompt_info) %F{blue}] %F{green}%D{%L:%M} %F{yellow}%D{%p}%f'\n\nZSH_THEME_GIT_PROMPT_PREFIX=\"%F{yellow}\"\nZSH_THEME_GIT_PROMPT_SUFFIX=\"%f\"\nZSH_THEME_GIT_PROMPT_DIRTY=\" %F{red}*%f\"\nZSH_THEME_GIT_PROMPT_CLEAN=\"\"\n"
  },
  {
    "path": "themes/nebirhos.zsh-theme",
    "content": "# Based on robbyrussell's theme, with host and rvm indicators. Example:\n# @host ➜ currentdir rvm:(rubyversion@gemset) git:(branchname)\n\n# Get the current ruby version in use with RVM:\nif [ -e ~/.rvm/bin/rvm-prompt ]; then\n    RUBY_PROMPT_=\"%{$fg_bold[blue]%}rvm:(%{$fg[green]%}\\$(~/.rvm/bin/rvm-prompt s i v g)%{$fg_bold[blue]%})%{$reset_color%} \"\nfi\n\n# Get the host name (first 4 chars)\nHOST_PROMPT_=\"%{$fg_bold[red]%}@$HOST[0,4] ➜  %{$fg_bold[cyan]%}%c \"\nGIT_PROMPT=\"%{$fg_bold[blue]%}\\$(git_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}\"\nPROMPT=\"$HOST_PROMPT_$RUBY_PROMPT_$GIT_PROMPT\"\n\nZSH_THEME_GIT_PROMPT_PREFIX=\"git:(%{$fg[red]%}\"\nZSH_THEME_GIT_PROMPT_SUFFIX=\"%{$reset_color%}\"\nZSH_THEME_GIT_PROMPT_DIRTY=\"%{$fg[blue]%}) %{$fg[yellow]%}✗%{$reset_color%}\"\nZSH_THEME_GIT_PROMPT_CLEAN=\"%{$fg[blue]%})\"\n"
  },
  {
    "path": "themes/nicoulaj.zsh-theme",
    "content": "#!/usr/bin/env zsh\n# ------------------------------------------------------------------------------\n# Prompt for the Zsh shell:\n#   * One line.\n#   * VCS info on the right prompt.\n#   * Only shows the path on the left prompt by default.\n#   * Crops the path to a defined length and only shows the path relative to\n#     the current VCS repository root.\n#   * Wears a different color wether the last command succeeded/failed.\n#   * Shows user@hostname if connected through SSH.\n#   * Shows if logged in as root or not.\n# ------------------------------------------------------------------------------\n\n# Customizable parameters.\nPROMPT_PATH_MAX_LENGTH=30\nPROMPT_DEFAULT_END=❯\nPROMPT_ROOT_END=❯❯❯\nPROMPT_SUCCESS_COLOR=$FG[071]\nPROMPT_FAILURE_COLOR=$FG[124]\nPROMPT_VCS_INFO_COLOR=$FG[242]\n\n# Set required options.\nsetopt promptsubst\n\n# Load required modules.\nautoload -U add-zsh-hook\nautoload -Uz vcs_info\n\n# Add hook for calling vcs_info before each command.\nadd-zsh-hook precmd vcs_info\n\n# Set vcs_info parameters.\nzstyle ':vcs_info:*' enable hg bzr git\nzstyle ':vcs_info:*:*' check-for-changes true # Can be slow on big repos.\nzstyle ':vcs_info:*:*' unstagedstr '!'\nzstyle ':vcs_info:*:*' stagedstr '+'\nzstyle ':vcs_info:*:*' actionformats \"%S\" \"%r/%s/%b %u%c (%a)\"\nzstyle ':vcs_info:*:*' formats \"%S\" \"%r/%s/%b %u%c\"\nzstyle ':vcs_info:*:*' nvcsformats \"%~\" \"\"\n\n# Define prompts.\nPROMPT=\"%(0?.%{$PROMPT_SUCCESS_COLOR%}.%{$PROMPT_FAILURE_COLOR%})${SSH_TTY:+[%n@%m]}%{$FX[bold]%}%$PROMPT_PATH_MAX_LENGTH<..<\"'${vcs_info_msg_0_%%.}'\"%<<%(!.$PROMPT_ROOT_END.$PROMPT_DEFAULT_END)%{$FX[no-bold]%}%{$FX[reset]%} \"\nRPROMPT=\"%{$PROMPT_VCS_INFO_COLOR%}\"'$vcs_info_msg_1_'\"%{$FX[reset]%}\"\n"
  },
  {
    "path": "themes/obraun.zsh-theme",
    "content": "if [ \"$(whoami)\" = \"root\" ]; then CARETCOLOR=\"red\"; else CARETCOLOR=\"blue\"; fi\n\nlocal return_code=\"%(?..%{$fg[red]%}%? ↵%{$reset_color%})\"\n\nPROMPT='%{$fg[green]%}[%*]%{$reset_color%} %{$fg_no_bold[cyan]%}%n %{${fg_bold[blue]}%}::%{$reset_color%} %{$fg[yellow]%}%m%{$reset_color%} %{$fg_no_bold[magenta]%} ➜ %{$reset_color%} %{${fg[green]}%}%3~ $(git_prompt_info)%{${fg_bold[$CARETCOLOR]}%}»%{${reset_color}%} '\n\nRPS1=\"${return_code}\"\n\nZSH_THEME_GIT_PROMPT_PREFIX=\"%{$fg[red]%}‹\"\nZSH_THEME_GIT_PROMPT_SUFFIX=\"› %{$reset_color%}\"\n\n"
  },
  {
    "path": "themes/philips.zsh-theme",
    "content": "if [ $UID -eq 0 ]; then NCOLOR=\"red\"; else NCOLOR=\"green\"; fi\n\nPROMPT='%{$fg[$NCOLOR]%}%B%n%b%{$reset_color%}:%{$fg[blue]%}%B%c/%b%{$reset_color%} $(git_prompt_info)%(!.#.$) '\nRPROMPT='[%*]'\n\n# git theming\nZSH_THEME_GIT_PROMPT_PREFIX=\"%{$fg_bold[blue]%}(%{$fg_no_bold[red]%}%B\"\nZSH_THEME_GIT_PROMPT_SUFFIX=\"%b%{$fg_bold[blue]%})%{$reset_color%} \"\nZSH_THEME_GIT_PROMPT_CLEAN=\"\"\nZSH_THEME_GIT_PROMPT_DIRTY=\"*\"\n\n# LS colors, made with http://geoff.greer.fm/lscolors/\nexport LSCOLORS=\"Gxfxcxdxbxegedabagacad\"\nexport LS_COLORS='no=00:fi=00:di=01;34:ln=00;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=41;33;01:ex=00;32:*.cmd=00;32:*.exe=01;32:*.com=01;32:*.bat=01;32:*.btm=01;32:*.dll=01;32:*.tar=00;31:*.tbz=00;31:*.tgz=00;31:*.rpm=00;31:*.deb=00;31:*.arj=00;31:*.taz=00;31:*.lzh=00;31:*.lzma=00;31:*.zip=00;31:*.zoo=00;31:*.z=00;31:*.Z=00;31:*.gz=00;31:*.bz2=00;31:*.tb2=00;31:*.tz2=00;31:*.tbz2=00;31:*.avi=01;35:*.bmp=01;35:*.fli=01;35:*.gif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mng=01;35:*.mov=01;35:*.mpg=01;35:*.pcx=01;35:*.pbm=01;35:*.pgm=01;35:*.png=01;35:*.ppm=01;35:*.tga=01;35:*.tif=01;35:*.xbm=01;35:*.xpm=01;35:*.dl=01;35:*.gl=01;35:*.wmv=01;35:*.aiff=00;32:*.au=00;32:*.mid=00;32:*.mp3=00;32:*.ogg=00;32:*.voc=00;32:*.wav=00;32:*.patch=00;34:*.o=00;32:*.so=01;35:*.ko=01;31:*.la=00;33'\n"
  },
  {
    "path": "themes/pmcgee.zsh-theme",
    "content": "if [ $UID -eq 0 ]; then NCOLOR=\"red\"; else NCOLOR=\"green\"; fi\n\nPROMPT='\n%{$fg[$NCOLOR]%}%B%n@%m%b%{$reset_color%} %{$fg[white]%}%B${PWD/#$HOME/~}%b%{$reset_color%}\n$(git_prompt_info)%(!.#.$) '\nRPROMPT='[%*]'\n\n# git theming\nZSH_THEME_GIT_PROMPT_PREFIX=\"%{$fg_no_bold[yellow]%}%B\"\nZSH_THEME_GIT_PROMPT_SUFFIX=\"%{$reset_color%} \"\nZSH_THEME_GIT_PROMPT_CLEAN=\"\"\nZSH_THEME_GIT_PROMPT_DIRTY=\"%{$fg_bold[red]%}*\"\n\n# LS colors, made with http://geoff.greer.fm/lscolors/\nexport LSCOLORS=\"Gxfxcxdxbxegedabagacad\"\nexport LS_COLORS='no=00:fi=00:di=01;34:ln=00;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=41;33;01:ex=00;32:*.cmd=00;32:*.exe=01;32:*.com=01;32:*.bat=01;32:*.btm=01;32:*.dll=01;32:*.tar=00;31:*.tbz=00;31:*.tgz=00;31:*.rpm=00;31:*.deb=00;31:*.arj=00;31:*.taz=00;31:*.lzh=00;31:*.lzma=00;31:*.zip=00;31:*.zoo=00;31:*.z=00;31:*.Z=00;31:*.gz=00;31:*.bz2=00;31:*.tb2=00;31:*.tz2=00;31:*.tbz2=00;31:*.avi=01;35:*.bmp=01;35:*.fli=01;35:*.gif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mng=01;35:*.mov=01;35:*.mpg=01;35:*.pcx=01;35:*.pbm=01;35:*.pgm=01;35:*.png=01;35:*.ppm=01;35:*.tga=01;35:*.tif=01;35:*.xbm=01;35:*.xpm=01;35:*.dl=01;35:*.gl=01;35:*.wmv=01;35:*.aiff=00;32:*.au=00;32:*.mid=00;32:*.mp3=00;32:*.ogg=00;32:*.voc=00;32:*.wav=00;32:'\n"
  },
  {
    "path": "themes/prose.zsh-theme",
    "content": "if [ \"x$OH_MY_ZSH_HG\" = \"x\" ]; then\n    OH_MY_ZSH_HG=\"hg\"\nfi\n\nfunction virtualenv_info {\n    [ $VIRTUAL_ENV ] && echo '('`basename $VIRTUAL_ENV`') '\n}\n\nfunction hg_prompt_info {\n    $OH_MY_ZSH_HG prompt --angle-brackets \"\\\n< on %{$fg[magenta]%}<branch>%{$reset_color%}>\\\n< at %{$fg[yellow]%}<tags|%{$reset_color%}, %{$fg[yellow]%}>%{$reset_color%}>\\\n%{$fg[green]%}<status|modified|unknown><update>%{$reset_color%}<\npatches: <patches|join( → )|pre_applied(%{$fg[yellow]%})|post_applied(%{$reset_color%})|pre_unapplied(%{$fg_bold[black]%})|post_unapplied(%{$reset_color%})>>\" 2>/dev/null\n}\n\nfunction box_name {\n    [ -f ~/.box-name ] && cat ~/.box-name || hostname -s\n}\n\nPROMPT='\n%{$fg[magenta]%}%n%{$reset_color%} at %{$fg[yellow]%}$(box_name)%{$reset_color%} in %{$fg_bold[green]%}${PWD/#$HOME/~}%{$reset_color%}$(hg_prompt_info)$(git_prompt_info)\n$(virtualenv_info)%(?,,%{${fg_bold[white]}%}[%?]%{$reset_color%} )$ '\n\nZSH_THEME_GIT_PROMPT_PREFIX=\" on %{$fg[magenta]%}\"\nZSH_THEME_GIT_PROMPT_SUFFIX=\"%{$reset_color%}\"\nZSH_THEME_GIT_PROMPT_DIRTY=\"%{$fg[green]%}!\"\nZSH_THEME_GIT_PROMPT_UNTRACKED=\"%{$fg[green]%}?\"\nZSH_THEME_GIT_PROMPT_CLEAN=\"\"\n\nlocal return_status=\"%{$fg[red]%}%(?..✘)%{$reset_color%}\"\nRPROMPT='${return_status}%{$reset_color%}'\n"
  },
  {
    "path": "themes/re5et.zsh-theme",
    "content": "if [ \"$(whoami)\" = \"root\" ]; then CARETCOLOR=\"red\"; else CARETCOLOR=\"magenta\"; fi\n\nlocal return_code=\"%(?..%{$fg_bold[red]%}:( %?%{$reset_color%})\"\n\nPROMPT='\n%{$fg_bold[cyan]%}%n%{$reset_color%}%{$fg[yellow]%}@%{$reset_color%}%{$fg_bold[blue]%}%m%{$reset_color%}:%{${fg_bold[green]}%}%~%{$reset_color%}$(git_prompt_info)\n%{${fg[$CARETCOLOR]}%}%# %{${reset_color}%}'\n\nRPS1='${return_code} %D - %*'\n\nZSH_THEME_GIT_PROMPT_PREFIX=\"%{$fg_bold[magenta]%}^%{$reset_color%}%{$fg_bold[yellow]%}\"\nZSH_THEME_GIT_PROMPT_SUFFIX=\"%{$reset_color%}\"\nZSH_THEME_GIT_PROMPT_DIRTY=\"%{$fg_bold[red]%} ±\"\nZSH_THEME_GIT_PROMPT_UNTRACKED=\"%{$fg[cyan]%} ?\"\nZSH_THEME_GIT_PROMPT_CLEAN=\"%{$fg_bold[red]%} ♥\"\n"
  },
  {
    "path": "themes/rgm.zsh-theme",
    "content": "PROMPT='\n%n@%m %{$fg[cyan]%}%~\n%? $(git_prompt_info)%{$fg_bold[blue]%}%% %{$reset_color%}'\n\nZSH_THEME_GIT_PROMPT_PREFIX=\"%{$fg[red]%}\"\nZSH_THEME_GIT_PROMPT_SUFFIX=\"%{$reset_color%} \"\nZSH_THEME_GIT_PROMPT_DIRTY=\"%{$fg[red]%}\"\nZSH_THEME_GIT_PROMPT_CLEAN=\"%{$fg[blue]%}\"\n"
  },
  {
    "path": "themes/risto.zsh-theme",
    "content": "# -*- sh -*- vim:set ft=sh ai et sw=4 sts=4:\n# It might be bash like, but I can't have my co-workers knowing I use zsh\nPROMPT='%{$fg[green]%}%n@%m:%{$fg_bold[blue]%}%2~ $(git_prompt_info)%{$reset_color%}%(!.#.$) '\n\nZSH_THEME_GIT_PROMPT_PREFIX=\"%{$fg[red]%}‹\"\nZSH_THEME_GIT_PROMPT_SUFFIX=\"›%{$reset_color%}\"\n"
  },
  {
    "path": "themes/rixius.zsh-theme",
    "content": "# /|/ Code by Stephen\n# /|/ \"Rixius\" Middleton\n# \n# name in folder (github)\n# ± if in github repo, or ≥ if otherwise Time in 24-hour format is on right.\nfunction collapse_pwd {\n    echo $(pwd | sed -e \"s,^$HOME,~,\")\n}\nfunction prompt_char {\n    echo -n \"%{$bg[white]%}%{$fg[red]%}\"\n    git branch >/dev/null 2>/dev/null && echo \"±%{$reset_color%}\" && return\n    echo \"≥%{$reset_color%}\"\n}\nRIXIUS_PRE=\"%{$bg[white]%}%{$fg[red]%}\"\n\nPROMPT='\n%{$RIXIUS_PRE%}%n%{$reset_color%} in %{$fg_bold[green]%}$(collapse_pwd)%{$reset_color%}$(git_prompt_info)\n$(prompt_char) '\nRPROMPT='%{$RIXIUS_PRE%}%T%{$reset_color%}'\n\nZSH_THEME_GIT_PROMPT_PREFIX=\" on %{$fg[magenta]%}\"\nZSH_THEME_GIT_PROMPT_SUFFIX=\"%{$reset_color%}\"\nZSH_THEME_GIT_PROMPT_DIRTY=\" %{$RIXIUS_PRE%}!%{$reset_color%}\"\nZSH_THEME_GIT_PROMPT_CLEAN=\" %{$RIXIUS_PRE%}√%{$reset_color%}\"\n"
  },
  {
    "path": "themes/robbyrussell.zsh-theme",
    "content": "PROMPT='%{$fg_bold[red]%}➜ %{$fg_bold[green]%}%p %{$fg[cyan]%}%c %{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}'\n\nZSH_THEME_GIT_PROMPT_PREFIX=\"git:(%{$fg[red]%}\"\nZSH_THEME_GIT_PROMPT_SUFFIX=\"%{$reset_color%}\"\nZSH_THEME_GIT_PROMPT_DIRTY=\"%{$fg[blue]%}) %{$fg[yellow]%}✗%{$reset_color%}\"\nZSH_THEME_GIT_PROMPT_CLEAN=\"%{$fg[blue]%})\"\n"
  },
  {
    "path": "themes/simple.zsh-theme",
    "content": "PROMPT='%{$fg[green]%}%~%{$fg_bold[blue]%}$(git_prompt_info)%{$reset_color%} '\n\nZSH_THEME_GIT_PROMPT_PREFIX=\"(\"\nZSH_THEME_GIT_PROMPT_SUFFIX=\")\"\nZSH_THEME_GIT_PROMPT_DIRTY=\" ✗\"\nZSH_THEME_GIT_PROMPT_CLEAN=\" ✔\"\n"
  },
  {
    "path": "themes/skaro.zsh-theme",
    "content": "PROMPT='%{$fg_bold[green]%}%h %{$fg[cyan]%}%2~ %{$fg_bold[blue]%}$(git_prompt_info) %{$reset_color%}» '\n\nZSH_THEME_GIT_PROMPT_PREFIX=\"git:(%{$fg[red]%}\"\nZSH_THEME_GIT_PROMPT_SUFFIX=\"%{$reset_color%}\"\nZSH_THEME_GIT_PROMPT_DIRTY=\"%{$fg[blue]%}) %{$fg[yellow]%}✗%{$reset_color%}\"\nZSH_THEME_GIT_PROMPT_CLEAN=\"%{$fg[blue]%})\"\n\n"
  },
  {
    "path": "themes/smt.zsh-theme",
    "content": "# -----------------------------------------------------------------------------\n#          FILE: smt.zsh-theme\n#   DESCRIPTION: oh-my-zsh theme file, based on dogenpunk by Matthew Nelson.\n#        AUTHOR: Stephen Tudor (stephen@tudorstudio.com\n#       VERSION: 0.1\n#    SCREENSHOT: coming soon\n# -----------------------------------------------------------------------------\n\nMODE_INDICATOR=\"%{$fg_bold[red]%}❮%{$reset_color%}%{$fg[red]%}❮❮%{$reset_color%}\"\nlocal return_status=\"%{$fg[red]%}%(?..⏎)%{$reset_color%} \"\n\nZSH_THEME_GIT_PROMPT_PREFIX=\"|\"\nZSH_THEME_GIT_PROMPT_SUFFIX=\"%{$reset_color%}\"\nZSH_THEME_GIT_PROMPT_DIRTY=\"%{$fg_bold[red]%}⚡%{$reset_color%}\"\nZSH_THEME_GIT_PROMPT_AHEAD=\"%{$fg_bold[red]%}!%{$reset_color%}\"\nZSH_THEME_GIT_PROMPT_CLEAN=\"%{$fg_bold[green]%}✓%{$reset_color%}\"\n\nZSH_THEME_GIT_PROMPT_ADDED=\"%{$fg[green]%} ✚\"\nZSH_THEME_GIT_PROMPT_MODIFIED=\"%{$fg[blue]%} ✹\"\nZSH_THEME_GIT_PROMPT_DELETED=\"%{$fg[red]%} ✖\"\nZSH_THEME_GIT_PROMPT_RENAMED=\"%{$fg[magenta]%} ➜\"\nZSH_THEME_GIT_PROMPT_UNMERGED=\"%{$fg[yellow]%} ═\"\nZSH_THEME_GIT_PROMPT_UNTRACKED=\"%{$fg[cyan]%} ✭\"\n\n# Format for git_prompt_long_sha() and git_prompt_short_sha()\nZSH_THEME_GIT_PROMPT_SHA_BEFORE=\"➤ %{$fg_bold[yellow]%}\"\nZSH_THEME_GIT_PROMPT_SHA_AFTER=\"%{$reset_color%}\"\n\nfunction prompt_char() {\n  git branch >/dev/null 2>/dev/null && echo \"%{$fg[green]%}±%{$reset_color%}\" && return\n  hg root >/dev/null 2>/dev/null && echo \"%{$fg_bold[red]%}☿%{$reset_color%}\" && return\n  echo \"%{$fg[cyan]%}◯%{$reset_color%}\"\n}\n\n# Colors vary depending on time lapsed.\nZSH_THEME_GIT_TIME_SINCE_COMMIT_SHORT=\"%{$fg[green]%}\"\nZSH_THEME_GIT_TIME_SHORT_COMMIT_MEDIUM=\"%{$fg[yellow]%}\"\nZSH_THEME_GIT_TIME_SINCE_COMMIT_LONG=\"%{$fg[red]%}\"\nZSH_THEME_GIT_TIME_SINCE_COMMIT_NEUTRAL=\"%{$fg[cyan]%}\"\n\n# Determine the time since last commit. If branch is clean,\n# use a neutral color, otherwise colors will vary according to time.\nfunction git_time_since_commit() {\n    if git rev-parse --git-dir > /dev/null 2>&1; then\n        # Only proceed if there is actually a commit.\n        if [[ $(git log 2>&1 > /dev/null | grep -c \"^fatal: bad default revision\") == 0 ]]; then\n            # Get the last commit.\n            last_commit=`git log --pretty=format:'%at' -1 2> /dev/null`\n            now=`date +%s`\n            seconds_since_last_commit=$((now-last_commit))\n\n            # Totals\n            MINUTES=$((seconds_since_last_commit / 60))\n            HOURS=$((seconds_since_last_commit/3600))\n\n            # Sub-hours and sub-minutes\n            DAYS=$((seconds_since_last_commit / 86400))\n            SUB_HOURS=$((HOURS % 24))\n            SUB_MINUTES=$((MINUTES % 60))\n\n            if [[ -n $(git status -s 2> /dev/null) ]]; then\n                if [ \"$MINUTES\" -gt 30 ]; then\n                    COLOR=\"$ZSH_THEME_GIT_TIME_SINCE_COMMIT_LONG\"\n                elif [ \"$MINUTES\" -gt 10 ]; then\n                    COLOR=\"$ZSH_THEME_GIT_TIME_SHORT_COMMIT_MEDIUM\"\n                else\n                    COLOR=\"$ZSH_THEME_GIT_TIME_SINCE_COMMIT_SHORT\"\n                fi\n            else\n                COLOR=\"$ZSH_THEME_GIT_TIME_SINCE_COMMIT_NEUTRAL\"\n            fi\n\n            if [ \"$HOURS\" -gt 24 ]; then\n                echo \"[$COLOR${DAYS}d${SUB_HOURS}h${SUB_MINUTES}m%{$reset_color%}]\"\n            elif [ \"$MINUTES\" -gt 60 ]; then\n                echo \"[$COLOR${HOURS}h${SUB_MINUTES}m%{$reset_color%}]\"\n            else\n                echo \"[$COLOR${MINUTES}m%{$reset_color%}]\"\n            fi\n        else\n            COLOR=\"$ZSH_THEME_GIT_TIME_SINCE_COMMIT_NEUTRAL\"\n            echo \"[$COLOR~]\"\n        fi\n    fi\n}\n\nPROMPT='\n%{$fg[blue]%}%m%{$reset_color%} 福 %{$fg[cyan]%}%~ %{$reset_color%}$(git_prompt_short_sha)$(git_prompt_info)\n%{$fg[red]%}%!%{$reset_color%} $(prompt_char) : '\n\nRPROMPT='${return_status}$(git_time_since_commit)$(git_prompt_status)%{$reset_color%}'\n"
  },
  {
    "path": "themes/sorin.zsh-theme",
    "content": "# ------------------------------------------------------------------------------\n#          FILE:  sorin.zsh-theme\n#   DESCRIPTION:  oh-my-zsh theme file.\n#        AUTHOR:  Sorin Ionescu (sorin.ionescu@gmail.com)\n#       VERSION:  1.0.2\n#    SCREENSHOT:  http://i.imgur.com/aipDQ.png\n# ------------------------------------------------------------------------------\n\n\nif [[ \"$TERM\" != \"dumb\" ]] && [[ \"$DISABLE_LS_COLORS\" != \"true\" ]]; then\n  MODE_INDICATOR=\"%{$fg_bold[red]%}❮%{$reset_color%}%{$fg[red]%}❮❮%{$reset_color%}\"\n  local return_status=\"%{$fg[red]%}%(?..⏎)%{$reset_color%}\"\n  \n  PROMPT='%{$fg[cyan]%}%c$(git_prompt_info) %(!.%{$fg_bold[red]%}#.%{$fg_bold[green]%}❯)%{$reset_color%} '\n\n  ZSH_THEME_GIT_PROMPT_PREFIX=\" %{$fg[blue]%}git%{$reset_color%}:%{$fg[red]%}\"\n  ZSH_THEME_GIT_PROMPT_SUFFIX=\"%{$reset_color%}\"\n  ZSH_THEME_GIT_PROMPT_DIRTY=\"\"\n  ZSH_THEME_GIT_PROMPT_CLEAN=\"\"\n\n  RPROMPT='${return_status}$(git_prompt_status)%{$reset_color%}'\n\n  ZSH_THEME_GIT_PROMPT_ADDED=\"%{$fg[green]%} ✚\"\n  ZSH_THEME_GIT_PROMPT_MODIFIED=\"%{$fg[blue]%} ✹\"\n  ZSH_THEME_GIT_PROMPT_DELETED=\"%{$fg[red]%} ✖\"\n  ZSH_THEME_GIT_PROMPT_RENAMED=\"%{$fg[magenta]%} ➜\"\n  ZSH_THEME_GIT_PROMPT_UNMERGED=\"%{$fg[yellow]%} ═\"\n  ZSH_THEME_GIT_PROMPT_UNTRACKED=\"%{$fg[cyan]%} ✭\"\nelse \n  MODE_INDICATOR=\"❮❮❮\"\n  local return_status=\"%(?::⏎)\"\n  \n  PROMPT='%c$(git_prompt_info) %(!.#.❯) '\n\n  ZSH_THEME_GIT_PROMPT_PREFIX=\" git:\"\n  ZSH_THEME_GIT_PROMPT_SUFFIX=\"\"\n  ZSH_THEME_GIT_PROMPT_DIRTY=\"\"\n  ZSH_THEME_GIT_PROMPT_CLEAN=\"\"\n\n  RPROMPT='${return_status}$(git_prompt_status)'\n\n  ZSH_THEME_GIT_PROMPT_ADDED=\" ✚\"\n  ZSH_THEME_GIT_PROMPT_MODIFIED=\" ✹\"\n  ZSH_THEME_GIT_PROMPT_DELETED=\" ✖\"\n  ZSH_THEME_GIT_PROMPT_RENAMED=\" ➜\"\n  ZSH_THEME_GIT_PROMPT_UNMERGED=\" ═\"\n  ZSH_THEME_GIT_PROMPT_UNTRACKED=\" ✭\"\nfi\n"
  },
  {
    "path": "themes/sporty_256.zsh-theme",
    "content": "# zsh theme requires 256 color enabled terminal\n# i.e TERM=xterm-256color\n# Preview - http://www.flickr.com/photos/adelcampo/4556482563/sizes/o/\n# based on robbyrussell's shell but louder!\n\nPROMPT='%{$fg_bold[blue]%}$(git_prompt_info) %F{208}%c%f\n%{$fg_bold[white]%}%# %{$reset_color%}'\nRPROMPT='%B%F{208}%n%f%{$fg_bold[white]%}@%F{039}%m%f%{$reset_color%}'\n\nZSH_THEME_GIT_PROMPT_PREFIX=\"%F{154}±|%f%F{124}\"\nZSH_THEME_GIT_PROMPT_SUFFIX=\"%{$reset_color%}\"\nZSH_THEME_GIT_PROMPT_DIRTY=\" %{$fg[red]%}%B✘%b%F{154}|%f%{$reset_color%}\"\nZSH_THEME_GIT_PROMPT_CLEAN=\" %{$fg[green]%}✔%F{154}|\"\n"
  },
  {
    "path": "themes/steeef.zsh-theme",
    "content": "# prompt style and colors based on Steve Losh's Prose theme:\n# http://github.com/sjl/oh-my-zsh/blob/master/themes/prose.zsh-theme\n#\n# vcs_info modifications from Bart Trojanowski's zsh prompt:\n# http://www.jukie.net/bart/blog/pimping-out-zsh-prompt\n#\n# git untracked files modification from Brian Carper:\n# http://briancarper.net/blog/570/git-info-in-your-zsh-prompt\n\nfunction virtualenv_info {\n    [ $VIRTUAL_ENV ] && echo '('`basename $VIRTUAL_ENV`') '\n}\nPR_GIT_UPDATE=1\n\nsetopt prompt_subst\nautoload colors\ncolors\n\nautoload -U add-zsh-hook\nautoload -Uz vcs_info\n\n#use extended color pallete if available\nif [[ $TERM = *256color* || $TERM = *rxvt* ]]; then\n    turquoise=\"%F{81}\"\n    orange=\"%F{166}\"\n    purple=\"%F{135}\"\n    hotpink=\"%F{161}\"\n    limegreen=\"%F{118}\"\nelse\n    turquoise=\"$fg[cyan]\"\n    orange=\"$fg[yellow]\"\n    purple=\"$fg[magenta]\"\n    hotpink=\"$fg[red]\"\n    limegreen=\"$fg[green]\"\nfi\n\n# enable VCS systems you use\nzstyle ':vcs_info:*' enable git svn\n\n# check-for-changes can be really slow.\n# you should disable it, if you work with large repositories\nzstyle ':vcs_info:*:prompt:*' check-for-changes true\n\n# set formats\n# %b - branchname\n# %u - unstagedstr (see below)\n# %c - stagedstr (see below)\n# %a - action (e.g. rebase-i)\n# %R - repository path\n# %S - path in the repository\nPR_RST=\"%{${reset_color}%}\"\nFMT_BRANCH=\"(%{$turquoise%}%b%u%c${PR_RST})\"\nFMT_ACTION=\"(%{$limegreen%}%a${PR_RST})\"\nFMT_UNSTAGED=\"%{$orange%}●\"\nFMT_STAGED=\"%{$limegreen%}●\"\n\nzstyle ':vcs_info:*:prompt:*' unstagedstr   \"${FMT_UNSTAGED}\"\nzstyle ':vcs_info:*:prompt:*' stagedstr     \"${FMT_STAGED}\"\nzstyle ':vcs_info:*:prompt:*' actionformats \"${FMT_BRANCH}${FMT_ACTION}\"\nzstyle ':vcs_info:*:prompt:*' formats       \"${FMT_BRANCH}\"\nzstyle ':vcs_info:*:prompt:*' nvcsformats   \"\"\n\n\nfunction steeef_preexec {\n    case \"$(history $HISTCMD)\" in\n        *git*)\n            PR_GIT_UPDATE=1\n            ;;\n        *svn*)\n            PR_GIT_UPDATE=1\n            ;;\n    esac\n}\nadd-zsh-hook preexec steeef_preexec\n\nfunction steeef_chpwd {\n    PR_GIT_UPDATE=1\n}\nadd-zsh-hook chpwd steeef_chpwd\n\nfunction steeef_precmd {\n    if [[ -n \"$PR_GIT_UPDATE\" ]] ; then\n        # check for untracked files or updated submodules, since vcs_info doesn't\n        if [[ ! -z $(git ls-files --other --exclude-standard 2> /dev/null) ]]; then\n            PR_GIT_UPDATE=1\n            FMT_BRANCH=\"(%{$turquoise%}%b%u%c%{$hotpink%}●${PR_RST})\"\n        else\n            FMT_BRANCH=\"(%{$turquoise%}%b%u%c${PR_RST})\"\n        fi\n        zstyle ':vcs_info:*:prompt:*' formats       \"${FMT_BRANCH}\"\n\n        vcs_info 'prompt'\n        PR_GIT_UPDATE=\n    fi\n}\nadd-zsh-hook precmd steeef_precmd\n\nPROMPT=$'\n%{$purple%}%n%{$reset_color%} at %{$orange%}%m%{$reset_color%} in %{$limegreen%}%~%{$reset_color%} $vcs_info_msg_0_\n$(virtualenv_info)$ '\n"
  },
  {
    "path": "themes/sunaku.zsh-theme",
    "content": "# Git-centric variation of the \"fishy\" theme.\n# See screenshot at http://ompldr.org/vOHcwZg\n\nZSH_THEME_GIT_PROMPT_ADDED=\"%{$fg[green]%}+\"\nZSH_THEME_GIT_PROMPT_MODIFIED=\"%{$fg[magenta]%}!\"\nZSH_THEME_GIT_PROMPT_DELETED=\"%{$fg[red]%}-\"\nZSH_THEME_GIT_PROMPT_RENAMED=\"%{$fg[blue]%}>\"\nZSH_THEME_GIT_PROMPT_UNMERGED=\"%{$fg[cyan]%}#\"\nZSH_THEME_GIT_PROMPT_UNTRACKED=\"%{$fg[yellow]%}?\"\n\nZSH_THEME_GIT_PROMPT_PREFIX=\"\"\nZSH_THEME_GIT_PROMPT_SUFFIX=\" \"\nZSH_THEME_GIT_PROMPT_DIRTY=\"\"\nZSH_THEME_GIT_PROMPT_CLEAN=\"\"\n\nlocal user_color='green'\ntest $UID -eq 0 && user_color='red'\n\nPROMPT='%(?..%{$fg_bold[red]%}exit %?\n%{$reset_color%})'\\\n'%{$bold_color%}$(git_prompt_status)%{$reset_color%}'\\\n'$(git_prompt_info)'\\\n'%{$fg[$user_color]%}%~%{$reset_color%}'\\\n'%(!.#.>) '\n\nPROMPT2='%{$fg[red]%}\\ %{$reset_color%}'\n"
  },
  {
    "path": "themes/sunrise.zsh-theme",
    "content": "#-------------------------------------------------------------------------------\n# Sunrise theme for oh-my-zsh by Adam Lindberg (eproxus@gmail.com)\n# Intended to be used with Solarized: http://ethanschoonover.com/solarized\n# (Needs Git plugin for current_branch method)\n#-------------------------------------------------------------------------------\n\n# Color shortcuts\nR=$fg[red]\nG=$fg[green]\nM=$fg[magenta]\nRB=$fg_bold[red]\nYB=$fg_bold[yellow]\nBB=$fg_bold[blue]\nRESET=$reset_color\n\nif [ \"$(whoami)\" = \"root\" ]; then\n    PROMPTCOLOR=\"%{$RB%}\" PREFIX=\"-!-\";\nelse\n    PROMPTCOLOR=\"\" PREFIX=\"---\";\nfi\n\nlocal return_code=\"%(?..%{$R%}%? ↵%{$RESET%})\"\n\n# Get the status of the working tree (copied and modified from git.zsh)\ncustom_git_prompt_status() {\n  INDEX=$(git status --porcelain 2> /dev/null)\n  STATUS=\"\"\n  # Non-staged\n  if $(echo \"$INDEX\" | grep '^?? ' &> /dev/null); then\n    STATUS=\"$ZSH_THEME_GIT_PROMPT_UNTRACKED$STATUS\"\n  fi\n  if $(echo \"$INDEX\" | grep '^UU ' &> /dev/null); then\n    STATUS=\"$ZSH_THEME_GIT_PROMPT_UNMERGED$STATUS\"\n  fi\n  if $(echo \"$INDEX\" | grep '^ D ' &> /dev/null); then\n    STATUS=\"$ZSH_THEME_GIT_PROMPT_DELETED$STATUS\"\n  fi\n  if $(echo \"$INDEX\" | grep '^.M ' &> /dev/null); then\n    STATUS=\"$ZSH_THEME_GIT_PROMPT_MODIFIED$STATUS\"\n  elif $(echo \"$INDEX\" | grep '^AM ' &> /dev/null); then\n    STATUS=\"$ZSH_THEME_GIT_PROMPT_MODIFIED$STATUS\"\n  elif $(echo \"$INDEX\" | grep '^ T ' &> /dev/null); then\n    STATUS=\"$ZSH_THEME_GIT_PROMPT_MODIFIED$STATUS\"\n  fi\n  # Staged\n  if $(echo \"$INDEX\" | grep '^D  ' &> /dev/null); then\n    STATUS=\"$ZSH_THEME_GIT_PROMPT_STAGED_DELETED$STATUS\"\n  fi\n  if $(echo \"$INDEX\" | grep '^R' &> /dev/null); then\n    STATUS=\"$ZSH_THEME_GIT_PROMPT_STAGED_RENAMED$STATUS\"\n  fi\n  if $(echo \"$INDEX\" | grep '^M' &> /dev/null); then\n    STATUS=\"$ZSH_THEME_GIT_PROMPT_STAGED_MODIFIED$STATUS\"\n  fi\n  if $(echo \"$INDEX\" | grep '^A' &> /dev/null); then\n    STATUS=\"$ZSH_THEME_GIT_PROMPT_STAGED_ADDED$STATUS\"\n  fi\n\n  if $(echo -n \"$STATUS\" | grep '.*' &> /dev/null); then\n    STATUS=\"$ZSH_THEME_GIT_STATUS_PREFIX$STATUS\"\n  fi\n\n  echo $STATUS\n}\n\n# get the name of the branch we are on (copied and modified from git.zsh)\nfunction custom_git_prompt() {\n  ref=$(git symbolic-ref HEAD 2> /dev/null) || return\n  echo \"$ZSH_THEME_GIT_PROMPT_PREFIX${ref#refs/heads/}$(parse_git_dirty)$(git_prompt_ahead)$(custom_git_prompt_status)$ZSH_THEME_GIT_PROMPT_SUFFIX\"\n}\n\n# %B sets bold text\nPROMPT='%B$PREFIX %2~ $(custom_git_prompt)%{$M%}%B»%b%{$RESET%} '\nRPS1=\"${return_code}\"\n\nZSH_THEME_GIT_PROMPT_PREFIX=\"%{$YB%}‹\"\nZSH_THEME_GIT_PROMPT_SUFFIX=\"%{$YB%}›%{$RESET%} \"\n\nZSH_THEME_GIT_PROMPT_DIRTY=\"%{$R%}*\"\nZSH_THEME_GIT_PROMPT_CLEAN=\"\"\n\nZSH_THEME_GIT_PROMPT_AHEAD=\"%{$BB%}➔\"\n\nZSH_THEME_GIT_STATUS_PREFIX=\" \"\n\n# Staged\nZSH_THEME_GIT_PROMPT_STAGED_ADDED=\"%{$G%}A\"\nZSH_THEME_GIT_PROMPT_STAGED_MODIFIED=\"%{$G%}M\"\nZSH_THEME_GIT_PROMPT_STAGED_RENAMED=\"%{$G%}R\"\nZSH_THEME_GIT_PROMPT_STAGED_DELETED=\"%{$G%}D\"\n\n# Not-staged\nZSH_THEME_GIT_PROMPT_UNTRACKED=\"%{$R%}⁇\"\nZSH_THEME_GIT_PROMPT_MODIFIED=\"%{$R%}M\"\nZSH_THEME_GIT_PROMPT_DELETED=\"%{$R%}D\"\nZSH_THEME_GIT_PROMPT_UNMERGED=\"%{$R%}UU\"\n"
  },
  {
    "path": "themes/superjarin.zsh-theme",
    "content": "# Grab the current version of ruby in use (via RVM): [ruby-1.8.7]\nJARIN_CURRENT_RUBY_=\"%{$fg[white]%}[%{$fg[red]%}\\$(~/.rvm/bin/rvm-prompt i v)%{$fg[white]%}]%{$reset_color%}\"\n\n# Grab the current filepath, use shortcuts: ~/Desktop\n# Append the current git branch, if in a git repository\nJARIN_CURRENT_LOCA_=\"%{$fg_bold[cyan]%}%~\\$(git_prompt_info)%{$reset_color%}\"\nZSH_THEME_GIT_PROMPT_PREFIX=\"%{$fg[white]%} <%{$fg[magenta]%}\"\nZSH_THEME_GIT_PROMPT_SUFFIX=\"%{$reset_color%}\"\n\n# Do nothing if the branch is clean (no changes).\nZSH_THEME_GIT_PROMPT_CLEAN=\"%{$reset_color%}>\"\n\n# Add a yellow ✗ if the branch is dirty\nZSH_THEME_GIT_PROMPT_DIRTY=\"%{$reset_color%}> %{$fg[yellow]%}✗\"\n\n# Put it all together!\nPROMPT=\"$JARIN_CURRENT_RUBY_ $JARIN_CURRENT_LOCA_ \"\n\n"
  },
  {
    "path": "themes/takashiyoshida.zsh-theme",
    "content": "#\n# PROMPT\n#\nPROMPT_BRACKET_BEGIN='%{$fg_bold[white]%}['\nPROMPT_HOST='%{$fg_bold[cyan]%}%m'\nPROMPT_SEPARATOR='%{$reset_color%}:'\nPROMPT_DIR='%{$fg_bold[yellow]%}%c'\nPROMPT_BRACKET_END='%{$fg_bold[white]%}]'\n\nPROMPT_USER='%{$fg_bold[white]%}%n'\nPROMPT_SIGN='%{$reset_color%}%#'\n\nGIT_PROMPT_INFO='$(git_prompt_info)'\n\n# My current prompt looks like:\n# [host:current_dir] (git_prompt_info)\n# [username]%\nPROMPT=\"${PROMPT_BRACKET_BEGIN}${PROMPT_HOST}${PROMPT_SEPARATOR}${PROMPT_DIR}${PROMPT_BRACKET_END}${GIT_PROMPT_INFO}\n${PROMPT_BRACKET_BEGIN}${PROMPT_USER}${PROMPT_BRACKET_END}${PROMPT_SIGN} \"\n\n#\n# Git repository\n#\nZSH_THEME_GIT_PROMPT_PREFIX=\" on %{$fg[magenta]%}\"\nZSH_THEME_GIT_PROMPT_SUFFIX=\"%{$reset_color%}\"\nZSH_THEME_GIT_PROMPT_DIRTY=\"%{$fg[green]%}!\"\nZSH_THEME_GIT_PROMPT_CLEAN=''\n"
  },
  {
    "path": "themes/terminalparty.zsh-theme",
    "content": "PROMPT='%{$fg[green]%} %% '\n# RPS1='%{$fg[blue]%}%~%{$reset_color%} '\nRPS1='%{$fg[white]%}%2~$(git_prompt_info) %{$fg_bold[blue]%}%m%{$reset_color%}'\n\nZSH_THEME_GIT_PROMPT_PREFIX=\" (%{$fg[yellow]%}\"\nZSH_THEME_GIT_PROMPT_SUFFIX=\")%{$reset_color%}\"\nZSH_THEME_GIT_PROMPT_CLEAN=\"\"\nZSH_THEME_GIT_PROMPT_DIRTY=\"%{$fg[red]%} ⚡%{$fg[yellow]%}\"\n\n"
  },
  {
    "path": "themes/theunraveler.zsh-theme",
    "content": "# Comment\n\nPROMPT='%{$fg[magenta]%}[%c] %{$reset_color%}'\n\nRPROMPT='%{$fg[magenta]%}$(git_prompt_info)%{$reset_color%} $(git_prompt_status)%{$reset_color%}'\n\nZSH_THEME_GIT_PROMPT_PREFIX=\"\"\nZSH_THEME_GIT_PROMPT_SUFFIX=\"\"\nZSH_THEME_GIT_PROMPT_DIRTY=\"\"\nZSH_THEME_GIT_PROMPT_CLEAN=\"\"\nZSH_THEME_GIT_PROMPT_ADDED=\"%{$fg[cyan]%} ✈\"\nZSH_THEME_GIT_PROMPT_MODIFIED=\"%{$fg[yellow]%} ✭\"\nZSH_THEME_GIT_PROMPT_DELETED=\"%{$fg[red]%} ✗\"\nZSH_THEME_GIT_PROMPT_RENAMED=\"%{$fg[blue]%} ➦\"\nZSH_THEME_GIT_PROMPT_UNMERGED=\"%{$fg[magenta]%} ✂\"\nZSH_THEME_GIT_PROMPT_UNTRACKED=\"%{$fg[grey]%} ✱\""
  },
  {
    "path": "themes/tjkirch.zsh-theme",
    "content": "ZSH_THEME_GIT_PROMPT_PREFIX=\" %{$fg[green]%}\"\nZSH_THEME_GIT_PROMPT_SUFFIX=\"%{$reset_color%}\"\nZSH_THEME_GIT_PROMPT_DIRTY=\" %{$fg[red]%}⚡\"\nZSH_THEME_GIT_PROMPT_CLEAN=\"\"\n\nfunction prompt_char {\n\tif [ $UID -eq 0 ]; then echo \"%{$fg[red]%}#%{$reset_color%}\"; else echo $; fi\n}\n\nPROMPT='%(?, ,%{$fg[red]%}FAIL: $?%{$reset_color%}\n)\n%{$fg[magenta]%}%n%{$reset_color%}@%{$fg[yellow]%}%m%{$reset_color%}: %{$fg_bold[blue]%}%~%{$reset_color%}$(git_prompt_info)\n%_$(prompt_char) '\n\nRPROMPT='%{$fg[green]%}[%*]%{$reset_color%}'\n"
  },
  {
    "path": "themes/tonotdo.zsh-theme",
    "content": "PROMPT='%{$fg_no_bold[cyan]%}%n%{$fg_no_bold[magenta]%}➜%{$fg_no_bold[green]%}%3~$(git_prompt_info)%{$reset_color%}» '\nRPROMPT='[%*]'\n\n# git theming\nZSH_THEME_GIT_PROMPT_PREFIX=\"%{$fg_bold[blue]%}(%{$fg_no_bold[red]%}\"\nZSH_THEME_GIT_PROMPT_SUFFIX=\"\"\nZSH_THEME_GIT_PROMPT_CLEAN=\"%{$fg_bold[blue]%})\"\nZSH_THEME_GIT_PROMPT_DIRTY=\"%{$fg_bold[yellow]%}✗%{$fg_bold[blue]%})\"\n\n# LS colors, made with http://geoff.greer.fm/lscolors/\nexport LSCOLORS=\"Gxfxcxdxbxegedabagacad\"\nexport LS_COLORS='no=00:fi=00:di=01;34:ln=00;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=41;33;01:ex=00;32:*.cmd=00;32:*.exe=01;32:*.com=01;32:*.bat=01;32:*.btm=01;32:*.dll=01;32:*.tar=00;31:*.tbz=00;31:*.tgz=00;31:*.rpm=00;31:*.deb=00;31:*.arj=00;31:*.taz=00;31:*.lzh=00;31:*.lzma=00;31:*.zip=00;31:*.zoo=00;31:*.z=00;31:*.Z=00;31:*.gz=00;31:*.bz2=00;31:*.tb2=00;31:*.tz2=00;31:*.tbz2=00;31:*.avi=01;35:*.bmp=01;35:*.fli=01;35:*.gif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mng=01;35:*.mov=01;35:*.mpg=01;35:*.pcx=01;35:*.pbm=01;35:*.pgm=01;35:*.png=01;35:*.ppm=01;35:*.tga=01;35:*.tif=01;35:*.xbm=01;35:*.xpm=01;35:*.dl=01;35:*.gl=01;35:*.wmv=01;35:*.aiff=00;32:*.au=00;32:*.mid=00;32:*.mp3=00;32:*.ogg=00;32:*.voc=00;32:*.wav=00;32:'"
  },
  {
    "path": "themes/trapd00r.zsh-theme",
    "content": "# Name:   trapd00r zsh theme\n# Author: Magnus Woldrich <m@japh.se>\n#\n# This theme needs a terminal supporting 256 colors as well as unicode. It also\n# needs the script that splits up the current path and makes it fancy as located\n# here: https://github.com/trapd00r/utils/blob/master/zsh_path\n#\n# By default it spans over two lines like so:\n#\n# scp1@shiva:pts/9-> /home » scp1 (0)\n# >\n#\n# that's  user@host:pts/-> splitted path (return status)\n#\n# If the current directory is a git repository, we span 3 lines;\n#\n# git❨ master ❩ DIRTY\n# scp1@shiva:pts/4-> /home » scp1 » dev » utils (0)\n# >\n\nautoload -U add-zsh-hook\nautoload -Uz vcs_info\n\nlocal c0=$( printf \"\\e[m\")\nlocal c1=$( printf \"\\e[38;5;245m\")\nlocal c2=$( printf \"\\e[38;5;250m\")\nlocal c3=$( printf \"\\e[38;5;242m\")\nlocal c4=$( printf \"\\e[38;5;197m\")\nlocal c5=$( printf \"\\e[38;5;225m\")\nlocal c6=$( printf \"\\e[38;5;240m\")\nlocal c7=$( printf \"\\e[38;5;242m\")\nlocal c8=$( printf \"\\e[38;5;244m\")\nlocal c9=$( printf \"\\e[38;5;162m\")\nlocal c10=$(printf \"\\e[1m\")\nlocal c11=$(printf \"\\e[38;5;208m\\e[1m\")\nlocal c12=$(printf \"\\e[38;5;142m\\e[1m\")\nlocal c13=$(printf \"\\e[38;5;196m\\e[1m\")\n\n\n# We dont want to use the extended colorset in the TTY / VC.\nif [ \"$TERM\" = \"linux\" ]; then\n    c1=$( printf \"\\e[34;1m\")\n    c2=$( printf \"\\e[35m\")\n    c3=$( printf \"\\e[31m\")\n    c4=$( printf \"\\e[31;1m\")\n    c5=$( printf \"\\e[32m\")\n    c6=$( printf \"\\e[32;1m\")\n    c7=$( printf \"\\e[33m\")\n    c8=$( printf \"\\e[33;1m\")\n    c9=$( printf \"\\e[34m\")\n\n    c11=$(printf \"\\e[35;1m\")\n    c12=$(printf \"\\e[36m\")\n    c13=$(printf \"\\e[31;1m\")\nfi\n\nzstyle ':vcs_info:*' actionformats \\\n    '%{$c8%}(%f%s)%{$c7%}-%F{5}[%F{2}%b%F{3}|%F{1}%a%F{5}]%f '\n\nzstyle ':vcs_info:*' formats \\\n    \"%{$c8%}%s%%{$c7%}❨ %{$c9%}%{$c11%}%b%{$c7%} ❩%{$reset_color%}%f \"\n\nzstyle ':vcs_info:(sv[nk]|bzr):*' branchformat '%b%F{1}:%F{3}%r'\nzstyle ':vcs_info:*' enable git\n\nadd-zsh-hook precmd prompt_jnrowe_precmd\n\nprompt_jnrowe_precmd () {\n  vcs_info\n  if [ \"${vcs_info_msg_0_}\" = \"\" ]; then\n    dir_status=\"%{$c1%}%n%{$c4%}@%{$c2%}%m%{$c0%}:%{$c3%}%l%{$c6%}->%{$(zsh_path)%} %{$c0%}(%{$c5%}%?%{$c0%})\"\n    PROMPT='%{$fg_bold[green]%}%p%{$reset_color%}${vcs_info_msg_0_}${dir_status} ${ret_status}%{$reset_color%}\n> '\n\n# modified, to be commited\n  elif [[ $(git diff --cached --name-status 2>/dev/null ) != \"\" ]]; then\n    dir_status=\"%{$c1%}%n%{$c4%}@%{$c2%}%m%{$c0%}:%{$c3%}%l%{$c6%}->%{$(zsh_path)%} %{$c0%}(%{$c5%}%?%{$c0%})\"\n    PROMPT='${vcs_info_msg_0_}%{$30%} %{$bg_bold[red]%}%{$fg_bold[cyan]%}C%{$fg_bold[black]%}OMMIT%{$reset_color%}\n%{$fg_bold[green]%}%p%{$reset_color%}${dir_status}%{$reset_color%}\n> '\n\n  elif [[ $(git diff --name-status 2>/dev/null ) != \"\" ]]; then\n    dir_status=\"%{$c1%}%n%{$c4%}@%{$c2%}%m%{$c0%}:%{$c3%}%l%{$c6%}->%{$(zsh_path)%} %{$c0%}(%{$c5%}%?%{$c0%})\"\n    PROMPT='${vcs_info_msg_0_}%{$bg_bold[red]%}%{$fg_bold[blue]%}D%{$fg_bold[black]%}IRTY%{$reset_color%}\n%{$fg_bold[green]%}%p%{$reset_color%}${dir_status}%{$reset_color%}\n%{$c13%}>%{$c0%} '\n  else\n    dir_status=\"%{$c1%}%n%{$c4%}@%{$c2%}%m%{$c0%}:%{$c3%}%l%{$c6%}->%{$(zsh_path)%} %{$c0%}(%{$c5%}%?%{$c0%})\"\n    PROMPT='${vcs_info_msg_0_}\n%{$fg_bold[green]%}%p%{$reset_color%}${dir_status} ${vcs_info_msg_0_}%{$reset_color%}\n> '\nfi\n}\n\n#  vim: set ft=zsh sw=2 et tw=0:\n"
  },
  {
    "path": "themes/wedisagree.zsh-theme",
    "content": "# On a mac with snow leopard, for nicer terminal colours:\n\n# - Install SIMBL: http://www.culater.net/software/SIMBL/SIMBL.php\n# - Download'Terminal-Colours': http://bwaht.net/code/TerminalColours.bundle.zip\n# - Place that bundle in ~/Library/Application\\ Support/SIMBL/Plugins (create that folder if it doesn't exist)\n# - Open Terminal preferences. Go to Settings -> Text -> More\n# - Change default colours to your liking.\n# \n# Here are the colours from Textmate's Monokai theme:\n# \n# Black: 0, 0, 0\n# Red: 229, 34, 34\n# Green: 166, 227, 45\n# Yellow: 252, 149, 30\n# Blue: 196, 141, 255\n# Magenta: 250, 37, 115\n# Cyan: 103, 217, 240\n# White: 242, 242, 242\n\n# Thanks to Steve Losh: http://stevelosh.com/blog/2009/03/candy-colored-terminal/\n\n# The prompt\n\nPROMPT='%{$fg[magenta]%}[%c] %{$reset_color%}'\n\n# The right-hand prompt\n\nRPROMPT='${time} %{$fg[magenta]%}$(git_prompt_info)%{$reset_color%}$(git_prompt_status)%{$reset_color%}'\n\n# Add this at the start of RPROMPT to include rvm info showing ruby-version@gemset-name\n# %{$fg[yellow]%}$(~/.rvm/bin/rvm-prompt)%{$reset_color%} \n\n# local time, color coded by last return code\ntime_enabled=\"%(?.%{$fg[green]%}.%{$fg[red]%})%*%{$reset_color%}\"\ntime_disabled=\"%{$fg[green]%}%*%{$reset_color%}\"\ntime=$time_enabled\n\nZSH_THEME_GIT_PROMPT_PREFIX=\" ☁  %{$fg[red]%}\"\nZSH_THEME_GIT_PROMPT_SUFFIX=\"%{$reset_color%}\"\nZSH_THEME_GIT_PROMPT_DIRTY=\"%{$fg[yellow]%} ☂\" # Ⓓ\nZSH_THEME_GIT_PROMPT_UNTRACKED=\"%{$fg[cyan]%} ✭\" # ⓣ\nZSH_THEME_GIT_PROMPT_CLEAN=\"%{$fg[green]%} ☀\" # Ⓞ\n\nZSH_THEME_GIT_PROMPT_ADDED=\"%{$fg[cyan]%} ✚\" # ⓐ ⑃\nZSH_THEME_GIT_PROMPT_MODIFIED=\"%{$fg[yellow]%} ⚡\"  # ⓜ ⑁\nZSH_THEME_GIT_PROMPT_DELETED=\"%{$fg[red]%} ✖\" # ⓧ ⑂\nZSH_THEME_GIT_PROMPT_RENAMED=\"%{$fg[blue]%} ➜\" # ⓡ ⑄\nZSH_THEME_GIT_PROMPT_UNMERGED=\"%{$fg[magenta]%} ♒\" # ⓤ ⑊\n\n# More symbols to choose from:\n# ☀ ✹ ☄ ♆ ♀ ♁ ♐ ♇ ♈ ♉ ♚ ♛ ♜ ♝ ♞ ♟ ♠ ♣ ⚢ ⚲ ⚳ ⚴ ⚥ ⚤ ⚦ ⚒ ⚑ ⚐ ♺ ♻ ♼ ☰ ☱ ☲ ☳ ☴ ☵ ☶ ☷\n# ✡ ✔ ✖ ✚ ✱ ✤ ✦ ❤ ➜ ➟ ➼ ✂ ✎ ✐ ⨀ ⨁ ⨂ ⨍ ⨎ ⨏ ⨷ ⩚ ⩛ ⩡ ⩱ ⩲ ⩵  ⩶ ⨠ \n# ⬅ ⬆ ⬇ ⬈ ⬉ ⬊ ⬋ ⬒ ⬓ ⬔ ⬕ ⬖ ⬗ ⬘ ⬙ ⬟  ⬤ 〒 ǀ ǁ ǂ ĭ Ť Ŧ\n\n# Determine if we are using a gemset.\nfunction rvm_gemset() {\n    GEMSET=`rvm gemset list | grep '=>' | cut -b4-`\n    if [[ -n $GEMSET ]]; then\n        echo \"%{$fg[yellow]%}$GEMSET%{$reset_color%}|\"\n    fi \n}\n\n# Determine the time since last commit. If branch is clean,\n# use a neutral color, otherwise colors will vary according to time.\nfunction git_time_since_commit() {\n    if git rev-parse --git-dir > /dev/null 2>&1; then\n        # Only proceed if there is actually a commit.\n        if [[ $(git log 2>&1 > /dev/null | grep -c \"^fatal: bad default revision\") == 0 ]]; then\n            # Get the last commit.\n            last_commit=`git log --pretty=format:'%at' -1 2> /dev/null`\n            now=`date +%s`\n            seconds_since_last_commit=$((now-last_commit))\n\n            # Totals\n            MINUTES=$((seconds_since_last_commit / 60))\n            HOURS=$((seconds_since_last_commit/3600))\n           \n            # Sub-hours and sub-minutes\n            DAYS=$((seconds_since_last_commit / 86400))\n            SUB_HOURS=$((HOURS % 24))\n            SUB_MINUTES=$((MINUTES % 60))\n            \n            if [[ -n $(git status -s 2> /dev/null) ]]; then\n                if [ \"$MINUTES\" -gt 30 ]; then\n                    COLOR=\"$ZSH_THEME_GIT_TIME_SINCE_COMMIT_LONG\"\n                elif [ \"$MINUTES\" -gt 10 ]; then\n                    COLOR=\"$ZSH_THEME_GIT_TIME_SHORT_COMMIT_MEDIUM\"\n                else\n                    COLOR=\"$ZSH_THEME_GIT_TIME_SINCE_COMMIT_SHORT\"\n                fi\n            else\n                COLOR=\"$ZSH_THEME_GIT_TIME_SINCE_COMMIT_NEUTRAL\"\n            fi\n\n            if [ \"$HOURS\" -gt 24 ]; then\n                echo \"($(rvm_gemset)$COLOR${DAYS}d${SUB_HOURS}h${SUB_MINUTES}m%{$reset_color%}|\"\n            elif [ \"$MINUTES\" -gt 60 ]; then\n                echo \"($(rvm_gemset)$COLOR${HOURS}h${SUB_MINUTES}m%{$reset_color%}|\"\n            else\n                echo \"($(rvm_gemset)$COLOR${MINUTES}m%{$reset_color%}|\"\n            fi\n        else\n            COLOR=\"$ZSH_THEME_GIT_TIME_SINCE_COMMIT_NEUTRAL\"\n            echo \"($(rvm_gemset)$COLOR~|\"\n        fi\n    fi\n}"
  },
  {
    "path": "themes/wezm+.zsh-theme",
    "content": "PROMPT='%{${fg_bold[yellow]}%}%n%{$reset_color%}%{${fg[yellow]}%}@%m%{$reset_color%} $(git_prompt_info)%(?,,%{${fg_bold[white]}%}[%?]%{$reset_color%} )%{$fg[yellow]%}%#%{$reset_color%} '\nRPROMPT='%{$fg[green]%}%~%{$reset_color%}'\n\nZSH_THEME_GIT_PROMPT_PREFIX=\"%{$fg[blue]%}(\"\nZSH_THEME_GIT_PROMPT_SUFFIX=\"%{$reset_color%} \"\nZSH_THEME_GIT_PROMPT_DIRTY=\"%{$fg[blue]%})%{$fg[red]%}✗%{$reset_color%}\"\nZSH_THEME_GIT_PROMPT_CLEAN=\"%{$fg[blue]%})\"\n"
  },
  {
    "path": "themes/wezm.zsh-theme",
    "content": "PROMPT='$(git_prompt_info)%(?,,%{${fg_bold[white]}%}[%?]%{$reset_color%} )%{$fg[yellow]%}%#%{$reset_color%} '\nRPROMPT='%{$fg[green]%}%~%{$reset_color%}'\n\nZSH_THEME_GIT_PROMPT_PREFIX=\"%{$fg[blue]%}(\"\nZSH_THEME_GIT_PROMPT_SUFFIX=\"%{$reset_color%} \"\nZSH_THEME_GIT_PROMPT_DIRTY=\"%{$fg[blue]%})%{$fg[red]%}⚡%{$reset_color%}\"\nZSH_THEME_GIT_PROMPT_CLEAN=\"%{$fg[blue]%})\"\n"
  },
  {
    "path": "themes/xiong-chiamiov-plus.zsh-theme",
    "content": "# user, host, full path, and time/date\n# on two lines for easier vgrepping\n# entry in a nice long thread on the Arch Linux forums: http://bbs.archlinux.org/viewtopic.php?pid=521888#p521888\nPROMPT=$'%{\\e[0;34m%}%B┌─[%b%{\\e[0m%}%{\\e[1;32m%}%n%{\\e[1;30m%}@%{\\e[0m%}%{\\e[0;36m%}%m%{\\e[0;34m%}%B]%b%{\\e[0m%} - %b%{\\e[0;34m%}%B[%b%{\\e[1;37m%}%~%{\\e[0;34m%}%B]%b%{\\e[0m%} - %{\\e[0;34m%}%B[%b%{\\e[0;33m%}'%D{\"%a %b %d, %I:%M\"}%b$'%{\\e[0;34m%}%B]%b%{\\e[0m%}\n%{\\e[0;34m%}%B└─%B[%{\\e[1;35m%}$%{\\e[0;34m%}%B] <$(git_prompt_info)>%{\\e[0m%}%b '\nPS2=$' \\e[0;34m%}%B>%{\\e[0m%}%b '\n"
  },
  {
    "path": "themes/xiong-chiamiov.zsh-theme",
    "content": "# user, host, full path, and time/date\n# on two lines for easier vgrepping\n# entry in a nice long thread on the Arch Linux forums: http://bbs.archlinux.org/viewtopic.php?pid=521888#p521888\nPROMPT=$'%{\\e[0;34m%}%B┌─[%b%{\\e[0m%}%{\\e[1;32m%}%n%{\\e[1;30m%}@%{\\e[0m%}%{\\e[0;36m%}%m%{\\e[0;34m%}%B]%b%{\\e[0m%} - %b%{\\e[0;34m%}%B[%b%{\\e[1;37m%}%~%{\\e[0;34m%}%B]%b%{\\e[0m%} - %{\\e[0;34m%}%B[%b%{\\e[0;33m%}'%D{\"%a %b %d, %I:%M\"}%b$'%{\\e[0;34m%}%B]%b%{\\e[0m%}\n%{\\e[0;34m%}%B└─%B[%{\\e[1;35m%}$%{\\e[0;34m%}%B]>%{\\e[0m%}%b '\nPS2=$' \\e[0;34m%}%B>%{\\e[0m%}%b '\n"
  },
  {
    "path": "tools/check_for_upgrade.sh",
    "content": "#!/bin/sh\n\nfunction _current_epoch() {\n  echo $(($(date +%s) / 60 / 60 / 24))\n}\n\nfunction _update_zsh_update() {\n  echo \"LAST_EPOCH=$(_current_epoch)\" > ~/.zsh-update\n}\n\nif [ -f ~/.zsh-update ]\nthen\n  . ~/.zsh-update\n\n  if [[ -z \"$LAST_EPOCH\" ]]; then\n    _update_zsh_update && return 0;\n  fi\n\n  epoch_diff=$(($(_current_epoch) - $LAST_EPOCH))\n  if [ $epoch_diff -gt 6 ]\n  then\n    echo \"[Oh My Zsh] Would you like to check for updates?\"\n    echo \"Type Y to update oh-my-zsh: \\c\"\n    read line\n    if [ \"$line\" = Y ] || [ \"$line\" = y ]\n    then\n      /bin/sh $ZSH/tools/upgrade.sh\n      # update the zsh file\n      _update_zsh_update\n    fi\n  fi\nelse\n  # create the zsh file\n  _update_zsh_update\nfi\n"
  },
  {
    "path": "tools/install.sh",
    "content": "if [ -d ~/.oh-my-zsh ]\nthen\n  echo \"\\033[0;33mYou already have Oh My Zsh installed.\\033[0m You'll need to remove ~/.oh-my-zsh if you want to install\"\n  exit\nfi\n\necho \"\\033[0;34mCloning Oh My Zsh...\\033[0m\"\n/usr/bin/env git clone git://github.com/sjl/oh-my-zsh.git ~/.oh-my-zsh\n\necho \"\\033[0;34mLooking for an existing zsh config...\\033[0m\"\nif [ -f ~/.zshrc ] || [ -h ~/.zshrc ]\nthen\n  echo \"\\033[0;33mFound ~/.zshrc.\\033[0m \\033[0;32]Backing up to ~/.zshrc.pre-oh-my-zsh\\033[0m\";\n  cp ~/.zshrc ~/.zshrc.pre-oh-my-zsh;\n  rm ~/.zshrc;\nfi\n\necho \"\\033[0;34mUsing the Oh My Zsh template file and adding it to ~/.zshrc\\033[0m\"\ncp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc\n\necho \"\\033[0;34mCopying your current PATH and adding it to the end of ~/.zshrc for you.\\033[0m\"\necho \"export PATH=$PATH\" >> ~/.zshrc\n\necho \"\\033[0;34mTime to change your default shell to zsh!\\033[0m\"\nchsh -s `which zsh`\n\necho \"\\033[0;32m\"'         __                                     __   '\"\\033[0m\"\necho \"\\033[0;32m\"'  ____  / /_     ____ ___  __  __   ____  _____/ /_  '\"\\033[0m\"\necho \"\\033[0;32m\"' / __ \\/ __ \\   / __ `__ \\/ / / /  /_  / / ___/ __ \\ '\"\\033[0m\"\necho \"\\033[0;32m\"'/ /_/ / / / /  / / / / / / /_/ /    / /_(__  ) / / / '\"\\033[0m\"\necho \"\\033[0;32m\"'\\____/_/ /_/  /_/ /_/ /_/\\__, /    /___/____/_/ /_/  '\"\\033[0m\"\necho \"\\033[0;32m\"'                        /____/                       '\"\\033[0m\"\n\necho \"\\n\\n \\033[0;32m....is now installed.\\033[0m\"\n/usr/bin/env zsh\nsource ~/.zshrc\n"
  },
  {
    "path": "tools/uninstall.sh",
    "content": "echo \"Removing ~/.oh-my-zsh\"\nif [[ -d ~/.oh-my-zsh ]]\nthen\n  rm -rf ~/.oh-my-zsh\nfi\n\necho \"Looking for an existing zsh config...\"\nif [ -f ~/.zshrc.pre-oh-my-zsh ] || [ -h ~/.zshrc.pre-oh-my-zsh ]\nthen\n  echo \"Found ~/.zshrc. Backing up to ~/.zshrc.pre-oh-my-zsh\";\n  rm ~/.zshrc;\n  cp ~/.zshrc.pre-oh-my-zsh ~/.zshrc;\n  source ~/.zshrc;\nelse\n  echo \"Switching back to bash\"\n  chsh -s /bin/bash\n  source /etc/profile\nfi\n\necho \"Thanks for trying out Oh My Zsh. It's been uninstalled.\""
  },
  {
    "path": "tools/upgrade.sh",
    "content": "current_path=`pwd`\necho -e \"\\033[0;34mUpgrading Oh My Zsh\\033[0m\"\n( cd $ZSH && git pull origin master )\necho -e \"\\033[0;32m\"'         __                                     __   '\"\\033[0m\"\necho -e \"\\033[0;32m\"'  ____  / /_     ____ ___  __  __   ____  _____/ /_  '\"\\033[0m\"\necho -e \"\\033[0;32m\"' / __ \\/ __ \\   / __ `__ \\/ / / /  /_  / / ___/ __ \\ '\"\\033[0m\"\necho -e \"\\033[0;32m\"'/ /_/ / / / /  / / / / / / /_/ /    / /_(__  ) / / / '\"\\033[0m\"\necho -e \"\\033[0;32m\"'\\____/_/ /_/  /_/ /_/ /_/\\__, /    /___/____/_/ /_/  '\"\\033[0m\"\necho -e \"\\033[0;32m\"'                        /____/                       '\"\\033[0m\"\necho -e \"\\033[0;34mHooray! Oh My Zsh has been updated and/or is at the current version.\\033[0m\"\necho -e \"\\033[0;34mTo keep up on the latest, be sure to follow Oh My Zsh on twitter: \\033[1mhttp://twitter.com/ohmyzsh\\033[0m\"\ncd \"$current_path\"\n"
  }
]