summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.textile83
-rw-r--r--cache/.easter-egg4
-rw-r--r--lib/aliases.zsh1
-rw-r--r--lib/functions.zsh4
-rw-r--r--lib/termsupport.zsh5
-rw-r--r--oh-my-zsh.sh2
-rw-r--r--plugins/adb/README.md8
-rw-r--r--plugins/adb/_adb39
-rw-r--r--plugins/archlinux/archlinux.plugin.zsh18
-rw-r--r--plugins/aws/aws.plugin.zsh15
-rw-r--r--plugins/bbedit/README.md20
-rw-r--r--plugins/bbedit/bbedit.plugin.zsh21
-rw-r--r--plugins/brew/_brew1
-rw-r--r--plugins/emoji-clock/emoji-clock.plugin.zsh4
-rw-r--r--plugins/gem/_gem2
-rw-r--r--plugins/git-prompt/gitstatus.py2
-rw-r--r--plugins/git/git.plugin.zsh19
-rw-r--r--plugins/jira/jira.plugin.zsh41
-rw-r--r--plugins/marked2/README.md13
-rw-r--r--plugins/marked2/marked2.plugin.zsh12
-rw-r--r--plugins/mvn/mvn.plugin.zsh4
-rw-r--r--plugins/pass/_pass33
-rw-r--r--plugins/rvm/rvm.plugin.zsh2
-rw-r--r--plugins/symfony2/symfony2.plugin.zsh27
-rw-r--r--plugins/textastic/README.md15
-rw-r--r--plugins/textastic/textastic.plugin.zsh17
-rw-r--r--plugins/tmuxinator/_tmuxinator6
-rw-r--r--plugins/vagrant/_vagrant2
-rw-r--r--plugins/wd/LICENSE21
-rw-r--r--plugins/wd/README.md26
-rw-r--r--plugins/wd/_wd.sh15
-rw-r--r--plugins/wd/wd.plugin.zsh4
-rwxr-xr-xplugins/wd/wd.sh159
-rw-r--r--plugins/web-search/web-search.plugin.zsh5
-rw-r--r--plugins/wp-cli/README.md105
-rw-r--r--plugins/wp-cli/wp-cli.plugin.zsh138
-rw-r--r--plugins/zsh_reload/zsh_reload.plugin.zsh5
-rw-r--r--themes/fino.zsh-theme2
-rw-r--r--themes/half-life.zsh-theme9
-rw-r--r--tools/check_for_upgrade.sh2
-rwxr-xr-xtools/install.sh11
-rw-r--r--tools/upgrade.sh4
42 files changed, 734 insertions, 192 deletions
diff --git a/README.textile b/README.textile
index 28bab6b2c..09cff2135 100644
--- a/README.textile
+++ b/README.textile
@@ -1,110 +1,111 @@
!https://s3.amazonaws.com/ohmyzsh/oh-my-zsh-logo.png!
-oh-my-zsh is an open source, community-driven framework for managing your ZSH configuration. It comes bundled with a ton of helpful functions, helpers, plugins, themes, and few things that make you shout...
+@oh-my-zsh@ is an open source, community-driven framework for managing your "Zsh":http://www.zsh.org/ configuration.
+
+It comes bundled with a ton of helpful functions, helpers, plugins, themes, and a few things that make you shout…
bq. "OH MY ZSHELL!"
h2. Setup
-@oh-my-zsh@ should work with any recent release of "zsh":http://www.zsh.org/, the minimum recommended version is 4.3.9.
+@oh-my-zsh@ should work with any recent release of "Zsh":http://www.zsh.org/. The minimum recommended version is *4.3.9*.
+
+If not already installed, you can install "Zsh":http://www.zsh.org/ using the command-line.
-h3. The automatic installer... (do you trust me?)
+h3. The automatic installer… do you trust me?
-You can install this via the command line with either @curl@ or @wget@.
+You can install this via the command-line with either @curl@ or @wget@.
-h4. via @curl@
+h4. via @curl@:
@curl -L http://install.ohmyz.sh | sh@
-h4. via @wget@
+h4. via @wget@:
@wget --no-check-certificate http://install.ohmyz.sh -O - | sh@
-h4. Optional: change the install directory
+h4. *Optionally*, change the install directory:
The default location is @~/.oh-my-zsh@ (hidden in your home directory).
-You can change the install directory with the ZSH environment variable, either
-by running @export ZSH=/your/path@ before installing, or setting it before the
-end of the install pipeline like this:
+You can change the install directory with the @ZSH@ environment variable, either by running @export ZSH=/your/path@ before installing, or by setting it before the end of the install pipeline like this:
@curl -L https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh | ZSH=~/.dotfiles/zsh sh@
-
h3. The manual way
-1. Clone the repository
+1. Clone the repository:
- @git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh@
+@git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh@
-2. *OPTIONAL* Backup your existing @~/.zshrc@ file
+2. *Optionally*, backup your existing @~/.zshrc@ file:
- @cp ~/.zshrc ~/.zshrc.orig@
+@cp ~/.zshrc ~/.zshrc.orig@
-3. Create a new zsh config by copying the zsh template we've provided.
+3. Create a new "Zsh":http://www.zsh.org/ config file by copying the "Zsh":http://www.zsh.org/ template we've provided:
- @cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc@
+@cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc@
-4. Set zsh as your default shell:
+4. Set "Zsh":http://www.zsh.org/ as your default shell:
- @chsh -s /bin/zsh@
+@chsh -s /bin/zsh@
-5. Start / restart zsh (open a new terminal is easy enough...)
+5. Start or restart "Zsh":http://www.zsh.org/ by opening a new command-line window.
h3. Problems?
-You _might_ need to modify your @PATH@ in @~/.zshrc@ if you're not able to find some commands after switching to _Oh My Zsh_.
+You _might_ need to modify your @PATH@ in @~/.zshrc@ if you're not able to find some commands after switching to @oh-my-zsh@.
-If you installed manually or changed the install location, check ZSH in @~/.zshrc@
+If you installed manually or changed the install location, check the @ZSH@ environment variable in @~/.zshrc@.
h2. Usage
-* enable the plugins you want in your @~/.zshrc@ (take a look at the @plugins/@ directory and the "wiki":https://github.com/robbyrussell/oh-my-zsh/wiki/Plugins to see what's possible)
+* enable the plugins you want in your @~/.zshrc@ (take a look at the @plugins/@ directory and the "wiki":https://github.com/robbyrussell/oh-my-zsh/wiki/Plugins to see what's available)
** example: @plugins=(git osx ruby)@
-* Theme support: Change the @ZSH_THEME@ environment variable in @~/.zshrc@.
-** Take a look at the "current themes":https://wiki.github.com/robbyrussell/oh-my-zsh/themes that come bundled with _Oh My Zsh_.
-* much much more... take a look at @lib/@ what _Oh My Zsh_ offers...
+* theme support: change the @ZSH_THEME@ environment variable in @~/.zshrc@
+** take a look at the @themes/@ directory and the "wiki":https://wiki.github.com/robbyrussell/oh-my-zsh/themes to see what comes bundled with @oh-my-zsh@
+* & much, much more… take a look at the @lib/@ directory to see what @oh-my-zsh@ has to offer…
h2. Useful
-the "refcard":http://www.bash2zsh.com/zsh_refcard/refcard.pdf is pretty tasty for tips.
+The "refcard":http://www.bash2zsh.com/zsh_refcard/refcard.pdf is pretty useful for tips.
h3. Customization
-If you want to override any of the default behavior, just add a new file (ending in @.zsh@) into the @custom/@ directory.
-If you have many functions which go well together you can put them as a @*.plugin.zsh@ file in the @custom/plugins/@ directory and then enable this plugin.
-If 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/@.
+If you want to override any of the default behaviors, just add a new file (ending in @.zsh@) in the @custom/@ directory.
+
+If you have many functions that go well together, you can put them as a @*.plugin.zsh@ file in the @custom/plugins/@ directory and then enable this plugin (see '"Usage":https://github.com/robbyrussell/oh-my-zsh#usage' above).
+
+If 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/@.
h3. Updates
-By default you will be prompted to check for updates. If you would like oh-my-zsh to automatically update itself without prompting you, set the following in your @~/.zshrc@
+By default you will be prompted to check for upgrades. If you would like @oh-my-zsh@ to automatically upgrade itself without prompting you, set the following in your @~/.zshrc@:
@DISABLE_UPDATE_PROMPT=true@
-To disable updates entirely, put this in your @~/.zshrc@
+To disable upgrades entirely, set the following in your @~/.zshrc@:
@DISABLE_AUTO_UPDATE=true@
-To upgrade directly from the command line, just run @upgrade_oh_my_zsh@
+To upgrade directly from the command-line, just run @upgrade_oh_my_zsh@.
h3. Uninstalling
-If 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).
+If you want to uninstall @oh-my-zsh@, just run @uninstall_oh_my_zsh@ from the command-line and it'll remove itself and revert you to @bash@ (or your previous "Zsh":http://www.zsh.org/ configuration).
h2. Help out!
-I'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!
+I'm far from being a "Zsh":http://www.zsh.org/ 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!
-h3. (Don't) Send us your theme! (for now)
+h3. (Don't) send us your theme (for now)!
--I'm hoping to collect a bunch of themes for our command prompts. You can see existing ones in the @themes/@ directory.-
+-I'm hoping to collect a bunch of themes – you can see existing ones in the @themes/@ directory.-
-We have enough themes for the time being. Please fork the project and add on in there, you can let people know how to grab it from there.
+We have enough themes for the time being. Please fork the project and add on in there – you can let people know how to grab it from there.
h2. Contributors
-This project wouldn't exist without all of our awesome users and contributors.
-
-* "View our growing list of contributors":https://github.com/robbyrussell/oh-my-zsh/contributors
+This project wouldn't exist without all of our awesome users and contributors: "view our growing list of contributors":https://github.com/robbyrussell/oh-my-zsh/contributors
Thank you so much!
diff --git a/cache/.easter-egg b/cache/.easter-egg
new file mode 100644
index 000000000..4b6164edb
--- /dev/null
+++ b/cache/.easter-egg
@@ -0,0 +1,4 @@
+This file is only here so that Git will keep a cache directory as .gitignore is ignoring all the files within it.
+
+Feel free to add love notes for people here.
+
diff --git a/lib/aliases.zsh b/lib/aliases.zsh
index 3044c9660..aae865046 100644
--- a/lib/aliases.zsh
+++ b/lib/aliases.zsh
@@ -30,7 +30,6 @@ alias lsa='ls -lah'
alias l='ls -lah'
alias ll='ls -lh'
alias la='ls -lAh'
-alias sl=ls # often screw this up
alias afind='ack-grep -il'
diff --git a/lib/functions.zsh b/lib/functions.zsh
index fda84a953..17f5f9cbf 100644
--- a/lib/functions.zsh
+++ b/lib/functions.zsh
@@ -3,11 +3,11 @@ function zsh_stats() {
}
function uninstall_oh_my_zsh() {
- /usr/bin/env ZSH=$ZSH /bin/sh $ZSH/tools/uninstall.sh
+ env ZSH=$ZSH /bin/sh $ZSH/tools/uninstall.sh
}
function upgrade_oh_my_zsh() {
- /usr/bin/env ZSH=$ZSH /bin/sh $ZSH/tools/upgrade.sh
+ env ZSH=$ZSH /bin/sh $ZSH/tools/upgrade.sh
}
function take() {
diff --git a/lib/termsupport.zsh b/lib/termsupport.zsh
index 9c0a430fb..9d6681603 100644
--- a/lib/termsupport.zsh
+++ b/lib/termsupport.zsh
@@ -34,6 +34,5 @@ function omz_termsupport_preexec {
title '$CMD' '%100>...>$LINE%<<'
}
-autoload -U add-zsh-hook
-add-zsh-hook precmd omz_termsupport_precmd
-add-zsh-hook preexec omz_termsupport_preexec
+precmd_functions+=(omz_termsupport_precmd)
+preexec_functions+=(omz_termsupport_preexec)
diff --git a/oh-my-zsh.sh b/oh-my-zsh.sh
index 8ce29ff38..d0e89f31b 100644
--- a/oh-my-zsh.sh
+++ b/oh-my-zsh.sh
@@ -1,6 +1,6 @@
# Check for updates on initial load...
if [ "$DISABLE_AUTO_UPDATE" != "true" ]; then
- /usr/bin/env ZSH=$ZSH DISABLE_UPDATE_PROMPT=$DISABLE_UPDATE_PROMPT zsh -f $ZSH/tools/check_for_upgrade.sh
+ env ZSH=$ZSH DISABLE_UPDATE_PROMPT=$DISABLE_UPDATE_PROMPT zsh -f $ZSH/tools/check_for_upgrade.sh
fi
# Initializes Oh My Zsh
diff --git a/plugins/adb/README.md b/plugins/adb/README.md
new file mode 100644
index 000000000..075beec0e
--- /dev/null
+++ b/plugins/adb/README.md
@@ -0,0 +1,8 @@
+# adb autocomplete plugin
+
+* Adds autocomplete options for all adb commands.
+
+
+## Requirements
+
+In order to make this work, you will need to have the Android adb tools set up in your path.
diff --git a/plugins/adb/_adb b/plugins/adb/_adb
new file mode 100644
index 000000000..4c998172d
--- /dev/null
+++ b/plugins/adb/_adb
@@ -0,0 +1,39 @@
+#compdef adb
+#autoload
+
+# in order to make this work, you will need to have the android adb tools
+
+# adb zsh completion, based on homebrew completion
+
+local -a _1st_arguments
+_1st_arguments=(
+'bugreport:return all information from the device that should be included in a bug report.'
+'connect:connect to a device via TCP/IP Port 5555 is default.'
+'devices:list all connected devices'
+'disconnect:disconnect from a TCP/IP device. Port 5555 is default.'
+'emu:run emulator console command'
+'forward:forward socket connections'
+'help:show the help message'
+'install:push this package file to the device and install it'
+'jdwp:list PIDs of processes hosting a JDWP transport'
+'logcat:View device log'
+'pull:copy file/dir from device'
+'push:copy file/dir to device'
+'shell:run remote shell interactively'
+'sync:copy host->device only if changed (-l means list but dont copy)'
+'uninstall:remove this app package from the device'
+'version:show version num'
+)
+
+local expl
+local -a pkgs installed_pkgs
+
+_arguments \
+ '*:: :->subcmds' && return 0
+
+if (( CURRENT == 1 )); then
+ _describe -t commands "adb subcommand" _1st_arguments
+ return
+fi
+
+_files
diff --git a/plugins/archlinux/archlinux.plugin.zsh b/plugins/archlinux/archlinux.plugin.zsh
index bffe9657a..059884c27 100644
--- a/plugins/archlinux/archlinux.plugin.zsh
+++ b/plugins/archlinux/archlinux.plugin.zsh
@@ -21,10 +21,14 @@ if [[ -x `which yaourt` ]]; then
alias yalst='yaourt -Qe' # List installed packages, even those installed from AUR (they're tagged as "local")
alias yaorph='yaourt -Qtd' # Remove orphans using yaourt
# Additional yaourt alias examples
- if [[ -x `which abs` ]]; then
+ if [[ -x `which abs` && -x `which aur` ]]; then
+ alias yaupd='yaourt -Sy && sudo abs && sudo aur' # Update and refresh the local package, ABS and AUR databases against repositories
+ elif [[ -x `which abs` ]]; then
alias yaupd='yaourt -Sy && sudo abs' # Update and refresh the local package and ABS databases against repositories
+ elif [[ -x `which aur` ]]; then
+ alias yaupd='yaourt -Sy && sudo aur' # Update and refresh the local package and AUR databases against repositories
else
- alias yaupd='yaourt -Sy' # Update and refresh the local package and ABS databases against repositories
+ alias yaupd='yaourt -Sy' # Update and refresh the local package database against repositories
fi
alias yainsd='yaourt -S --asdeps' # Install given package(s) as dependencies of another package
alias yamir='yaourt -Syy' # Force refresh of all package lists after updating /etc/pacman.d/mirrorlist
@@ -45,10 +49,14 @@ alias pacreps='pacman -Ss' # Search for package(s) in the repositori
alias pacloc='pacman -Qi' # Display information about a given package in the local database
alias paclocs='pacman -Qs' # Search for package(s) in the local database
# Additional pacman alias examples
-if [[ -x `which abs` ]]; then
- alias pacupd='sudo pacman -Sy && sudo abs' # Update and refresh the local package and ABS databases against repositories
+if [[ -x `which abs` && -x `which aur` ]]; then
+ alias pacupd='sudo pacman -Sy && sudo abs && sudo aur' # Update and refresh the local package, ABS and AUR databases against repositories
+elif [[ -x `which abs` ]]; then
+ alias pacupd='sudo pacman -Sy && sudo abs' # Update and refresh the local package and ABS databases against repositories
+elif [[ -x `which aur` ]]; then
+ alias pacupd='sudo pacman -Sy && sudo aur' # Update and refresh the local package and AUR databases against repositories
else
- alias pacupd='sudo pacman -Sy' # Update and refresh the local package and ABS databases against repositories
+ alias pacupd='sudo pacman -Sy' # Update and refresh the local package database against repositories
fi
alias pacinsd='sudo pacman -S --asdeps' # Install given package(s) as dependencies of another package
alias pacmir='sudo pacman -Syy' # Force refresh of all package lists after updating /etc/pacman.d/mirrorlist
diff --git a/plugins/aws/aws.plugin.zsh b/plugins/aws/aws.plugin.zsh
index 3f7fb1995..8b57d7db1 100644
--- a/plugins/aws/aws.plugin.zsh
+++ b/plugins/aws/aws.plugin.zsh
@@ -1,3 +1,11 @@
+_homebrew-installed() {
+ type brew &> /dev/null
+}
+
+_awscli-homebrew-installed() {
+ brew --prefix awscli &> /dev/null
+}
+
export AWS_HOME=~/.aws
function agp {
@@ -14,4 +22,9 @@ function aws_profiles {
}
compctl -K aws_profiles asp
-source `which aws_zsh_completer.sh`
+
+if _homebrew-installed && _awscli-homebrew-installed ; then
+ source $(brew --prefix)/opt/awscli/libexec/bin/aws_zsh_completer.sh
+else
+ source `which aws_zsh_completer.sh`
+fi
diff --git a/plugins/bbedit/README.md b/plugins/bbedit/README.md
new file mode 100644
index 000000000..ec2b743d6
--- /dev/null
+++ b/plugins/bbedit/README.md
@@ -0,0 +1,20 @@
+## bbedit
+
+Plugin for BBEdit, an HTML and text editor for Mac OS X
+
+### Requirements
+
+ * [BBEdit](http://www.barebones.com/products/bbedit/)
+ * [BBEdit Command-Line Tools](http://www.barebones.com/support/bbedit/cmd-line-tools.html)
+
+### Usage
+
+ * If the `bb` command is called without an argument, launch BBEdit
+
+ * If `bb` is passed a directory, cd to it and open it in BBEdit
+
+ * If `bb` is passed a file, open it in BBEdit
+
+ * If `bbpb` create a new BBEdit document with the contents of the clipboard
+
+ * If `bbd` alias for BBEdit diff tool
diff --git a/plugins/bbedit/bbedit.plugin.zsh b/plugins/bbedit/bbedit.plugin.zsh
new file mode 100644
index 000000000..fe9e72c65
--- /dev/null
+++ b/plugins/bbedit/bbedit.plugin.zsh
@@ -0,0 +1,21 @@
+alias bbpb='pbpaste | bbedit --clean --view-top'
+
+alias bbd=bbdiff
+
+#
+# If the bb command is called without an argument, launch BBEdit
+# If bb is passed a directory, cd to it and open it in BBEdit
+# If bb is passed a file, open it in BBEdit
+#
+function bb() {
+ if [[ -z "$1" ]]
+ then
+ bbedit --launch
+ else
+ bbedit "$1"
+ if [[ -d "$1" ]]
+ then
+ cd "$1"
+ fi
+ fi
+}
diff --git a/plugins/brew/_brew b/plugins/brew/_brew
index 9eb3bb557..40442a1d3 100644
--- a/plugins/brew/_brew
+++ b/plugins/brew/_brew
@@ -50,6 +50,7 @@ _1st_arguments=(
'server:start a local web app that lets you browse formulae (requires Sinatra)'
'services:small wrapper around `launchctl` for supported formulae'
'tap:tap a new formula repository from GitHub, or list existing taps'
+ 'uninstall:uninstall a formula'
'unlink:unlink a formula'
'unpin:unpin specified formulae'
'untap:remove a tapped repository'
diff --git a/plugins/emoji-clock/emoji-clock.plugin.zsh b/plugins/emoji-clock/emoji-clock.plugin.zsh
index 7351a02ec..a69446e3c 100644
--- a/plugins/emoji-clock/emoji-clock.plugin.zsh
+++ b/plugins/emoji-clock/emoji-clock.plugin.zsh
@@ -8,8 +8,8 @@
# -----------------------------------------------------------------------------
function emoji-clock() {
- hour=$(date '+%I')
- minutes=$(date '+%M')
+ hour=$(date -v '+15M' '+%I')
+ minutes=$(date -v '+15M' '+%M')
case $hour in
01) clock="🕐"; [ $minutes -ge 30 ] && clock="🕜";;
02) clock="🕑"; [ $minutes -ge 30 ] && clock="🕝";;
diff --git a/plugins/gem/_gem b/plugins/gem/_gem
index 25967f1e7..92feebe95 100644
--- a/plugins/gem/_gem
+++ b/plugins/gem/_gem
@@ -59,6 +59,8 @@ case "$words[1]" in
build)
_files -g "*.gemspec"
;;
+ install)
+ _files ;;
list)
if [[ "$state" == forms ]]; then
_gem_installed
diff --git a/plugins/git-prompt/gitstatus.py b/plugins/git-prompt/gitstatus.py
index c665a9ee1..256841432 100644
--- a/plugins/git-prompt/gitstatus.py
+++ b/plugins/git-prompt/gitstatus.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python2
+#!/usr/bin/env python
# -*- coding: UTF-8 -*-
from subprocess import Popen, PIPE
import re
diff --git a/plugins/git/git.plugin.zsh b/plugins/git/git.plugin.zsh
index 9f7819df3..bb1978f78 100644
--- a/plugins/git/git.plugin.zsh
+++ b/plugins/git/git.plugin.zsh
@@ -7,6 +7,8 @@ alias gd='git diff'
compdef _git gd=git-diff
alias gdc='git diff --cached'
compdef _git gdc=git-diff
+alias gdt='git diff-tree --no-commit-id --name-only -r'
+compdef _git gdc=git diff-tree --no-commit-id --name-only -r
alias gl='git pull'
compdef _git gl=git-pull
alias gup='git pull --rebase'
@@ -16,6 +18,7 @@ compdef _git gp=git-push
alias gd='git diff'
gdv() { git diff -w "$@" | view - }
compdef _git gdv=git-diff
+alias gdt='git difftool'
alias gc='git commit -v'
compdef _git gc=git-commit
alias gc!='git commit -v --amend'
@@ -51,6 +54,7 @@ alias gb='git branch'
compdef _git gb=git-branch
alias gba='git branch -a'
compdef _git gba=git-branch
+alias gbr='git branch --remote'
alias gcount='git shortlog -sn'
compdef gcount=git
alias gcl='git config --list'
@@ -70,6 +74,7 @@ alias gss='git status -s'
compdef _git gss=git-status
alias ga='git add'
compdef _git ga=git-add
+alias gap='git add --patch'
alias gm='git merge'
compdef _git gm=git-merge
alias grh='git reset HEAD'
@@ -77,6 +82,18 @@ alias grhh='git reset HEAD --hard'
alias gclean='git reset --hard && git clean -dfx'
alias gwc='git whatchanged -p --abbrev-commit --pretty=medium'
+# Sign and verify commits with GPG
+alias gcs='git commit -S'
+compdef _git gcs=git-commit
+alias gsps='git show --pretty=short --show-signature'
+compdef _git gsps=git-show
+
+# Sign and verify tags with GPG
+alias gts='git tag -s'
+compdef _git gts=git-tag
+alias gvt='git verify-tag'
+compdef _git gvt=git verify-tag
+
#remove the gf alias
#alias gf='git ls-files | grep'
@@ -108,12 +125,14 @@ alias gsd='git svn dcommit'
# Usage example: git pull origin $(current_branch)
#
function current_branch() {
+ if [ ! -d .git ]; then return; fi
ref=$(git symbolic-ref HEAD 2> /dev/null) || \
ref=$(git rev-parse --short HEAD 2> /dev/null) || return
echo ${ref#refs/heads/}
}
function current_repository() {
+ if [ ! -d .git ]; then return; fi
ref=$(git symbolic-ref HEAD 2> /dev/null) || \
ref=$(git rev-parse --short HEAD 2> /dev/null) || return
echo $(git remote -v | cut -d':' -f 2)
diff --git a/plugins/jira/jira.plugin.zsh b/plugins/jira/jira.plugin.zsh
index 3d510e430..a6d08410f 100644
--- a/plugins/jira/jira.plugin.zsh
+++ b/plugins/jira/jira.plugin.zsh
@@ -26,7 +26,7 @@ open_jira_issue () {
jira_url=$JIRA_URL
else
echo "JIRA url is not specified anywhere."
- return 0
+ return 1
fi
if [ -f .jira-prefix ]; then
@@ -39,7 +39,9 @@ open_jira_issue () {
if [ -z "$1" ]; then
echo "Opening new issue"
- $open_cmd "$jira_url/secure/CreateIssue!default.jspa"
+ $open_cmd "${jira_url}/secure/CreateIssue!default.jspa"
+ elif [[ "$1" = "assigned" || "$1" = "reported" ]]; then
+ jira_query $@
else
echo "Opening issue #$1"
if [[ "x$JIRA_RAPID_BOARD" = "xtrue" ]]; then
@@ -50,4 +52,39 @@ open_jira_issue () {
fi
}
+jira_name () {
+ if [[ -z "$1" ]]; then
+ if [[ "x${JIRA_NAME}" != "x" ]]; then
+ jira_name=${JIRA_NAME}
+ else
+ echo "JIRA_NAME not specified"
+ return 1
+ fi
+ else
+ jira_name=$@
+ fi
+}
+
+jira_query () {
+ verb="$1"
+ if [[ "${verb}" = "reported" ]]; then
+ lookup=reporter
+ preposition=by
+ elif [[ "${verb}" = "assigned" ]]; then
+ lookup=assignee
+ preposition=to
+ else
+ echo "not a valid lookup $verb"
+ return 1
+ fi
+ shift 1
+ jira_name $@
+ if [[ $? = 1 ]]; then
+ return 1
+ fi
+ echo "Browsing issues ${verb} ${preposition} ${jira_name}"
+ $open_cmd "${jira_url}/secure/IssueNavigator.jspa?reset=true&jqlQuery=${lookup}+%3D+%22${jira_name}%22+AND+resolution+%3D+unresolved+ORDER+BY+priority+DESC%2C+created+ASC"
+}
+
alias jira='open_jira_issue'
+
diff --git a/plugins/marked2/README.md b/plugins/marked2/README.md
new file mode 100644
index 000000000..101343abb
--- /dev/null
+++ b/plugins/marked2/README.md
@@ -0,0 +1,13 @@
+## marked2
+
+Plugin for Marked 2, a previewer for Markdown files on Mac OS X
+
+### Requirements
+
+ * [Marked 2](http://marked2app.com)
+
+### Usage
+
+ * If `marked` is called without an argument, open Marked
+
+ * If `marked` is passed a file, open it in Marked
diff --git a/plugins/marked2/marked2.plugin.zsh b/plugins/marked2/marked2.plugin.zsh
new file mode 100644
index 000000000..56863ade5
--- /dev/null
+++ b/plugins/marked2/marked2.plugin.zsh
@@ -0,0 +1,12 @@
+#
+# If marked is called without an argument, open Marked
+# If marked is passed a file, open it in Marked
+#
+function marked() {
+ if [ "$1" ]
+ then
+ open -a "marked 2.app" "$1"
+ else
+ open -a "marked 2.app"
+ fi
+}
diff --git a/plugins/mvn/mvn.plugin.zsh b/plugins/mvn/mvn.plugin.zsh
index a70625fcf..0c4f77162 100644
--- a/plugins/mvn/mvn.plugin.zsh
+++ b/plugins/mvn/mvn.plugin.zsh
@@ -64,7 +64,7 @@ alias mvns='mvn site'
function listMavenCompletions {
reply=(
# common lifecycle
- clean process-resources compile process-test-resources test-compile test package verify install deploy site
+ clean process-resources compile process-test-resources test-compile test integration-test package verify install deploy site
# common plugins
deploy failsafe install site surefire checkstyle javadoc jxr pmd ant antrun archetype assembly dependency enforcer gpg help release repository source eclipse idea jetty cargo jboss tomcat tomcat6 tomcat7 exec versions war ear ejb android scm buildnumber nexus repository sonar license hibernate3 liquibase flyway gwt
@@ -129,6 +129,8 @@ function listMavenCompletions {
tomcat6:run tomcat6:run-war tomcat6:run-war-only tomcat6:stop tomcat6:deploy tomcat6:undeploy
# tomcat7
tomcat7:run tomcat7:run-war tomcat7:run-war-only tomcat7:deploy
+ # tomee
+ tomee:run tomee:run-war tomee:run-war-only tomee:stop tomee:deploy tomee:undeploy
# spring-boot
spring-boot:run spring-boot:repackage
# exec
diff --git a/plugins/pass/_pass b/plugins/pass/_pass
index d8ec38828..7a9b1f955 100644
--- a/plugins/pass/_pass
+++ b/plugins/pass/_pass
@@ -1,13 +1,16 @@
#compdef pass
#autoload
-# Copyright (C) 2012:
+# Copyright (C) 2012 - 2014:
# Johan Venant <jvenant@invicem.pro>
# Brian Mattern <rephorm@rephorm.com>
# Jason A. Donenfeld <Jason@zx2c4.com>.
-# Santiago Borrazás <sanbor@gmail.com>
# All Rights Reserved.
-# This file is licensed under the GPLv2+. Please see COPYING for more information.
+#
+# This file is licensed under the GPLv2+.
+# Please visit http://git.zx2c4.com/password-store/tree/COPYING for more information.
+#
+# Oh my zsh plugin maintainer: Santiago Borrazás <sanbor@gmail.com>
_pass () {
@@ -23,8 +26,8 @@ _pass () {
case "${cmd}" in
init)
_arguments : \
- "-r[re-encrypt existing passwords]" \
- "--reencrypt[re-encrypt existing passwords]"
+ "-p[gpg-id will only be applied to this subfolder]" \
+ "--path[gpg-id will only be applied to this subfolder]"
_pass_complete_keys
;;
ls|list|edit)
@@ -43,9 +46,19 @@ _pass () {
"-n[don't include symbols in password]" \
"--no-symbols[don't include symbols in password]" \
"-c[copy password to the clipboard]" \
- "--clip[copy password to the clipboard]"
+ "--clip[copy password to the clipboard]" \
+ "-f[force overwrite]" \
+ "--force[force overwrite]" \
+ "-i[replace first line]" \
+ "--in-place[replace first line]"
_pass_complete_entries_with_subdirs
;;
+ cp|copy|mv|rename)
+ _arguments : \
+ "-f[force rename]" \
+ "--force[force rename]"
+ _pass_complete_entries_with_subdirs
+ ;;
rm)
_arguments : \
"-f[force deletion]" \
@@ -75,10 +88,14 @@ _pass () {
subcommands=(
"init:Initialize new password storage"
"ls:List passwords"
+ "find:Find password files or directories based on pattern"
+ "grep:Search inside decrypted password files for matching pattern"
"show:Decrypt and print a password"
"insert:Insert a new password"
"generate:Generate a new password using pwgen"
"edit:Edit a password with \$EDITOR"
+ "mv:Rename the password"
+ "cp:Copy the password"
"rm:Remove the password"
"git:Call git on the password store"
"version:Output version information"
@@ -101,7 +118,7 @@ _pass_cmd_show () {
_pass_complete_entries_helper () {
local IFS=$'\n'
local prefix="${PASSWORD_STORE_DIR:-$HOME/.password-store}"
- _values -C 'passwords' $(find -L "$prefix" \( -name .git -o -name .gpg-id \) -prune -o $@ -print | sed -e "s#${prefix}.##" -e 's#\.gpg##' | sort)
+ _values -C 'passwords' ${$(find -L "$prefix" \( -name .git -o -name .gpg-id \) -prune -o $@ -print 2>/dev/null | sed -e "s#${prefix}/\{0,1\}##" -e 's#\.gpg##' | sort):-""}
}
_pass_complete_entries_with_subdirs () {
@@ -117,3 +134,5 @@ _pass_complete_keys () {
# Extract names and email addresses from gpg --list-keys
_values 'gpg keys' $(gpg2 --list-secret-keys --with-colons | cut -d : -f 10 | sort -u | sed '/^$/d')
}
+
+_pass
diff --git a/plugins/rvm/rvm.plugin.zsh b/plugins/rvm/rvm.plugin.zsh
index ad23e18d7..234ac1642 100644
--- a/plugins/rvm/rvm.plugin.zsh
+++ b/plugins/rvm/rvm.plugin.zsh
@@ -6,7 +6,7 @@ alias gemsets='rvm gemset list'
local ruby18='ruby-1.8.7'
local ruby19='ruby-1.9.3'
local ruby20='ruby-2.0.0'
-local ruby21='ruby-2.1.1'
+local ruby21='ruby-2.1.2'
function rb18 {
if [ -z "$1" ]; then
diff --git a/plugins/symfony2/symfony2.plugin.zsh b/plugins/symfony2/symfony2.plugin.zsh
index 1d5177e6d..8df22e9ad 100644
--- a/plugins/symfony2/symfony2.plugin.zsh
+++ b/plugins/symfony2/symfony2.plugin.zsh
@@ -1,23 +1,26 @@
# Symfony2 basic command completion
+_symfony_console () {
+ echo "php $(find . -maxdepth 2 -mindepth 1 -name 'console' -type f | head -n 1)"
+}
+
_symfony2_get_command_list () {
- php $(find . -maxdepth 2 -mindepth 1 -name 'console') --no-ansi | sed "1,/Available commands/d" | awk '/^ [a-z]+/ { print $1 }'
+ `_symfony_console` --no-ansi | sed "1,/Available commands/d" | awk '/^ [a-z]+/ { print $1 }'
}
_symfony2 () {
- if [ -f $(find . -maxdepth 2 -mindepth 1 -name 'console') ]; then
- compadd `_symfony2_get_command_list`
- fi
+ compadd `_symfony2_get_command_list`
}
-compdef _symfony2 $(find . -maxdepth 2 -mindepth 1 -name 'console')
+compdef _symfony2 '`_symfony_console`'
+compdef _symfony2 'app/console'
+compdef _symfony2 'bin/console'
compdef _symfony2 sf
#Alias
-alias sf='php $(find . -maxdepth 2 -mindepth 1 -name 'console') '
-alias sfcl='php $(find . -maxdepth 2 -mindepth 1 -name 'console') cache:clear'
-alias sfcw='php $(find . -maxdepth 2 -mindepth 1 -name 'console') cache:warmup'
-alias sfroute='php $(find . -maxdepth 2 -mindepth 1 -name 'console') router:debug'
-alias sfcontainer='php $(find . -maxdepth 2 -mindepth 1 -name 'console') container:debug'
-alias sfgb='php $(find . -maxdepth 2 -mindepth 1 -name 'console') generate:bundle'
-
+alias sf='`_symfony_console`'
+alias sfcl='sf cache:clear'
+alias sfcw='sf cache:warmup'
+alias sfroute='sf router:debug'
+alias sfcontainer='sf container:debug'
+alias sfgb='sf generate:bundle' \ No newline at end of file
diff --git a/plugins/textastic/README.md b/plugins/textastic/README.md
new file mode 100644
index 000000000..369c2c137
--- /dev/null
+++ b/plugins/textastic/README.md
@@ -0,0 +1,15 @@
+## textastic
+
+Plugin for Textastic, a text and code editor for Mac OS X
+
+### Requirements
+
+ * [Textastic](http://www.textasticapp.com/mac.html)
+
+### Usage
+
+ * If `tt` command is called without an argument, launch Textastic
+
+ * If `tt` is passed a directory, cd to it and open it in Textastic
+
+ * If `tt` is passed a file, open it in Textastic
diff --git a/plugins/textastic/textastic.plugin.zsh b/plugins/textastic/textastic.plugin.zsh
new file mode 100644
index 000000000..f5901eae2
--- /dev/null
+++ b/plugins/textastic/textastic.plugin.zsh
@@ -0,0 +1,17 @@
+#
+# If the tt command is called without an argument, launch Textastic
+# If tt is passed a directory, cd to it and open it in Textastic
+# If tt is passed a file, open it in Textastic
+#
+function tt() {
+ if [[ -z "$1" ]]
+ then
+ open -a "textastic.app"
+ else
+ open -a "textastic.app" "$1"
+ if [[ -d "$1" ]]
+ then
+ cd "$1"
+ fi
+ fi
+}
diff --git a/plugins/tmuxinator/_tmuxinator b/plugins/tmuxinator/_tmuxinator
index cd227b7df..e4f8b6ce0 100644
--- a/plugins/tmuxinator/_tmuxinator
+++ b/plugins/tmuxinator/_tmuxinator
@@ -11,10 +11,12 @@ _arguments -C \
case $state in
cmds)
_values "tmuxinator command" \
+ "new[create a new project file and open it in your editor]" \
"start[start a tmux session using project's tmuxinator config]" \
"open[create a new project file and open it in your editor]" \
"copy[copy source_project project file to a new project called new_project]" \
"delete[deletes the project called project_name]" \
+ "debug[output the shell commands generated by a projet]" \
"implode[deletes all existing projects!]" \
"list[list all existing projects]" \
"doctor[look for problems in your configuration]" \
@@ -24,9 +26,9 @@ case $state in
;;
args)
case $line[1] in
- start|open|copy|delete)
+ start|open|copy|delete|debug)
_configs=(`find ~/.tmuxinator -name \*.yml | cut -d/ -f5 | sed s:.yml::g`)
- _values 'configs' $_configs
+ [[ -n "$_configs" ]] && _values 'configs' $_configs
ret=0
;;
esac
diff --git a/plugins/vagrant/_vagrant b/plugins/vagrant/_vagrant
index 9ddfa1be7..f842b4fbb 100644
--- a/plugins/vagrant/_vagrant
+++ b/plugins/vagrant/_vagrant
@@ -56,7 +56,7 @@ __box_list ()
__vm_list ()
{
- _wanted application expl 'command' compadd $(command grep Vagrantfile -oe '^[^#]*\.vm\.define *:\([a-zA-Z0-9]\+\)' 2>/dev/null | cut -d: -f2)
+ _wanted application expl 'command' compadd $(command grep Vagrantfile -oe '^[^#]*\.vm\.define *[:"]\([a-zA-Z0-9_-]\+\)' 2>/dev/null | awk '{print substr($2, 2)}')
}
__vagrant-box ()
diff --git a/plugins/wd/LICENSE b/plugins/wd/LICENSE
new file mode 100644
index 000000000..8caa6c6ce
--- /dev/null
+++ b/plugins/wd/LICENSE
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) 2014 Markus Færevaag
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE. \ No newline at end of file
diff --git a/plugins/wd/README.md b/plugins/wd/README.md
index f9f4e7ac1..bc0ebe334 100644
--- a/plugins/wd/README.md
+++ b/plugins/wd/README.md
@@ -2,37 +2,39 @@
**Maintainer:** [mfaerevaag](https://github.com/mfaerevaag)
-`wd` (warp directory) lets you jump to custom directories in zsh, without using cd. Why? Because cd seems ineffecient when the folder is frequently visited or has a long path. [Source](https://github.com/mfaerevaag/wd)
+`wd` (*warp directory*) lets you jump to custom directories in zsh, without using `cd`. Why? Because `cd` seems ineffecient when the folder is frequently visited or has a long path. [Source](https://github.com/mfaerevaag/wd)
### Usage
* Add warp point to current working directory:
- wd add test
+ $ wd add foo
If a warp point with the same name exists, use `add!` to overwrite it.
- * From an other directory, warp to test with:
+ Note, a warp point cannot contain colons, or only consist of only spaces and dots. The first will conflict in how `wd` stores the warp points, and the second will conflict other features, as below.
- wd test
+ * From an other directory (not necessarily), warp to `foo` with:
- * You can warp back to previous directory, and so on, with the puncticulation syntax:
+ $ wd foo
- wd ..
- wd ...
+ * You can warp back to previous directory, and so on, with this dot syntax:
+
+ $ wd ..
+ $ wd ...
This is a wrapper for the zsh `dirs` function.
* Remove warp point test point:
- wd rm test
+ $ wd rm foo
- * List warp points to current directory (stored in `~/.warprc`):
+ * List all warp points (stored in `~/.warprc`):
- wd show
+ $ wd ls
- * List all warp points (stored in `~/.warprc`):
+ * List warp points to current directory
- wd ls
+ $ wd show
* Print usage with no opts or the `help` argument.
diff --git a/plugins/wd/_wd.sh b/plugins/wd/_wd.sh
index 29df63520..0b03d8fff 100644
--- a/plugins/wd/_wd.sh
+++ b/plugins/wd/_wd.sh
@@ -5,23 +5,16 @@ zstyle ':completion::complete:wd:*:commands' group-name commands
zstyle ':completion::complete:wd:*:warp_points' group-name warp_points
zstyle ':completion::complete:wd::' list-grouped
-# Call `_wd()` when when trying to complete the command `wd`
-
zmodload zsh/mapfile
+
function _wd() {
- local ret=1
local CONFIG=$HOME/.warprc
-
- # Stolen from
- # http://stackoverflow.com/questions/9000698/completion-when-program-has-sub-commands
-
- # local curcontext="$curcontext" state line
- # typeset -A opt_args
+ local ret=1
local -a commands
local -a warp_points
- warp_points=( "${(f)mapfile[$CONFIG]}" )
- # LIST="${mapfile[$FNAME]}" # Not required unless stuff uses it
+
+ warp_points=( "${(f)mapfile[$CONFIG]//$HOME/~}" )
commands=(
'add:Adds the current working directory to your warp points'
diff --git a/plugins/wd/wd.plugin.zsh b/plugins/wd/wd.plugin.zsh
index 9800335fc..c0559293d 100644
--- a/plugins/wd/wd.plugin.zsh
+++ b/plugins/wd/wd.plugin.zsh
@@ -1,7 +1,7 @@
#!/bin/zsh
-# WARP
-# ====
+# WARP DIRECTORY
+# ==============
# oh-my-zsh plugin
#
# @github.com/mfaerevaag/wd
diff --git a/plugins/wd/wd.sh b/plugins/wd/wd.sh
index 9ebad6808..dfb9ad89a 100755
--- a/plugins/wd/wd.sh
+++ b/plugins/wd/wd.sh
@@ -1,7 +1,7 @@
#!/bin/zsh
-# WARP
-# ====
+# WARP DIRECTORY
+# ==============
# Jump to custom directories in terminal
# because `cd` takes too long...
#
@@ -9,26 +9,28 @@
## variables
-CONFIG=$HOME/.warprc
+readonly CONFIG=$HOME/.warprc
-## colors
-BLUE="\033[96m"
-GREEN="\033[92m"
-YELLOW="\033[93m"
-RED="\033[91m"
-NOC="\033[m"
+# colors
+readonly BLUE="\033[96m"
+readonly GREEN="\033[92m"
+readonly YELLOW="\033[93m"
+readonly RED="\033[91m"
+readonly NOC="\033[m"
+## init
+
# check if config file exists
-if [[ ! -a $CONFIG ]]
+if [ ! -e $CONFIG ]
then
- # if not: create config file
- touch $CONFIG
+ # if not, create config file
+ touch $CONFIG
fi
-## load warp points
+# load warp points
typeset -A points
-while read line
+while read -r line
do
arr=(${(s,:,)line})
key=${arr[1]}
@@ -39,72 +41,78 @@ done < $CONFIG
## functions
-# prepended wd_ to not conflict with your environment (no sub shell)
wd_warp()
{
- if [[ $1 =~ "^\.+$" ]]
+ local point=$1
+
+ if [[ $point =~ "^\.+$" ]]
then
- if [[ $#1 < 2 ]]
+ if [ $#1 < 2 ]
then
wd_print_msg $YELLOW "Warping to current directory?"
else
(( n = $#1 - 1 ))
- #wd_print_msg $BLUE "Warping..."
cd -$n > /dev/null
fi
- elif [[ ${points[$1]} != "" ]]
+ elif [[ ${points[$point]} != "" ]]
then
- #wd_print_msg $BLUE "Warping..."
- cd ${points[$1]}
+ cd ${points[$point]}
else
- wd_print_msg $RED "Unknown warp point '$1'"
+ wd_print_msg $RED "Unknown warp point '${point}'"
fi
}
wd_add()
{
- if [[ $2 =~ "^\.+$" || $2 =~ "^\s*$" ]]
+ local force=$1
+ local point=$2
+
+ if [[ $point =~ "^[\.]+$" ]]
+ then
+ wd_print_msg $RED "Warp point cannot be just dots"
+ elif [[ $point =~ "(\s|\ )+" ]]
then
- wd_print_msg $RED "Illegal warp point (see README)."
- elif [[ ${points[$2]} == "" ]] || $1
+ wd_print_msg $RED "Warp point should not contain whitespace"
+ elif [[ $point == *:* ]]
then
- wd_remove $2 > /dev/null
- print "$2:$PWD" >> $CONFIG
+ wd_print_msg $RED "Warp point cannot contain colons"
+ elif [[ $point == "" ]]
+ then
+ wd_print_msg $RED "Warp point cannot be empty"
+ elif [[ ${points[$2]} == "" ]] || $force
+ then
+ wd_remove $point > /dev/null
+ printf "%q:%q\n" "${point}" "${PWD}" >> $CONFIG
+
wd_print_msg $GREEN "Warp point added"
else
- wd_print_msg $YELLOW "Warp point '$2' already exists. Use 'add!' to overwrite."
+ wd_print_msg $YELLOW "Warp point '${point}' already exists. Use 'add!' to overwrite."
fi
}
wd_remove()
{
- if [[ ${points[$1]} != "" ]]
+ local point=$1
+
+ if [[ ${points[$point]} != "" ]]
then
- if wd_tmp=`sed "/^$1:/d" $CONFIG`
+ if sed -i.bak "s,^${point}:.*$,,g" $CONFIG
then
- # `>!` forces overwrite
- # we need this if people use `setopt NO_CLOBBER`
- echo $wd_tmp >! $CONFIG
wd_print_msg $GREEN "Warp point removed"
else
- wd_print_msg $RED "Warp point unsuccessfully removed. Sorry!"
+ wd_print_msg $RED "Something bad happened! Sorry."
fi
else
wd_print_msg $RED "Warp point was not found"
fi
}
-wd_show()
-{
- wd_print_msg $BLUE "Warp points to current directory:"
- wd_list_all | grep $PWD$
-}
-
wd_list_all()
{
wd_print_msg $BLUE "All warp points:"
- while read line
+
+ while IFS= read -r line
do
if [[ $line != "" ]]
then
@@ -112,38 +120,52 @@ wd_list_all()
key=${arr[1]}
val=${arr[2]}
- print "\t" $key "\t -> \t" $val
+ printf "%20s -> %s\n" $key $val
fi
- done < $CONFIG
+ done <<< $(sed "s:${HOME}:~:g" $CONFIG)
+}
+
+wd_show()
+{
+ local cwd=$(print $PWD | sed "s:^${HOME}:~:")
+
+ wd_print_msg $BLUE "Warp points to current directory:"
+ wd_list_all | grep -e "${cwd}$"
}
wd_print_msg()
{
- if [[ $1 == "" || $2 == "" ]]
+ local color=$1
+ local msg=$2
+
+ if [[ $color == "" || $msg == "" ]]
then
- print " $RED*$NOC Could not print message. Sorry!"
+ print " ${RED}*${NOC} Could not print message. Sorry!"
else
- print " $1*$NOC $2"
+ print " ${color}*${NOC} ${msg}"
fi
}
wd_print_usage()
{
- print "Usage: wd [add|-a|--add] [rm|-r|--remove] [ls|-l|--list] <point>"
- print "\nCommands:"
- print "\t add \t Adds the current working directory to your warp points"
- print "\t add! \t Overwrites existing warp point"
- print "\t rm \t Removes the given warp point"
- print "\t show \t Outputs warp points to current directory"
- print "\t ls \t Outputs all stored warp points"
- print "\t help \t Show this extremely helpful text"
+ cat <<- EOF
+Usage: wd [add|-a|--add] [rm|-r|--remove] <point>
+
+Commands:
+ add Adds the current working directory to your warp points
+ add! Overwrites existing warp point
+ rm Removes the given warp point
+ show Outputs warp points to current directory
+ ls Outputs all stored warp points
+ help Show this extremely helpful text
+EOF
}
## run
# get opts
-args=`getopt -o a:r:lhs -l add:,rm:,ls,help,show -- $*`
+args=$(getopt -o a:r:lhs -l add:,rm:,ls,help,show -- $*)
# check if no arguments were given
if [[ $? -ne 0 || $#* -eq 0 ]]
@@ -151,19 +173,16 @@ then
wd_print_usage
# check if config file is writeable
-elif [[ ! -w $CONFIG ]]
+elif [ ! -w $CONFIG ]
then
- wd_print_msg $RED "\'$CONFIG\' is not writeable."
- # do nothing => exit
+ # do nothing
# can't run `exit`, as this would exit the executing shell
- # i.e. your terminal
+ wd_print_msg $RED "\'$CONFIG\' is not writeable."
else
- #set -- $args # WTF
-
- for i
+ for o
do
- case "$i"
+ case "$o"
in
-a|--add|add)
wd_add false $2
@@ -190,7 +209,7 @@ else
break
;;
*)
- wd_warp $i
+ wd_warp $o
break
;;
--)
@@ -200,10 +219,18 @@ else
done
fi
-
## garbage collection
# if not, next time warp will pick up variables from this run
# remember, there's no sub shell
-unset points
+
+unset wd_warp
+unset wd_add
+unset wd_remove
+unset wd_show
+unset wd_list_all
+unset wd_print_msg
+unset wd_print_usage
+
unset args
+unset points
unset val &> /dev/null # fixes issue #1
diff --git a/plugins/web-search/web-search.plugin.zsh b/plugins/web-search/web-search.plugin.zsh
index 8eedb90ee..e157a389d 100644
--- a/plugins/web-search/web-search.plugin.zsh
+++ b/plugins/web-search/web-search.plugin.zsh
@@ -1,7 +1,6 @@
# web_search from terminal
function web_search() {
-
# get the open command
local open_cmd
if [[ $(uname -s) == 'Darwin' ]]; then
@@ -38,8 +37,8 @@ function web_search() {
done
url="${url%?}" # remove the last '+'
-
- $open_cmd "$url"
+ nohup $open_cmd "$url"
+ rm nohup.out
}
diff --git a/plugins/wp-cli/README.md b/plugins/wp-cli/README.md
new file mode 100644
index 000000000..6dda07d17
--- /dev/null
+++ b/plugins/wp-cli/README.md
@@ -0,0 +1,105 @@
+# WP-CLI
+
+**Maintainer:** [joshmedeski](https://github.com/joshmedeski)
+
+WordPress Command Line Interface (http://wp-cli.org/)
+
+WP-CLI is a set of command-line tools for managing WordPress installations. You can update plugins, set up multisite installs and much more, without using a web browser.
+
+## List of Aliases
+
+### Core
+- wpcc='wp core config'
+- wpcd='wp core download'
+- wpci='wp core install'
+- wpcii='wp core is-installed'
+- wpcmc='wp core multisite-convert'
+- wpcmi='wp core multisite-install'
+- wpcu='wp core update'
+- wpcudb='wp core update-db'
+- wpcvc='wp core verify-checksums'
+
+### Cron
+- wpcre='wp cron event'
+- wpcrs='wp cron schedule'
+- wpcrt='wp cron test'
+
+### Menu
+- wpmc='wp menu create'
+- wpmd='wp menu delete'
+- wpmi='wp menu item'
+- wpml='wp menu list'
+- wpmlo='wp menu location'
+
+### Plugin
+- wppa='activate'
+- wppda='deactivate'
+- wppd='delete'
+- wppg='get'
+- wppi='install'
+- wppis='is-installed'
+- wppl='list'
+- wppp='path'
+- wpps='search'
+- wppst='status'
+- wppt='toggle'
+- wppu='uninstall'
+- wppu='update'
+
+### Post
+- wppoc='wp post create'
+- wppod='wp post delete'
+- wppoe='wp post edit'
+- wppogen='wp post generate'
+- wppog='wp post get'
+- wppol='wp post list'
+- wppom='wp post meta'
+- wppou='wp post update'
+- wppou='wp post url'
+
+### Sidebar
+- wpsbl='wp sidebar list'
+
+### Theme
+- wpta='wp theme activate'
+- wptd='wp theme delete'
+- wptdis='wp theme disable'
+- wpte='wp theme enable'
+- wptg='wp theme get'
+- wpti='wp theme install'
+- wptis='wp theme is-installed'
+- wptl='wp theme list'
+- wptm='wp theme mod'
+- wptp='wp theme path'
+- wpts='wp theme search'
+- wptst='wp theme status'
+- wptu='wp theme updatet'
+
+### User
+- wpuac='wp user add-cap'
+- wpuar='wp user add-role'
+- wpuc='wp user create'
+- wpud='wp user delete'
+- wpugen='wp user generate'
+- wpug='wp user get'
+- wpui='wp user import-csv'
+- wpul='wp user list'
+- wpulc='wp user list-caps'
+- wpum='wp user meta'
+- wpurc='wp user remove-cap'
+- wpurr='wp user remove-role'
+- wpusr='wp user set-role'
+- wpuu='wp user update'
+
+### Widget
+- wpwa='wp widget add'
+- wpwda='wp widget deactivate'
+- wpwd='wp widget delete'
+- wpwl='wp widget list'
+- wpwm='wp widget move'
+- wpwu='wp widget update'
+
+The entire list of wp-cli commands can be found here: http://wp-cli.org/commands/
+
+I only included the commands that are most used. Please feel free to contribute to this project if you want more commands.
+
diff --git a/plugins/wp-cli/wp-cli.plugin.zsh b/plugins/wp-cli/wp-cli.plugin.zsh
new file mode 100644
index 000000000..5d9551e24
--- /dev/null
+++ b/plugins/wp-cli/wp-cli.plugin.zsh
@@ -0,0 +1,138 @@
+# WP-CLI
+# A command line interface for WordPress
+# http://wp-cli.org/
+
+# Cache
+
+# Cap
+
+# CLI
+
+# Comment
+
+# Core
+alias wpcc='wp core config'
+alias wpcd='wp core download'
+alias wpci='wp core install'
+alias wpcii='wp core is-installed'
+alias wpcmc='wp core multisite-convert'
+alias wpcmi='wp core multisite-install'
+alias wpcu='wp core update'
+alias wpcudb='wp core update-db'
+alias wpcvc='wp core verify-checksums'
+
+# Cron
+alias wpcre='wp cron event'
+alias wpcrs='wp cron schedule'
+alias wpcrt='wp cron test'
+
+# Db
+
+# Eval
+
+# Eval-File
+
+# Export
+
+# Help
+
+# Import
+
+# Media
+
+# Menu
+alias wpmc='wp menu create'
+alias wpmd='wp menu delete'
+alias wpmi='wp menu item'
+alias wpml='wp menu list'
+alias wpmlo='wp menu location'
+
+# Network
+
+# Option
+
+# Plugin
+alias wppa='activate'
+alias wppda='deactivate'
+alias wppd='delete'
+alias wppg='get'
+alias wppi='install'
+alias wppis='is-installed'
+alias wppl='list'
+alias wppp='path'
+alias wpps='search'
+alias wppst='status'
+alias wppt='toggle'
+alias wppu='uninstall'
+alias wppu='update'
+
+# Post
+alias wppoc='wp post create'
+alias wppod='wp post delete'
+alias wppoe='wp post edit'
+alias wppogen='wp post generate'
+alias wppog='wp post get'
+alias wppol='wp post list'
+alias wppom='wp post meta'
+alias wppou='wp post update'
+alias wppou='wp post url'
+
+# Rewrite
+
+# Role
+
+# Scaffold
+
+# Search-Replace
+
+# Shell
+
+# Sidebar
+alias wpsbl='wp sidebar list'
+
+# Site
+
+# Super-Admin
+
+# Term
+
+# Theme
+alias wpta='wp theme activate'
+alias wptd='wp theme delete'
+alias wptdis='wp theme disable'
+alias wpte='wp theme enable'
+alias wptg='wp theme get'
+alias wpti='wp theme install'
+alias wptis='wp theme is-installed'
+alias wptl='wp theme list'
+alias wptm='wp theme mod'
+alias wptp='wp theme path'
+alias wpts='wp theme search'
+alias wptst='wp theme status'
+alias wptu='wp theme updatet'
+
+# Transient
+
+# User
+alias wpuac='wp user add-cap'
+alias wpuar='wp user add-role'
+alias wpuc='wp user create'
+alias wpud='wp user delete'
+alias wpugen='wp user generate'
+alias wpug='wp user get'
+alias wpui='wp user import-csv'
+alias wpul='wp user list'
+alias wpulc='wp user list-caps'
+alias wpum='wp user meta'
+alias wpurc='wp user remove-cap'
+alias wpurr='wp user remove-role'
+alias wpusr='wp user set-role'
+alias wpuu='wp user update'
+
+# Widget
+alias wpwa='wp widget add'
+alias wpwda='wp widget deactivate'
+alias wpwd='wp widget delete'
+alias wpwl='wp widget list'
+alias wpwm='wp widget move'
+alias wpwu='wp widget update'
diff --git a/plugins/zsh_reload/zsh_reload.plugin.zsh b/plugins/zsh_reload/zsh_reload.plugin.zsh
index 94945bd48..3f44b99c6 100644
--- a/plugins/zsh_reload/zsh_reload.plugin.zsh
+++ b/plugins/zsh_reload/zsh_reload.plugin.zsh
@@ -1,10 +1,11 @@
# reload zshrc
function src()
{
+ local cache="$ZSH/cache"
autoload -U compinit zrecompile
- compinit -d "$ZSH/cache/zcomp-$HOST"
+ compinit -d "$cache/zcomp-$HOST"
- for f in ~/.zshrc "$ZSH/cache/zcomp-$HOST"; do
+ for f in ~/.zshrc "$cache/zcomp-$HOST"; do
zrecompile -p $f && command rm -f $f.zwc.old
done
diff --git a/themes/fino.zsh-theme b/themes/fino.zsh-theme
index 35e6e02c1..411dec9b9 100644
--- a/themes/fino.zsh-theme
+++ b/themes/fino.zsh-theme
@@ -35,7 +35,7 @@ local prompt_char='$(prompt_char)'
PROMPT="╭─%{$FG[040]%}%n%{$reset_color%} %{$FG[239]%}at%{$reset_color%} %{$FG[033]%}$(box_name)%{$reset_color%} %{$FG[239]%}in%{$reset_color%} %{$terminfo[bold]$FG[226]%}${current_dir}%{$reset_color%}${git_info} %{$FG[239]%}using%{$FG[243]%}${ruby_env}
-╰─${prompt_char} "
+╰─${prompt_char}%{$reset_color%} "
ZSH_THEME_GIT_PROMPT_PREFIX=" %{$FG[239]%}on%{$reset_color%} %{$fg[255]%}"
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}"
diff --git a/themes/half-life.zsh-theme b/themes/half-life.zsh-theme
index c8d09ce47..942affa94 100644
--- a/themes/half-life.zsh-theme
+++ b/themes/half-life.zsh-theme
@@ -51,8 +51,8 @@ zstyle ':vcs_info:*:prompt:*' check-for-changes true
PR_RST="%{${reset_color}%}"
FMT_BRANCH=" on %{$turquoise%}%b%u%c${PR_RST}"
FMT_ACTION=" performing a %{$limegreen%}%a${PR_RST}"
-FMT_UNSTAGED="%{$orange%}●"
-FMT_STAGED="%{$limegreen%}●"
+FMT_UNSTAGED="%{$orange%} ●"
+FMT_STAGED="%{$limegreen%} ●"
zstyle ':vcs_info:*:prompt:*' unstagedstr "${FMT_UNSTAGED}"
zstyle ':vcs_info:*:prompt:*' stagedstr "${FMT_STAGED}"
@@ -83,7 +83,7 @@ function steeef_precmd {
# check for untracked files or updated submodules, since vcs_info doesn't
if [[ ! -z $(git ls-files --other --exclude-standard 2> /dev/null) ]]; then
PR_GIT_UPDATE=1
- FMT_BRANCH="${PM_RST} on %{$turquoise%}%b%u%c%{$hotpink%}●${PR_RST}"
+ FMT_BRANCH="${PM_RST} on %{$turquoise%}%b%u%c%{$hotpink%} ●${PR_RST}"
else
FMT_BRANCH="${PM_RST} on %{$turquoise%}%b%u%c${PR_RST}"
fi
@@ -95,5 +95,4 @@ function steeef_precmd {
}
add-zsh-hook precmd steeef_precmd
-PROMPT=$'
-%{$purple%}%n%{$reset_color%} in %{$limegreen%}%~%{$reset_color%}$(rvm-prompt " with%{$fg[red]%} " v g "%{$reset_color%}")$vcs_info_msg_0_%{$orange%} λ%{$reset_color%} '
+PROMPT=$'%{$purple%}%n%{$reset_color%} in %{$limegreen%}%~%{$reset_color%}$(ruby_prompt_info " with%{$fg[red]%} " v g "%{$reset_color%}")$vcs_info_msg_0_%{$orange%} λ%{$reset_color%} '
diff --git a/tools/check_for_upgrade.sh b/tools/check_for_upgrade.sh
index 8b8ecae03..35e074297 100644
--- a/tools/check_for_upgrade.sh
+++ b/tools/check_for_upgrade.sh
@@ -9,7 +9,7 @@ function _update_zsh_update() {
}
function _upgrade_zsh() {
- /usr/bin/env ZSH=$ZSH /bin/sh $ZSH/tools/upgrade.sh
+ env ZSH=$ZSH /bin/sh $ZSH/tools/upgrade.sh
# update the zsh file
_update_zsh_update
}
diff --git a/tools/install.sh b/tools/install.sh
index fc7ad70cf..a53ac48ab 100755
--- a/tools/install.sh
+++ b/tools/install.sh
@@ -10,7 +10,7 @@ if [ -d "$ZSH" ]; then
fi
echo "\033[0;34mCloning Oh My Zsh...\033[0m"
-hash git >/dev/null 2>&1 && /usr/bin/env git clone https://github.com/robbyrussell/oh-my-zsh.git $ZSH || {
+hash git >/dev/null 2>&1 && env git clone https://github.com/robbyrussell/oh-my-zsh.git $ZSH || {
echo "git not installed"
exit
}
@@ -32,8 +32,10 @@ sed -i -e "/export PATH=/ c\\
export PATH=\"$PATH\"
" ~/.zshrc
-echo "\033[0;34mTime to change your default shell to zsh!\033[0m"
-chsh -s `which zsh`
+if [ "$SHELL" != "$(which zsh)" ]; then
+ echo "\033[0;34mTime to change your default shell to zsh!\033[0m"
+ chsh -s `which zsh`
+fi
echo "\033[0;32m"' __ __ '"\033[0m"
echo "\033[0;32m"' ____ / /_ ____ ___ __ __ ____ _____/ /_ '"\033[0m"
@@ -43,5 +45,6 @@ echo "\033[0;32m"'\____/_/ /_/ /_/ /_/ /_/\__, / /___/____/_/ /_/ '"\033[0m
echo "\033[0;32m"' /____/ ....is now installed!'"\033[0m"
echo "\n\n \033[0;32mPlease look over the ~/.zshrc file to select plugins, themes, and options.\033[0m"
echo "\n\n \033[0;32mp.s. Follow us at http://twitter.com/ohmyzsh.\033[0m"
-/usr/bin/env zsh
+echo "\n\n \033[0;32mp.p.s. Get stickers and t-shirts at http://shop.planetargon.com.\033[0m"
+env zsh
. ~/.zshrc
diff --git a/tools/upgrade.sh b/tools/upgrade.sh
index 9a8497d96..5f0a81f1d 100644
--- a/tools/upgrade.sh
+++ b/tools/upgrade.sh
@@ -9,8 +9,8 @@ then
printf '\033[0;32m%s\033[0m\n' '\____/_/ /_/ /_/ /_/ /_/\__, / /___/____/_/ /_/ '
printf '\033[0;32m%s\033[0m\n' ' /____/ '
printf '\033[0;34m%s\033[0m\n' 'Hooray! Oh My Zsh has been updated and/or is at the current version.'
- printf '\033[0;34m%s\033[1m%s\033[0m\n' 'To keep up on the latest, be sure to follow Oh My Zsh on twitter: ' 'http://twitter.com/ohmyzsh'
+ printf '\033[0;34m%s\033[1m%s\033[0m\n' 'To keep up on the latest news and updates, follow us on twitter: ' 'http://twitter.com/ohmyzsh'
+ printf '\033[0;34m%s\033[1m%s\033[0m\n' 'Get your Oh My Zsh swag at: ' 'http://shop.planetargon.com/'
else
printf '\033[0;31m%s\033[0m\n' 'There was an error updating. Try again later?'
fi
-