In OS X, is there any way to have Zsh (I'm using Oh-my-zsh) tab-complete formulas?
E.g.
$ brew install em<TAB> could expand to:
$ brew install emacs In OS X, is there any way to have Zsh (I'm using Oh-my-zsh) tab-complete formulas?
E.g.
$ brew install em<TAB> could expand to:
$ brew install emacs Try installing the zsh-completions formula.
$ brew info zsh-completions zsh-completions: stable 0.10.0, HEAD https://github.com/zsh-users/zsh-completions Not installed From: https://github.com/Homebrew/homebrew/commits/master/Library/Formula/zsh-completions.rb ==> Caveats To activate these completions, add the following to your .zshrc: fpath=(/usr/local/share/zsh-completions $fpath) You may also need to force rebuild `zcompdump`: rm -f ~/.zcompdump; compinit Additionally, if you receive "zsh compinit: insecure directories" warnings when attempting to load these completions, you may need to run this: chmod go-w /usr/local/share It also looks like zsh may have some compatibility with bash completions. You could try that in conjunction with the bash-completions formula.
compinit -i should solve the the "insecure directories" warnings rather than chmod. compaudit to determine which directories should have their permissions changed Homebrew provides it's own completion. You just need to link the file $(brew --prefix)/Library/Contributions/brew_zsh_completion.zsh to _brew somewhere in your $fpath.(See comment at the start of https://github.com/Homebrew/homebrew/blob/master/Library/Contributions/brew_zsh_completion.zsh)
zsh-completions recently removed its _brew completion in favour of that file, see https://github.com/zsh-users/zsh-completions/issues/305.
Update 2016-04-19: At some point(1) Homebrew updated its handling of zsh completion again. Now if you install zsh via Homebrew it should "just work". The file is installed to /usr/local/share/zsh/site-functions/_brew.
$fpath and $FPATH to accommodate these new completion functions in Zsh, this Q&A may be informative. /home/linuxbrew/.linuxbrew/share/zsh/site-functions And since I am using ohmyzsh that path doesn't seem to be included in $FPATH. brew completions link will add brew's shell completions to the shell. Not sure what it does in detail, though.