summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobby Russell <robby@planetargon.com>2009-10-26 09:21:16 -0700
committerRobby Russell <robby@planetargon.com>2009-10-26 09:21:16 -0700
commit11220ca4959b36f9676f68389bd5b0c8825d6c44 (patch)
tree5c6d032becf2771d90071613c55e378bb06d1ed5
parent5fe112eb4b2a09aca2b1093df8f966ff3298f917 (diff)
parentb865f2ab38156c33bdb1d6ffc6df56b3f2d53588 (diff)
downloadzsh-11220ca4959b36f9676f68389bd5b0c8825d6c44.tar.gz
zsh-11220ca4959b36f9676f68389bd5b0c8825d6c44.tar.bz2
zsh-11220ca4959b36f9676f68389bd5b0c8825d6c44.zip
Merge branch 'master' of git://github.com/kastner/oh-my-zsh into kastner/master
-rw-r--r--functions/_brew61
-rw-r--r--oh-my-zsh.sh3
2 files changed, 64 insertions, 0 deletions
diff --git a/functions/_brew b/functions/_brew
new file mode 100644
index 000000000..91397bf3a
--- /dev/null
+++ b/functions/_brew
@@ -0,0 +1,61 @@
+#compdef brew
+
+# copied from _fink
+
+_brew_all_formulae() {
+ formulae=(`brew search`)
+}
+
+_brew_installed_formulae() {
+ installed_formulae=(`brew list`)
+}
+
+local -a _1st_arguments
+_1st_arguments=(
+ 'install:install a formula'
+ 'remove:remove a formula'
+ 'search:search for a formula (/regex/ or string)'
+ 'list:list files in a formula or not-installed formulae'
+ 'link:link a formula'
+ 'unlink:unlink a formula'
+ 'home:visit the homepage of a formula or the brew project'
+ 'info:information about a formula'
+ 'prune:remove dead links'
+ 'update:freshen up links'
+ 'log:git commit log for a formula'
+ 'create:create a new formula'
+ 'edit:edit a formula'
+)
+
+local expl
+local -a formula installed_formulae
+
+_arguments \
+ '(-v --verbose)'{-v,--verbose}'[verbose]' \
+ '(--version)--version[version information]' \
+ '(--prefix)--prefix[where brew lives on this system]' \
+ '(--cache)--cache[brew cache]' \
+ '*:: :->subcmds' && return 0
+
+if (( CURRENT == 1 )); then
+ _describe -t commands "brew subcommand" _1st_arguments
+ return
+fi
+
+case "$words[1]" in
+ list)
+ _arguments \
+ '(--unbrewed)--unbrewed[files in brew --prefix not controlled by brew]' \
+ '1: :->forms' && return 0
+
+ if [[ "$state" == forms ]]; then
+ _brew_installed_formulae
+ _requested installed_formulae expl 'installed formulae' compadd -a installed_formulae
+ fi ;;
+ install|home|log|info)
+ _brew_all_formulae
+ _wanted formulae expl 'all formulae' compadd -a formulae ;;
+ remove|edit|xo)
+ _brew_installed_formulae
+ _wanted installed_formulae expl 'installed formulae' compadd -a installed_formulae ;;
+esac
diff --git a/oh-my-zsh.sh b/oh-my-zsh.sh
index 4b5959625..eadf02d00 100644
--- a/oh-my-zsh.sh
+++ b/oh-my-zsh.sh
@@ -1,5 +1,8 @@
# Initializes Oh My Zsh
+# add a function path
+fpath=($ZSH/functions $fpath)
+
# Load all of the config files in ~/oh-my-zsh that end in .zsh
# TIP: Add files you don't want in git to .gitignore
for config_file ($ZSH/lib/*.zsh) source $config_file