diff options
author | NanoTech <nanotech008@gmail.com> | 2010-09-30 22:23:50 -0600 |
---|---|---|
committer | NanoTech <nanotech008@gmail.com> | 2010-09-30 22:23:50 -0600 |
commit | 02c5fd5bdd0d37bb0e1cb19ad058154f5b7d96a7 (patch) | |
tree | 2c44274cce756577225ab895d04f004231a04e25 /plugins | |
parent | 8c419ae3b5b77a24485c6a68e6af1a0384db67a8 (diff) | |
parent | 7a09175bb4c32c7027dab872cd7b80503da3f5d5 (diff) | |
download | zsh-02c5fd5bdd0d37bb0e1cb19ad058154f5b7d96a7.tar.gz zsh-02c5fd5bdd0d37bb0e1cb19ad058154f5b7d96a7.tar.bz2 zsh-02c5fd5bdd0d37bb0e1cb19ad058154f5b7d96a7.zip |
Merge branch 'master' of git://github.com/robbyrussell/oh-my-zsh
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/brew.plugin.zsh | 28 | ||||
-rw-r--r-- | plugins/dirpersist.plugin.zsh | 39 | ||||
-rw-r--r-- | plugins/macports.plugin.zsh | 7 | ||||
-rw-r--r-- | plugins/ssh-agent.plugin.zsh | 23 | ||||
-rw-r--r-- | plugins/vi-mode.plugin.zsh | 22 |
5 files changed, 108 insertions, 11 deletions
diff --git a/plugins/brew.plugin.zsh b/plugins/brew.plugin.zsh index 91397bf3a..162eb6442 100644 --- a/plugins/brew.plugin.zsh +++ b/plugins/brew.plugin.zsh @@ -1,6 +1,6 @@ #compdef brew -# copied from _fink +# imported from the latest homebrew contributions _brew_all_formulae() { formulae=(`brew search`) @@ -12,19 +12,25 @@ _brew_installed_formulae() { local -a _1st_arguments _1st_arguments=( + 'cat:display formula file for a formula' + 'cleanup:uninstall unused and old versions of packages' + 'create:create a new formula' + 'deps:list dependencies and dependants of a formula' + 'doctor:audits your installation for common issues' + 'edit:edit a formula' + 'home:visit the homepage of a formula or the brew project' + 'info:information about a formula' 'install:install a formula' + 'link:link a formula' + 'list:list files in a formula or not-installed formulae' + 'log:git commit log for a formula' + 'outdated:list formulas for which a newer version is available' + 'prune:remove dead links' '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' + 'uses:show formulas which depend on a formula' ) local expl @@ -47,12 +53,12 @@ case "$words[1]" in _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) + install|home|log|info|uses|cat|deps) _brew_all_formulae _wanted formulae expl 'all formulae' compadd -a formulae ;; remove|edit|xo) diff --git a/plugins/dirpersist.plugin.zsh b/plugins/dirpersist.plugin.zsh new file mode 100644 index 000000000..6a2b289a2 --- /dev/null +++ b/plugins/dirpersist.plugin.zsh @@ -0,0 +1,39 @@ +#!/bin/zsh +# +# Make the dirstack more persistant +# +# Add dirpersist to $plugins in ~/.zshrc to load +# + +# $zdirstore is the file used to persist the stack +zdirstore=~/.zdirstore + +dirpersistinstall () { + if grep 'dirpersiststore' ~/.zlogout > /dev/null; then + else + if read -q \?"Would you like to set up your .zlogout file for use with dirspersist? (y/n) "; then + echo "# Store dirs stack\n# See ~/.oh-my-zsh/plugins/dirspersist.plugin.zsh\ndirpersiststore" >> ~/.zlogout + else + echo "If you don't want this message to appear, remove dirspersist from \$plugins" + fi + fi +} + +dirpersiststore () { + dirs -p | perl -e 'foreach (reverse <STDIN>) {chomp;s/([& ])/\\$1/g ;print "if [ -d $_ ]; then pushd -q $_; fi\n"}' > $zdirstore +} + +dirpersistrestore () { + if [ -f $zdirstore ]; then + source $zdirstore + fi +} + +DIRSTACKSIZE=10 +setopt autopushd pushdminus pushdsilent pushdtohome pushdignoredups + +dirpersistinstall +dirpersistrestore + +# Make popd changes permanent without having to wait for logout +alias popd="popd;dirpersiststore" diff --git a/plugins/macports.plugin.zsh b/plugins/macports.plugin.zsh new file mode 100644 index 000000000..9564829b0 --- /dev/null +++ b/plugins/macports.plugin.zsh @@ -0,0 +1,7 @@ +#Aliases +alias pc="sudo port clean --all installed" +alias pi="sudo port install $1" +alias psu="sudo port selfupdate" +alias puni="sudo port uninstall inactive" +alias puo="sudo port upgrade outdated" +alias pup="psu && puo" diff --git a/plugins/ssh-agent.plugin.zsh b/plugins/ssh-agent.plugin.zsh new file mode 100644 index 000000000..ce0d645c1 --- /dev/null +++ b/plugins/ssh-agent.plugin.zsh @@ -0,0 +1,23 @@ +# Based on code from Joseph M. Reagle +# http://www.cygwin.com/ml/cygwin/2001-06/msg00537.html + +local SSH_ENV=$HOME/.ssh/environment + +function start_agent { + /usr/bin/env ssh-agent | sed 's/^echo/#echo/' > ${SSH_ENV} + chmod 600 ${SSH_ENV} + . ${SSH_ENV} > /dev/null + /usr/bin/ssh-add; +} + +# Source SSH settings, if applicable + +if [ -f "${SSH_ENV}" ]; then + . ${SSH_ENV} > /dev/null + ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || { + start_agent; + } +else + start_agent; +fi + diff --git a/plugins/vi-mode.plugin.zsh b/plugins/vi-mode.plugin.zsh new file mode 100644 index 000000000..c47ab7211 --- /dev/null +++ b/plugins/vi-mode.plugin.zsh @@ -0,0 +1,22 @@ +function zle-line-init zle-keymap-select { + zle reset-prompt +} + +zle -N zle-line-init +zle -N zle-keymap-select + +bindkey -v + +# if mode indicator wasn't setup by theme, define default +if [[ "$MODE_INDICATOR" == "" ]]; then + MODE_INDICATOR="%{$fg_bold[red]%}<%{$fg[red]%}<<%{$reset_color%}" +fi + +function vi_mode_prompt_info() { + echo "${${KEYMAP/vicmd/$MODE_INDICATOR}/(main|viins)/}" +} + +# define right prompt, if it wasn't defined by a theme +if [[ "$RPS1" == "" && "$RPROMPT" == "" ]]; then + RPS1='$(vi_mode_prompt_info)' +fi |