Merge branch 'master' into add-my-aliases

This commit is contained in:
Paul Curry 2014-10-11 17:53:25 -04:00
commit 1401fc737b
87 changed files with 1223 additions and 274 deletions

View file

@ -1,110 +1,111 @@
!https://s3.amazonaws.com/ohmyzsh/oh-my-zsh-logo.png! !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!" bq. "OH MY ZSHELL!"
h2. Setup 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*.
h3. The automatic installer... (do you trust me?) If not already installed, you can install "Zsh":http://www.zsh.org/ using the command-line.
You can install this via the command line with either `curl` or `wget`. h3. The automatic installer… do you trust me?
h4. via `curl` You can install this via the command-line with either @curl@ or @wget@.
h4. via @curl@:
@curl -L http://install.ohmyz.sh | sh@ @curl -L http://install.ohmyz.sh | sh@
h4. via `wget` h4. via @wget@:
@wget --no-check-certificate http://install.ohmyz.sh -O - | sh@ @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). The default location is @~/.oh-my-zsh@ (hidden in your home directory).
You can change the install directory with the ZSH environment variable, either 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:
by running `export ZSH=/your/path` before installing, or 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@ @curl -L https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh | ZSH=~/.dotfiles/zsh sh@
h3. The manual way 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? 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 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)@ ** example: @plugins=(git osx ruby)@
* Theme support: Change the @ZSH_THEME@ environment variable in @~/.zshrc@. * 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_. ** 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 @lib/@ what _Oh My Zsh_ offers... * & much, much more… take a look at the @lib/@ directory to see what @oh-my-zsh@ has to offer…
h2. Useful 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 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 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 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 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 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@ @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@ @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 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! 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 h2. Contributors
This project wouldn't exist without all of our awesome users and 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
* "View our growing list of contributors":https://github.com/robbyrussell/oh-my-zsh/contributors
Thank you so much! Thank you so much!

4
cache/.easter-egg vendored Normal file
View file

@ -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.

View file

@ -32,7 +32,6 @@ alias lah='ls -lah'
alias l='ls -lah' alias l='ls -lah'
alias ll='ls -lh' alias ll='ls -lh'
alias la='ls -lAh' alias la='ls -lAh'
alias sl=ls # often screw this up
alias afind='ack-grep -il' alias afind='ack-grep -il'

View file

@ -44,7 +44,7 @@ zstyle ':completion:*:*:*:users' ignored-patterns \
named netdump news nfsnobody nobody nscd ntp nut nx obsrun openvpn \ named netdump news nfsnobody nobody nscd ntp nut nx obsrun openvpn \
operator pcap polkitd postfix postgres privoxy pulse pvm quagga radvd \ operator pcap polkitd postfix postgres privoxy pulse pvm quagga radvd \
rpc rpcuser rpm rtkit scard shutdown squid sshd statd svn sync tftp \ rpc rpcuser rpm rtkit scard shutdown squid sshd statd svn sync tftp \
usbmux uucp vcsa wwwrun xfs usbmux uucp vcsa wwwrun xfs '_*'
# ... unless we really want to. # ... unless we really want to.
zstyle '*' single-ignored show zstyle '*' single-ignored show

View file

@ -1,13 +1,13 @@
alias man='nocorrect man'
alias mv='nocorrect mv'
alias mysql='nocorrect mysql'
alias mkdir='nocorrect mkdir'
alias gist='nocorrect gist'
alias heroku='nocorrect heroku'
alias ebuild='nocorrect ebuild'
alias hpodder='nocorrect hpodder'
alias sudo='nocorrect sudo'
if [[ "$ENABLE_CORRECTION" == "true" ]]; then if [[ "$ENABLE_CORRECTION" == "true" ]]; then
alias ebuild='nocorrect ebuild'
alias gist='nocorrect gist'
alias heroku='nocorrect heroku'
alias hpodder='nocorrect hpodder'
alias man='nocorrect man'
alias mkdir='nocorrect mkdir'
alias mv='nocorrect mv'
alias mysql='nocorrect mysql'
alias sudo='nocorrect sudo'
setopt correct_all setopt correct_all
fi fi

View file

@ -3,11 +3,11 @@ function zsh_stats() {
} }
function uninstall_oh_my_zsh() { 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() { 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() { function take() {

View file

@ -1,8 +1,8 @@
# get the name of the branch we are on # get the name of the branch we are on
function git_prompt_info() { function git_prompt_info() {
if [[ "$(git config --get oh-my-zsh.hide-status)" != "1" ]]; then if [[ "$(command git config --get oh-my-zsh.hide-status 2>/dev/null)" != "1" ]]; then
ref=$(command git symbolic-ref HEAD 2> /dev/null) || \ ref=$(command git symbolic-ref HEAD 2> /dev/null) || \
ref=$(command git rev-parse --short HEAD 2> /dev/null) || return ref=$(command git rev-parse --short HEAD 2> /dev/null) || return 0
echo "$ZSH_THEME_GIT_PROMPT_PREFIX${ref#refs/heads/}$(parse_git_dirty)$ZSH_THEME_GIT_PROMPT_SUFFIX" echo "$ZSH_THEME_GIT_PROMPT_PREFIX${ref#refs/heads/}$(parse_git_dirty)$ZSH_THEME_GIT_PROMPT_SUFFIX"
fi fi
} }
@ -54,11 +54,19 @@ git_remote_status() {
# Checks if there are commits ahead from remote # Checks if there are commits ahead from remote
function git_prompt_ahead() { function git_prompt_ahead() {
if $(echo "$(command git log origin/$(current_branch)..HEAD 2> /dev/null)" | grep '^commit' &> /dev/null); then if $(echo "$(command git log @{upstream}..HEAD 2> /dev/null)" | grep '^commit' &> /dev/null); then
echo "$ZSH_THEME_GIT_PROMPT_AHEAD" echo "$ZSH_THEME_GIT_PROMPT_AHEAD"
fi fi
} }
# Gets the number of commits ahead from remote
function git_commits_ahead() {
if $(echo "$(command git log @{upstream}..HEAD 2> /dev/null)" | grep '^commit' &> /dev/null); then
COMMITS=$(command git log @{upstream}..HEAD | grep '^commit' | wc -l | tr -d ' ')
echo "$ZSH_THEME_GIT_COMMITS_AHEAD_PREFIX$COMMITS$ZSH_THEME_GIT_COMMITS_AHEAD_SUFFIX"
fi
}
# Formats prompt string for current git commit short SHA # Formats prompt string for current git commit short SHA
function git_prompt_short_sha() { function git_prompt_short_sha() {
SHA=$(command git rev-parse --short HEAD 2> /dev/null) && echo "$ZSH_THEME_GIT_PROMPT_SHA_BEFORE$SHA$ZSH_THEME_GIT_PROMPT_SHA_AFTER" SHA=$(command git rev-parse --short HEAD 2> /dev/null) && echo "$ZSH_THEME_GIT_PROMPT_SHA_BEFORE$SHA$ZSH_THEME_GIT_PROMPT_SHA_AFTER"

View file

@ -34,6 +34,5 @@ function omz_termsupport_preexec {
title '$CMD' '%100>...>$LINE%<<' title '$CMD' '%100>...>$LINE%<<'
} }
autoload -U add-zsh-hook precmd_functions+=(omz_termsupport_precmd)
add-zsh-hook precmd omz_termsupport_precmd preexec_functions+=(omz_termsupport_preexec)
add-zsh-hook preexec omz_termsupport_preexec

View file

@ -1,6 +1,6 @@
# Check for updates on initial load... # Check for updates on initial load...
if [ "$DISABLE_AUTO_UPDATE" != "true" ]; then 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 fi
# Initializes Oh My Zsh # Initializes Oh My Zsh
@ -38,15 +38,17 @@ for plugin ($plugins); do
done done
# Figure out the SHORT hostname # Figure out the SHORT hostname
if [ -n "$commands[scutil]" ]; then if [[ "$OSTYPE" = darwin* ]]; then
# OS X # OS X's $HOST changes with dhcp, etc. Use ComputerName if possible.
SHORT_HOST=$(scutil --get ComputerName) SHORT_HOST=$(scutil --get ComputerName 2>/dev/null) || SHORT_HOST=${HOST/.*/}
else else
SHORT_HOST=${HOST/.*/} SHORT_HOST=${HOST/.*/}
fi fi
# Save the location of the current completion dump file. # Save the location of the current completion dump file.
ZSH_COMPDUMP="${ZDOTDIR:-${HOME}}/.zcompdump-${SHORT_HOST}-${ZSH_VERSION}" if [ -z "$ZSH_COMPDUMP" ]; then
ZSH_COMPDUMP="${ZDOTDIR:-${HOME}}/.zcompdump-${SHORT_HOST}-${ZSH_VERSION}"
fi
# Load and run compinit # Load and run compinit
autoload -U compinit autoload -U compinit

8
plugins/adb/README.md Normal file
View file

@ -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.

39
plugins/adb/_adb Normal file
View file

@ -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

View file

@ -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 yalst='yaourt -Qe' # List installed packages, even those installed from AUR (they're tagged as "local")
alias yaorph='yaourt -Qtd' # Remove orphans using yaourt alias yaorph='yaourt -Qtd' # Remove orphans using yaourt
# Additional yaourt alias examples # 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 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 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 fi
alias yainsd='yaourt -S --asdeps' # Install given package(s) as dependencies of another package 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 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 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 alias paclocs='pacman -Qs' # Search for package(s) in the local database
# Additional pacman alias examples # Additional pacman alias examples
if [[ -x `which abs` ]]; then if [[ -x `which abs` && -x `which aur` ]]; then
alias pacupd='sudo pacman -Sy && sudo abs' # Update and refresh the local package and ABS databases against repositories 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 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 fi
alias pacinsd='sudo pacman -S --asdeps' # Install given package(s) as dependencies of another package 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 alias pacmir='sudo pacman -Syy' # Force refresh of all package lists after updating /etc/pacman.d/mirrorlist

View file

@ -1,5 +1,7 @@
if [ $commands[autojump] ]; then # check if autojump is installed if [ $commands[autojump] ]; then # check if autojump is installed
if [ -f /usr/share/autojump/autojump.zsh ]; then # debian and ubuntu package if [ -f $HOME/.autojump/etc/profile.d/autojump.zsh ]; then # manual user-local installation
. $HOME/.autojump/etc/profile.d/autojump.zsh
elif [ -f /usr/share/autojump/autojump.zsh ]; then # debian and ubuntu package
. /usr/share/autojump/autojump.zsh . /usr/share/autojump/autojump.zsh
elif [ -f /etc/profile.d/autojump.zsh ]; then # manual installation elif [ -f /etc/profile.d/autojump.zsh ]; then # manual installation
. /etc/profile.d/autojump.zsh . /etc/profile.d/autojump.zsh
@ -7,8 +9,6 @@ if [ $commands[autojump] ]; then # check if autojump is installed
. /etc/profile.d/autojump.sh . /etc/profile.d/autojump.sh
elif [ -f /usr/local/share/autojump/autojump.zsh ]; then # freebsd installation elif [ -f /usr/local/share/autojump/autojump.zsh ]; then # freebsd installation
. /usr/local/share/autojump/autojump.zsh . /usr/local/share/autojump/autojump.zsh
elif [ -f $HOME/.autojump/etc/profile.d/autojump.zsh ]; then # manual user-local installation
. $HOME/.autojump/etc/profile.d/autojump.zsh
elif [ -f /opt/local/etc/profile.d/autojump.zsh ]; then # mac os x with ports elif [ -f /opt/local/etc/profile.d/autojump.zsh ]; then # mac os x with ports
. /opt/local/etc/profile.d/autojump.zsh . /opt/local/etc/profile.d/autojump.zsh
elif [ $commands[brew] -a -f `brew --prefix`/etc/autojump.zsh ]; then # mac os x with brew elif [ $commands[brew] -a -f `brew --prefix`/etc/autojump.zsh ]; then # mac os x with brew

View file

@ -1,3 +1,11 @@
_homebrew-installed() {
type brew &> /dev/null
}
_awscli-homebrew-installed() {
brew --prefix awscli &> /dev/null
}
export AWS_HOME=~/.aws export AWS_HOME=~/.aws
function agp { function agp {
@ -14,4 +22,9 @@ function aws_profiles {
} }
compctl -K aws_profiles asp 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

View file

@ -8,7 +8,7 @@
# Modified to add support for Apple Mac # # Modified to add support for Apple Mac #
########################################### ###########################################
if [[ $(uname) == "Darwin" ]] ; then if [[ "$OSTYPE" = darwin* ]] ; then
function battery_pct() { function battery_pct() {
local smart_battery_status="$(ioreg -rc "AppleSmartBattery")" local smart_battery_status="$(ioreg -rc "AppleSmartBattery")"

20
plugins/bbedit/README.md Normal file
View file

@ -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

View file

@ -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
}

0
plugins/bower/_bower Executable file → Normal file
View file

View file

@ -50,6 +50,7 @@ _1st_arguments=(
'server:start a local web app that lets you browse formulae (requires Sinatra)' 'server:start a local web app that lets you browse formulae (requires Sinatra)'
'services:small wrapper around `launchctl` for supported formulae' 'services:small wrapper around `launchctl` for supported formulae'
'tap:tap a new formula repository from GitHub, or list existing taps' 'tap:tap a new formula repository from GitHub, or list existing taps'
'uninstall:uninstall a formula'
'unlink:unlink a formula' 'unlink:unlink a formula'
'unpin:unpin specified formulae' 'unpin:unpin specified formulae'
'untap:remove a tapped repository' 'untap:remove a tapped repository'

View file

@ -1 +1,2 @@
alias brews='brew list -1' alias brews='brew list -1'
alias bubu="brew update && brew upgrade && brew cleanup"

49
plugins/bundler/README.md Normal file
View file

@ -0,0 +1,49 @@
# Bundler
- adds completion for basic bundler commands
- adds short aliases for common bundler commands
- `be` aliased to `bundle exec`
- `bl` aliased to `bundle list`
- `bp` aliased to `bundle package`
- `bo` aliased to `bundle open`
- `bu` aliased to `bundle update`
- `bi` aliased to `bundle install --jobs=<cpu core count>` (only for bundler `>= 1.4.0`)
- adds a wrapper for common gems:
- looks for a binstub under `./bin/` and executes it (if present)
- calls `bundle exec <gem executable>` otherwise
For a full list of *common gems* being wrapped by default please look at the `bundler.plugin.zsh` file.
## Configuration
Please use the exact name of the executable and not the gem name.
### Add additional gems to be wrapped
Add this before the plugin-list in your `.zshrc`:
```sh
BUNDLED_COMMANDS=(rubocop)
plugins=(... bundler ...)
```
This will add the wrapper for the `rubocop` gem (i.e. the executable).
### Exclude gems from being wrapped
Add this before the plugin-list in your `.zshrc`:
```sh
UNBUNDLED_COMMANDS=(foreman spin)
plugins=(... bundler ...)
```
This will exclude the `foreman` and `spin` gems (i.e. their executable) from being wrapped.
## Excluded gems
These gems should not be called with `bundle exec`. Please see the Issues on GitHub for clarification.
`berks`
`foreman`
`mailcatcher`
`rails`
`ruby`
`spin`

View file

@ -18,11 +18,13 @@ case $state in
"check[Determine whether the requirements for your application are installed]" \ "check[Determine whether the requirements for your application are installed]" \
"list[Show all of the gems in the current bundle]" \ "list[Show all of the gems in the current bundle]" \
"show[Show the source location of a particular gem in the bundle]" \ "show[Show the source location of a particular gem in the bundle]" \
"outdated[Show all of the outdated gems in the current bundle]" \
"console[Start an IRB session in the context of the current bundle]" \ "console[Start an IRB session in the context of the current bundle]" \
"open[Open an installed gem in the editor]" \ "open[Open an installed gem in the editor]" \
"viz[Generate a visual representation of your dependencies]" \ "viz[Generate a visual representation of your dependencies]" \
"init[Generate a simple Gemfile, placed in the current directory]" \ "init[Generate a simple Gemfile, placed in the current directory]" \
"gem[Create a simple gem, suitable for development with bundler]" \ "gem[Create a simple gem, suitable for development with bundler]" \
"platform[Displays platform compatibility information]" \
"clean[Cleans up unused gems in your bundler directory]" \ "clean[Cleans up unused gems in your bundler directory]" \
"help[Describe available tasks or one specific task]" "help[Describe available tasks or one specific task]"
ret=0 ret=0
@ -39,11 +41,13 @@ case $state in
'check' \ 'check' \
'list' \ 'list' \
'show' \ 'show' \
'outdated' \
'console' \ 'console' \
'open' \ 'open' \
'viz' \ 'viz' \
'init' \ 'init' \
'gem' \ 'gem' \
'platform' \
'help' && ret=0 'help' && ret=0
;; ;;
install) install)
@ -71,6 +75,15 @@ case $state in
'(--verbose)--verbose[Enable verbose output mode]' '(--verbose)--verbose[Enable verbose output mode]'
ret=0 ret=0
;; ;;
outdated)
_arguments \
'(--pre)--pre[Check for newer pre-release gems]' \
'(--source)--source[Check against a specific source]' \
'(--local)--local[Do not attempt to fetch gems remotely and use the gem cache instead]' \
'(--no-color)--no-color[Disable colorization in output]' \
'(--verbose)--verbose[Enable verbose output mode]'
ret=0
;;
(open|show) (open|show)
_gems=( $(bundle show 2> /dev/null | sed -e '/^ \*/!d; s/^ \* \([^ ]*\) .*/\1/') ) _gems=( $(bundle show 2> /dev/null | sed -e '/^ \*/!d; s/^ \* \([^ ]*\) .*/\1/') )
if [[ $_gems != "" ]]; then if [[ $_gems != "" ]]; then

View file

@ -3,23 +3,58 @@ alias bl="bundle list"
alias bp="bundle package" alias bp="bundle package"
alias bo="bundle open" alias bo="bundle open"
alias bu="bundle update" alias bu="bundle update"
alias bi="bundle_install"
# The following is based on https://github.com/gma/bundler-exec bundled_commands=(
annotate
bundled_commands=(annotate berks cap capify cucumber foodcritic foreman guard irb jekyll kitchen knife middleman nanoc puma rackup rainbows rake rspec ruby shotgun spec spin spork strainer tailor taps thin thor unicorn unicorn_rails) cap
capify
cucumber
foodcritic
guard
irb
jekyll
kitchen
knife
middleman
nanoc
pry
puma
rackup
rainbows
rake
rspec
shotgun
sidekiq
spec
spork
spring
strainer
tailor
taps
thin
thor
unicorn
unicorn_rails
)
# Remove $UNBUNDLED_COMMANDS from the bundled_commands list # Remove $UNBUNDLED_COMMANDS from the bundled_commands list
for cmd in $UNBUNDLED_COMMANDS; do for cmd in $UNBUNDLED_COMMANDS; do
bundled_commands=(${bundled_commands#$cmd}); bundled_commands=(${bundled_commands#$cmd});
done done
# Add $BUNDLED_COMMANDS to the bundled_commands list
for cmd in $BUNDLED_COMMANDS; do
bundled_commands+=($cmd);
done
## Functions ## Functions
bi() { bundle_install() {
if _bundler-installed && _within-bundled-project; then if _bundler-installed && _within-bundled-project; then
local bundler_version=`bundle version | cut -d' ' -f3` local bundler_version=`bundle version | cut -d' ' -f3`
if [[ $bundler_version > '1.4.0' || $bundler_version = '1.4.0' ]]; then if [[ $bundler_version > '1.4.0' || $bundler_version = '1.4.0' ]]; then
if [[ "$(uname)" == 'Darwin' ]] if [[ "$OSTYPE" = darwin* ]]
then then
local cores_num="$(sysctl hw.ncpu | awk '{print $2}')" local cores_num="$(sysctl hw.ncpu | awk '{print $2}')"
else else
@ -39,17 +74,25 @@ _bundler-installed() {
} }
_within-bundled-project() { _within-bundled-project() {
local check_dir=$PWD local check_dir="$PWD"
while [ $check_dir != "/" ]; do while [ "$check_dir" != "/" ]; do
[ -f "$check_dir/Gemfile" ] && return [ -f "$check_dir/Gemfile" ] && return
check_dir="$(dirname $check_dir)" check_dir="$(dirname $check_dir)"
done done
false false
} }
_binstubbed() {
[ -f "./bin/${1}" ]
}
_run-with-bundler() { _run-with-bundler() {
if _bundler-installed && _within-bundled-project; then if _bundler-installed && _within-bundled-project; then
bundle exec $@ if _binstubbed $1; then
./bin/$@
else
bundle exec $@
fi
else else
$@ $@
fi fi
@ -62,7 +105,6 @@ for cmd in $bundled_commands; do
alias $cmd=bundled_$cmd alias $cmd=bundled_$cmd
if which _$cmd > /dev/null 2>&1; then if which _$cmd > /dev/null 2>&1; then
compdef _$cmd bundled_$cmd=$cmd compdef _$cmd bundled_$cmd=$cmd
fi fi
done done

View file

@ -19,4 +19,4 @@ bindkey -a 'N' vi-join
bindkey -a 'j' vi-forward-word-end bindkey -a 'j' vi-forward-word-end
bindkey -a 'J' vi-forward-blank-word-end bindkey -a 'J' vi-forward-blank-word-end
lesskey $ZSH_CUSTOM/plugins/colemak/colemak-less lesskey $ZSH/plugins/colemak/colemak-less

View file

@ -1,4 +1,4 @@
# Plugin for highligthing file content # Plugin for highlighting file content
# Plugin highlights file content based on the filename extension. # Plugin highlights file content based on the filename extension.
# If no highlighting method supported for given extension then it tries # If no highlighting method supported for given extension then it tries
# guess it by looking for file content. # guess it by looking for file content.
@ -6,9 +6,9 @@
alias colorize='colorize_via_pygmentize' alias colorize='colorize_via_pygmentize'
colorize_via_pygmentize() { colorize_via_pygmentize() {
if [ ! -x $(which pygmentize) ]; then if [ ! -x "$(which pygmentize)" ]; then
echo package \'pygmentize\' is not installed! echo "package \'pygmentize\' is not installed!"
exit -1 return -1
fi fi
if [ $# -eq 0 ]; then if [ $# -eq 0 ]; then
@ -25,4 +25,4 @@ colorize_via_pygmentize() {
pygmentize -g "$FNAME" pygmentize -g "$FNAME"
fi fi
done done
} }

View file

@ -3,7 +3,6 @@
# #
# ls, the common ones I use a lot shortened for rapid fire usage # ls, the common ones I use a lot shortened for rapid fire usage
alias ls='ls --color' #I like color
alias l='ls -lFh' #size,show type,human readable alias l='ls -lFh' #size,show type,human readable
alias la='ls -lAFh' #long list,show almost all,show type,human readable alias la='ls -lAFh' #long list,show almost all,show type,human readable
alias lr='ls -tRFh' #sorted by date,recursive,show type,human readable alias lr='ls -tRFh' #sorted by date,recursive,show type,human readable
@ -39,7 +38,7 @@ alias -g NE="2> /dev/null"
alias -g NUL="> /dev/null 2>&1" alias -g NUL="> /dev/null 2>&1"
alias -g P="2>&1| pygmentize -l pytb" alias -g P="2>&1| pygmentize -l pytb"
alias dud='du --max-depth=1 -h' alias dud='du -d 1 -h'
alias duf='du -sh *' alias duf='du -sh *'
alias fd='find . -type d -name' alias fd='find . -type d -name'
alias ff='find . -type f -name' alias ff='find . -type f -name'

View file

@ -46,3 +46,6 @@ alias cdu='composer dump-autoload'
# install composer in the current directory # install composer in the current directory
alias cget='curl -s https://getcomposer.org/installer | php' alias cget='curl -s https://getcomposer.org/installer | php'
# Add Composer's global binaries to PATH
export PATH=$PATH:~/.composer/vendor/bin

View file

@ -141,6 +141,7 @@ _managepy-sqlinitialdata(){}
_managepy-sqlreset(){} _managepy-sqlreset(){}
_managepy-sqlsequencereset(){} _managepy-sqlsequencereset(){}
_managepy-startapp(){} _managepy-startapp(){}
_managepy-startproject(){}
_managepy-syncdb() { _managepy-syncdb() {
_arguments -s : \ _arguments -s : \
@ -198,6 +199,7 @@ _managepy-commands() {
'sqlreset:Prints the DROP TABLE SQL, then the CREATE TABLE SQL, for the given app name(s).' 'sqlreset:Prints the DROP TABLE SQL, then the CREATE TABLE SQL, for the given app name(s).'
'sqlsequencereset:Prints the SQL statements for resetting sequences for the given app name(s).' 'sqlsequencereset:Prints the SQL statements for resetting sequences for the given app name(s).'
"startapp:Creates a Django app directory structure for the given app name in this project's directory." "startapp:Creates a Django app directory structure for the given app name in this project's directory."
"startproject:Creates a Django project directory structure for the given project name in this current directory."
"syncdb:Create the database tables for all apps in INSTALLED_APPS whose tables haven't already been created." "syncdb:Create the database tables for all apps in INSTALLED_APPS whose tables haven't already been created."
'test:Runs the test suite for the specified applications, or the entire site if no apps are specified.' 'test:Runs the test suite for the specified applications, or the entire site if no apps are specified.'
'testserver:Runs a development server with data from the given fixture(s).' 'testserver:Runs a development server with data from the given fixture(s).'

View file

@ -214,7 +214,7 @@ __save() {
__start() { __start() {
_arguments \ _arguments \
'(-a,--attach=)'{-a,--attach=}'[Attach container''s stdout/stderr and forward all signals to the process]' \ '(-a,--attach=)'{-a,--attach=}'[Attach container''s stdout/stderr and forward all signals to the process]' \
'(-i,--interactive=)'{-i, --interactive=}'[Attach container''s stdin]' '(-i,--interactive=)'{-i,--interactive=}'[Attach container''s stdin]'
__docker_containers __docker_containers
} }

View file

@ -8,8 +8,8 @@
# ----------------------------------------------------------------------------- # -----------------------------------------------------------------------------
function emoji-clock() { function emoji-clock() {
hour=$(date '+%I') hour=$(date -v '+15M' '+%I')
minutes=$(date '+%M') minutes=$(date -v '+15M' '+%M')
case $hour in case $hour in
01) clock="🕐"; [ $minutes -ge 30 ] && clock="🕜";; 01) clock="🕐"; [ $minutes -ge 30 ] && clock="🕜";;
02) clock="🕑"; [ $minutes -ge 30 ] && clock="🕝";; 02) clock="🕑"; [ $minutes -ge 30 ] && clock="🕝";;

View file

@ -52,7 +52,7 @@ function extract() {
(*.xz) unxz "$1" ;; (*.xz) unxz "$1" ;;
(*.lzma) unlzma "$1" ;; (*.lzma) unlzma "$1" ;;
(*.Z) uncompress "$1" ;; (*.Z) uncompress "$1" ;;
(*.zip|*.war|*.jar) unzip "$1" -d $extract_dir ;; (*.zip|*.war|*.jar|*.sublime-package) unzip "$1" -d $extract_dir ;;
(*.rar) unrar x -ad "$1" ;; (*.rar) unrar x -ad "$1" ;;
(*.7z) 7za x "$1" ;; (*.7z) 7za x "$1" ;;
(*.deb) (*.deb)

View file

@ -0,0 +1,82 @@
## Rationale ##
The idea for this script is to help searches in important doc contents from frontend.
## Instalation ##
I will send a Pull Request with this plugin for .oh-my-zsh official repository. If accept them, it's only add in plugins list that exists in ```.zshrc``` file.
For now, you can clone this repository and add in ```custom/plugins``` folder
```bash
$ git clone git://github.com/willmendesneto/frontend-search.git ~/.oh-my-zsh/custom/plugins/frontend-search
```
After this, restart your terminal and frontend-search plugin is configurated in you CLI.
```bash
...
plugins=( <your-plugins-list>... frontend-search)
...
```
## Commands ##
All command searches are accept only in format
* `frontend <search-content> <search-term>`
The search content are
* `jquery <api.jquery.com>`
* `mdn <developer.mozilla.org>`
* `compass <compass-style.org>`
* `html5please <html5please.com>`
* `caniuse <caniuse.com>`
* `aurajs <aurajs.com>`
* `dartlang <api.dartlang.org/apidocs/channels/stable/dartdoc-viewer>`
* `lodash <search>`
* `qunit <api.qunitjs.com>`
* `fontello <fontello.com>`
* `bootsnipp <bootsnipp.com>`
* `cssflow <cssflow.com>`
* `codepen <codepen.io>`
* `unheap <www.unheap.com>`
* `bem <google.com/search?as_q=<search-term>&as_sitesearch=bem.info>`
* `smacss <google.com/search?as_q=<search-term>&as_sitesearch=smacss.com>`
* `angularjs <google.com/search?as_q=<search-term>&as_sitesearch=angularjs.org>`
* `reactjs <google.com/search?as_q=<search-term>&as_sitesearch=facebook.github.io/react>`
* `emberjs <emberjs.com>`
## Aliases ##
There are a few aliases presented as well:
* `jquery` A shorthand for `frontend jquery`
* `mdn` A shorthand for `frontend mdn`
* `compass` A shorthand for `frontend compass`
* `html5please` A shorthand for `frontend html5please`
* `caniuse` A shorthand for `frontend caniuse`
* `aurajs` A shorthand for `frontend aurajs`
* `dartlang` A shorthand for `frontend dartlang`
* `lodash` A shorthand for `frontend lodash`
* `qunit` A shorthand for `frontend qunit`
* `fontello` A shorthand for `frontend fontello`
* `bootsnipp` A shorthand for `frontend bootsnipp`
* `cssflow` A shorthand for `frontend cssflow`
* `codepen` A shorthand for `frontend codepen`
* `unheap` A shorthand for `frontend unheap`
* `bem` A shorthand for `frontend bem`
* `smacss` A shorthand for `frontend smacss`
* `angularjs` A shorthand for `frontend angularjs`
* `reactjs` A shorthand for `frontend reactjs`
* `emberjs` A shorthand for `frontend emberjs`
## Author
**Wilson Mendes (willmendesneto)**
+ <https://twitter.com/willmendesneto>
+ <http://github.com/willmendesneto>
New features comming soon.

View file

@ -0,0 +1,151 @@
# frontend from terminal
function frontend() {
# get the open command
local open_cmd
if [[ $(uname -s) == 'Darwin' ]]; then
open_cmd='open'
else
open_cmd='xdg-open'
fi
# no keyword provided, simply show how call methods
if [[ $# -le 1 ]]; then
echo "Please provide a search-content and a search-term for app.\nEx:\nfrontend <search-content> <search-term>\n"
return 1
fi
# check whether the search engine is supported
if [[ ! $1 =~ '(jquery|mdn|compass|html5please|caniuse|aurajs|dartlang|qunit|fontello|bootsnipp|cssflow|codepen|unheap|bem|smacss|angularjs|reactjs|emberjs)' ]];
then
echo "Search valid search content $1 not supported."
echo "Valid contents: (formats 'frontend <search-content>' or '<search-content>')"
echo "* jquery"
echo "* mdn"
echo "* compass"
echo "* html5please"
echo "* caniuse"
echo "* aurajs"
echo "* dartlang"
echo "* lodash"
echo "* qunit"
echo "* fontello"
echo "* bootsnipp"
echo "* cssflow"
echo "* codepen"
echo "* unheap"
echo "* bem"
echo "* smacss"
echo "* angularjs"
echo "* reactjs"
echo "* emberjs"
echo ""
return 1
fi
local url="http://"
local query=""
case "$1" in
"jquery")
url="${url}api.jquery.com"
url="${url}/?s=$2" ;;
"mdn")
url="${url}developer.mozilla.org"
url="${url}/search?q=$2" ;;
"compass")
url="${url}compass-style.org"
url="${url}/search?q=$2" ;;
"html5please")
url="${url}html5please.com"
url="${url}/#$2" ;;
"caniuse")
url="${url}caniuse.com"
url="${url}/#search=$2" ;;
"aurajs")
url="${url}aurajs.com"
url="${url}/api/#stq=$2" ;;
"dartlang")
url="${url}api.dartlang.org/apidocs/channels/stable/dartdoc-viewer"
url="${url}/dart-$2" ;;
"qunit")
url="${url}api.qunitjs.com"
url="${url}/?s=$2" ;;
"fontello")
url="${url}fontello.com"
url="${url}/#search=$2" ;;
"bootsnipp")
url="${url}bootsnipp.com"
url="${url}/search?q=$2" ;;
"cssflow")
url="${url}cssflow.com"
url="${url}/search?q=$2" ;;
"codepen")
url="${url}codepen.io"
url="${url}/search?q=$2" ;;
"unheap")
url="${url}www.unheap.com"
url="${url}/?s=$2" ;;
"bem")
url="${url}google.com"
url="${url}/search?as_q=$2&as_sitesearch=bem.info" ;;
"smacss")
url="${url}google.com"
url="${url}/search?as_q=$2&as_sitesearch=smacss.com" ;;
"angularjs")
url="${url}google.com"
url="${url}/search?as_q=$2&as_sitesearch=angularjs.org" ;;
"reactjs")
url="${url}google.com"
url="${url}/search?as_q=$2&as_sitesearch=facebook.github.io/react" ;;
"emberjs")
url="${url}emberjs.com"
url="${url}/api/#stq=$2&stp=1" ;;
*) echo "INVALID PARAM!"
return ;;
esac
echo "$url"
$open_cmd "$url"
}
# javascript
alias jquery='frontend jquery'
alias mdn='frontend mdn'
# pre processors frameworks
alias compass='frontend compass'
# important links
alias html5please='frontend html5please'
alias caniuse='frontend caniuse'
# components and libraries
alias aurajs='frontend aurajs'
alias dartlang='frontend dartlang'
alias lodash='frontend lodash'
#tests
alias qunit='frontend qunit'
#fonts
alias fontello='frontend fontello'
# snippets
alias bootsnipp='frontend bootsnipp'
alias cssflow='frontend cssflow'
alias codepen='frontend codepen'
alias unheap='frontend unheap'
# css architecture
alias bem='frontend bem'
alias smacss='frontend smacss'
# frameworks
alias angularjs='frontend angularjs'
alias reactjs='frontend reactjs'
alias emberjs='frontend emberjs'

View file

@ -59,6 +59,8 @@ case "$words[1]" in
build) build)
_files -g "*.gemspec" _files -g "*.gemspec"
;; ;;
install)
_files ;;
list) list)
if [[ "$state" == forms ]]; then if [[ "$state" == forms ]]; then
_gem_installed _gem_installed

View file

@ -7,6 +7,8 @@ alias gd='git diff'
compdef _git gd=git-diff compdef _git gd=git-diff
alias gdc='git diff --cached' alias gdc='git diff --cached'
compdef _git gdc=git-diff 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' alias gl='git pull'
compdef _git gl=git-pull compdef _git gl=git-pull
alias gup='git pull --rebase' alias gup='git pull --rebase'
@ -16,6 +18,7 @@ compdef _git gp=git-push
alias gd='git diff' alias gd='git diff'
gdv() { git diff -w "$@" | view - } gdv() { git diff -w "$@" | view - }
compdef _git gdv=git-diff compdef _git gdv=git-diff
alias gdt='git difftool'
alias gc='git commit -v' alias gc='git commit -v'
compdef _git gc=git-commit compdef _git gc=git-commit
alias gc!='git commit -v --amend' alias gc!='git commit -v --amend'
@ -51,6 +54,7 @@ alias gb='git branch'
compdef _git gb=git-branch compdef _git gb=git-branch
alias gba='git branch -a' alias gba='git branch -a'
compdef _git gba=git-branch compdef _git gba=git-branch
alias gbr='git branch --remote'
alias gcount='git shortlog -sn' alias gcount='git shortlog -sn'
compdef gcount=git compdef gcount=git
alias gcl='git config --list' alias gcl='git config --list'
@ -70,6 +74,7 @@ alias gss='git status -s'
compdef _git gss=git-status compdef _git gss=git-status
alias ga='git add' alias ga='git add'
compdef _git ga=git-add compdef _git ga=git-add
alias gap='git add --patch'
alias gm='git merge' alias gm='git merge'
compdef _git gm=git-merge compdef _git gm=git-merge
alias grh='git reset HEAD' alias grh='git reset HEAD'
@ -77,6 +82,18 @@ alias grhh='git reset HEAD --hard'
alias gclean='git reset --hard && git clean -dfx' alias gclean='git reset --hard && git clean -dfx'
alias gwc='git whatchanged -p --abbrev-commit --pretty=medium' 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 #remove the gf alias
#alias gf='git ls-files | grep' #alias gf='git ls-files | grep'

View file

@ -40,7 +40,7 @@ fi
# #
# Use this when creating a new repo from scratch. # Use this when creating a new repo from scratch.
empty_gh() { # [NAME_OF_REPO] empty_gh() { # [NAME_OF_REPO]
repo = $1 repo=$1
ghuser=$( git config github.user ) ghuser=$( git config github.user )
mkdir "$repo" mkdir "$repo"

View file

@ -158,3 +158,6 @@ __go_tool_complete() {
} }
compdef __go_tool_complete go compdef __go_tool_complete go
# aliases
alias gfa='go fmt . ./...'

View file

@ -60,7 +60,7 @@ function in_gradle() {
############################################################################ ############################################################################
_gradle_does_task_list_need_generating () { _gradle_does_task_list_need_generating () {
[ ! -f .gradletasknamecache ] && return 0; [ ! -f .gradletasknamecache ] && return 0;
[ .gradletasknamecache -nt build.gradle ] && return 0; [ build.gradle -nt .gradletasknamecache ] && return 0;
return 1; return 1;
} }

0
plugins/grails/grails.plugin.zsh Executable file → Normal file
View file

View file

@ -12,7 +12,7 @@
# jira ABC-123 # Opens an existing issue # jira ABC-123 # Opens an existing issue
open_jira_issue () { open_jira_issue () {
local open_cmd local open_cmd
if [[ $(uname -s) == 'Darwin' ]]; then if [[ "$OSTYPE" = darwin* ]]; then
open_cmd='open' open_cmd='open'
else else
open_cmd='xdg-open' open_cmd='xdg-open'
@ -26,20 +26,65 @@ open_jira_issue () {
jira_url=$JIRA_URL jira_url=$JIRA_URL
else else
echo "JIRA url is not specified anywhere." echo "JIRA url is not specified anywhere."
return 0 return 1
fi
if [ -f .jira-prefix ]; then
jira_prefix=$(cat .jira-prefix)
elif [ -f ~/.jira-prefix ]; then
jira_prefix=$(cat ~/.jira-prefix)
else
jira_prefix=""
fi fi
if [ -z "$1" ]; then if [ -z "$1" ]; then
echo "Opening new issue" 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 else
echo "Opening issue #$1" echo "Opening issue #$1"
if [[ "x$JIRA_RAPID_BOARD" = "xtrue" ]]; then if [[ "x$JIRA_RAPID_BOARD" = "xtrue" ]]; then
$open_cmd "$jira_url/issues/$1" $open_cmd "$jira_url/issues/$jira_prefix$1"
else else
$open_cmd "$jira_url/browse/$1" $open_cmd "$jira_url/browse/$jira_prefix$1"
fi fi
fi 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' alias jira='open_jira_issue'

0
plugins/jruby/jruby.plugin.zsh Executable file → Normal file
View file

View file

@ -39,7 +39,7 @@ marks() {
_completemarks() { _completemarks() {
if [[ $(ls "${MARKPATH}" | wc -l) -gt 1 ]]; then if [[ $(ls "${MARKPATH}" | wc -l) -gt 1 ]]; then
reply=($(ls $MARKPATH/**/*(-) | grep : | sed -E 's/(.*)\/([_\da-zA-Z\-]*):$/\2/g')) reply=($(ls $MARKPATH/**/*(-) | grep : | sed -E 's/(.*)\/([_a-zA-Z0-9\.\-]*):$/\2/g'))
else else
if readlink -e "${MARKPATH}"/* &>/dev/null; then if readlink -e "${MARKPATH}"/* &>/dev/null; then
reply=($(ls "${MARKPATH}")) reply=($(ls "${MARKPATH}"))

13
plugins/marked2/README.md Normal file
View file

@ -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

View file

@ -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
}

View file

@ -16,6 +16,8 @@ alias hgs='hg status'
alias hgsl='hg log --limit 20 --template "{node|short} | {date|isodatesec} | {author|user}: {desc|strip|firstline}\n" ' alias hgsl='hg log --limit 20 --template "{node|short} | {date|isodatesec} | {author|user}: {desc|strip|firstline}\n" '
# this is the 'git commit --amend' equivalent # this is the 'git commit --amend' equivalent
alias hgca='hg qimport -r tip ; hg qrefresh -e ; hg qfinish tip' alias hgca='hg qimport -r tip ; hg qrefresh -e ; hg qfinish tip'
# list unresolved files (since hg does not list unmerged files in the status command)
alias hgun='hg resolve --list'
function in_hg() { function in_hg() {
if [[ -d .hg ]] || $(hg summary > /dev/null 2>&1); then if [[ -d .hg ]] || $(hg summary > /dev/null 2>&1); then

View file

@ -44,24 +44,27 @@ mvn-color()
# aliases # aliases
alias mvncie='mvn clean install eclipse:eclipse' alias mvncie='mvn clean install eclipse:eclipse'
alias mvnci='mvn clean install' alias mvnci='mvn clean install'
alias mvncist='mvn clean install -DskipTests'
alias mvne='mvn eclipse:eclipse' alias mvne='mvn eclipse:eclipse'
alias mvnce='mvn clean eclipse:clean eclipse:eclipse' alias mvnce='mvn clean eclipse:clean eclipse:eclipse'
alias mvnd='mvn deploy' alias mvnd='mvn deploy'
alias mvnp='mvn package' alias mvnp='mvn package'
alias mvnc='mvn clean' alias mvnc='mvn clean'
alias mvncom='mvn compile' alias mvncom='mvn compile'
alias mvnct='mvn clean test'
alias mvnt='mvn test' alias mvnt='mvn test'
alias mvnag='mvn archetype:generate' alias mvnag='mvn archetype:generate'
alias mvn-updates='mvn versions:display-dependency-updates' alias mvn-updates='mvn versions:display-dependency-updates'
alias mvntc7='mvn tomcat7:run' alias mvntc7='mvn tomcat7:run'
alias mvntc='mvn tomcat:run' alias mvntc='mvn tomcat:run'
alias mvnjetty='mvn jetty:run' alias mvnjetty='mvn jetty:run'
alias mvndt='mvn dependency:tree'
alias mvns='mvn site'
function listMavenCompletions { function listMavenCompletions {
reply=( reply=(
# common lifecycle # 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 # 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 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
@ -126,6 +129,10 @@ function listMavenCompletions {
tomcat6:run tomcat6:run-war tomcat6:run-war-only tomcat6:stop tomcat6:deploy tomcat6:undeploy tomcat6:run tomcat6:run-war tomcat6:run-war-only tomcat6:stop tomcat6:deploy tomcat6:undeploy
# tomcat7 # tomcat7
tomcat7:run tomcat7:run-war tomcat7:run-war-only tomcat7:deploy 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 # exec
exec:exec exec:java exec:exec exec:java
# versions # versions

View file

@ -3,7 +3,7 @@
function node-docs { function node-docs {
# get the open command # get the open command
local open_cmd local open_cmd
if [[ $(uname -s) == 'Darwin' ]]; then if [[ "$OSTYPE" = darwin* ]]; then
open_cmd='open' open_cmd='open'
else else
open_cmd='xdg-open' open_cmd='xdg-open'

View file

@ -174,12 +174,16 @@ function itunes() {
next|previous) next|previous)
opt="$opt track" opt="$opt track"
;; ;;
vol)
opt="set sound volume to $1" #$1 Due to the shift
;;
""|-h|--help) ""|-h|--help)
echo "Usage: itunes <option>" echo "Usage: itunes <option>"
echo "option:" echo "option:"
echo "\tlaunch|play|pause|stop|rewind|resume|quit" echo "\tlaunch|play|pause|stop|rewind|resume|quit"
echo "\tmute|unmute\tcontrol volume set" echo "\tmute|unmute\tcontrol volume set"
echo "\tnext|previous\tplay next or previous track" echo "\tnext|previous\tplay next or previous track"
echo "\tvol\tSet the volume, takes an argument from 0 to 100"
echo "\thelp\tshow this message and exit" echo "\thelp\tshow this message and exit"
return 0 return 0
;; ;;
@ -190,4 +194,3 @@ function itunes() {
esac esac
osascript -e "tell application \"iTunes\" to $opt" osascript -e "tell application \"iTunes\" to $opt"
} }

View file

@ -1,13 +1,16 @@
#compdef pass #compdef pass
#autoload #autoload
# Copyright (C) 2012: # Copyright (C) 2012 - 2014:
# Johan Venant <jvenant@invicem.pro> # Johan Venant <jvenant@invicem.pro>
# Brian Mattern <rephorm@rephorm.com> # Brian Mattern <rephorm@rephorm.com>
# Jason A. Donenfeld <Jason@zx2c4.com>. # Jason A. Donenfeld <Jason@zx2c4.com>.
# Santiago Borrazás <sanbor@gmail.com>
# All Rights Reserved. # 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 () { _pass () {
@ -23,8 +26,8 @@ _pass () {
case "${cmd}" in case "${cmd}" in
init) init)
_arguments : \ _arguments : \
"-r[re-encrypt existing passwords]" \ "-p[gpg-id will only be applied to this subfolder]" \
"--reencrypt[re-encrypt existing passwords]" "--path[gpg-id will only be applied to this subfolder]"
_pass_complete_keys _pass_complete_keys
;; ;;
ls|list|edit) ls|list|edit)
@ -43,9 +46,19 @@ _pass () {
"-n[don't include symbols in password]" \ "-n[don't include symbols in password]" \
"--no-symbols[don't include symbols in password]" \ "--no-symbols[don't include symbols in password]" \
"-c[copy password to the clipboard]" \ "-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 _pass_complete_entries_with_subdirs
;; ;;
cp|copy|mv|rename)
_arguments : \
"-f[force rename]" \
"--force[force rename]"
_pass_complete_entries_with_subdirs
;;
rm) rm)
_arguments : \ _arguments : \
"-f[force deletion]" \ "-f[force deletion]" \
@ -75,10 +88,14 @@ _pass () {
subcommands=( subcommands=(
"init:Initialize new password storage" "init:Initialize new password storage"
"ls:List passwords" "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" "show:Decrypt and print a password"
"insert:Insert a new password" "insert:Insert a new password"
"generate:Generate a new password using pwgen" "generate:Generate a new password using pwgen"
"edit:Edit a password with \$EDITOR" "edit:Edit a password with \$EDITOR"
"mv:Rename the password"
"cp:Copy the password"
"rm:Remove the password" "rm:Remove the password"
"git:Call git on the password store" "git:Call git on the password store"
"version:Output version information" "version:Output version information"
@ -101,7 +118,7 @@ _pass_cmd_show () {
_pass_complete_entries_helper () { _pass_complete_entries_helper () {
local IFS=$'\n' local IFS=$'\n'
local prefix="${PASSWORD_STORE_DIR:-$HOME/.password-store}" 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 () { _pass_complete_entries_with_subdirs () {
@ -117,3 +134,5 @@ _pass_complete_keys () {
# Extract names and email addresses from gpg --list-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') _values 'gpg keys' $(gpg2 --list-secret-keys --with-colons | cut -d : -f 10 | sort -u | sed '/^$/d')
} }
_pass

View file

@ -1,4 +1,4 @@
#compdef pip #compdef pip pip2 pip-2.7 pip3 pip-3.2 pip-3.3 pip-3.4
#autoload #autoload
# pip zsh completion, based on homebrew completion # pip zsh completion, based on homebrew completion

View file

@ -1,6 +1,8 @@
# Aliases to stop, start and restart Postgres # Aliases to control Postgres
# Paths noted below are for Postgress installed via Homebrew on OSX # Paths noted below are for Postgres installed via Homebrew on OSX
alias startpost='pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start' alias startpost='pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start'
alias stoppost='pg_ctl -D /usr/local/var/postgres stop -s -m fast' alias stoppost='pg_ctl -D /usr/local/var/postgres stop -s -m fast'
alias restartpost='stoppost && sleep 1 && startpost' alias restartpost='stoppost && sleep 1 && startpost'
alias reloadpost='pg_ctl reload -D /usr/local/var/postgres -s'
alias statuspost='pg_ctl status -D /usr/local/var/postgres -s'

View file

@ -10,7 +10,7 @@ _rake_refresh () {
_rake_does_task_list_need_generating () { _rake_does_task_list_need_generating () {
if [ ! -f .rake_tasks ]; then return 0; if [ ! -f .rake_tasks ]; then return 0;
else else
if [[ $(uname -s) == 'Darwin' ]]; then if [[ "$OSTYPE" = darwin* ]]; then
accurate=$(stat -f%m .rake_tasks) accurate=$(stat -f%m .rake_tasks)
changed=$(stat -f%m Rakefile) changed=$(stat -f%m Rakefile)
else else

View file

@ -7,7 +7,7 @@ _rbenv-from-homebrew-installed() {
} }
FOUND_RBENV=0 FOUND_RBENV=0
rbenvdirs=("$HOME/.rbenv" "/usr/local/rbenv" "/opt/rbenv") rbenvdirs=("$HOME/.rbenv" "/usr/local/rbenv" "/opt/rbenv" "/usr/local/opt/rbenv")
if _homebrew-installed && _rbenv-from-homebrew-installed ; then if _homebrew-installed && _rbenv-from-homebrew-installed ; then
rbenvdirs=($(brew --prefix rbenv) "${rbenvdirs[@]}") rbenvdirs=($(brew --prefix rbenv) "${rbenvdirs[@]}")
fi fi

View file

@ -10,3 +10,9 @@ compdef _repo rs='repo sync'
alias rsrra='repo sync ; repo rebase --auto-stash' alias rsrra='repo sync ; repo rebase --auto-stash'
compdef _repo rsrra='repo sync ; repo rebase --auto-stash' compdef _repo rsrra='repo sync ; repo rebase --auto-stash'
alias ru='repo upload'
compdef _repo ru='repo upload'
alias rst='repo status'
compdef _repo rst='repo status'

View file

@ -1,4 +1,4 @@
alias rsync-copy="rsync -av --progress -h" alias rsync-copy="rsync -avz --progress -h"
alias rsync-move="rsync -av --progress -h --remove-source-files" alias rsync-move="rsync -avz --progress -h --remove-source-files"
alias rsync-update="rsync -avu --progress -h" alias rsync-update="rsync -avzu --progress -h"
alias rsync-synchronize="rsync -avu --delete --progress -h" alias rsync-synchronize="rsync -avzu --delete --progress -h"

View file

@ -6,6 +6,7 @@ alias gemsets='rvm gemset list'
local ruby18='ruby-1.8.7' local ruby18='ruby-1.8.7'
local ruby19='ruby-1.9.3' local ruby19='ruby-1.9.3'
local ruby20='ruby-2.0.0' local ruby20='ruby-2.0.0'
local ruby21='ruby-2.1.2'
function rb18 { function rb18 {
if [ -z "$1" ]; then if [ -z "$1" ]; then
@ -40,6 +41,17 @@ function rb20 {
_rb20() {compadd `ls -1 $rvm_path/gems | grep "^$ruby20@" | sed -e "s/^$ruby20@//" | awk '{print $1}'`} _rb20() {compadd `ls -1 $rvm_path/gems | grep "^$ruby20@" | sed -e "s/^$ruby20@//" | awk '{print $1}'`}
compdef _rb20 rb20 compdef _rb20 rb20
function rb21 {
if [ -z "$1" ]; then
rvm use "$ruby21"
else
rvm use "$ruby21@$1"
fi
}
_rb21() {compadd `ls -1 $rvm_path/gems | grep "^$ruby21@" | sed -e "s/^$ruby21@//" | awk '{print $1}'`}
compdef _rb21 rb21
function rvm-update { function rvm-update {
rvm get head rvm get head
} }

View file

@ -1,7 +1,7 @@
# #
# INSTRUCTIONS # INSTRUCTIONS
# #
# To enabled agent forwarding support add the following to # To enable agent forwarding support add the following to
# your .zshrc file: # your .zshrc file:
# #
# zstyle :omz:plugins:ssh-agent agent-forwarding on # zstyle :omz:plugins:ssh-agent agent-forwarding on

3
plugins/sublime/sublime.plugin.zsh Executable file → Normal file
View file

@ -7,6 +7,7 @@ if [[ $('uname') == 'Linux' ]]; then
"/opt/sublime_text/sublime_text" "/opt/sublime_text/sublime_text"
"/usr/bin/sublime_text" "/usr/bin/sublime_text"
"/usr/local/bin/sublime_text" "/usr/local/bin/sublime_text"
"/usr/bin/subl"
) )
for _sublime_path in $_sublime_linux_paths; do for _sublime_path in $_sublime_linux_paths; do
if [[ -a $_sublime_path ]]; then if [[ -a $_sublime_path ]]; then
@ -16,7 +17,7 @@ if [[ $('uname') == 'Linux' ]]; then
fi fi
done done
elif [[ $('uname') == 'Darwin' ]]; then elif [[ "$OSTYPE" = darwin* ]]; then
local _sublime_darwin_paths > /dev/null 2>&1 local _sublime_darwin_paths > /dev/null 2>&1
_sublime_darwin_paths=( _sublime_darwin_paths=(
"/usr/local/bin/subl" "/usr/local/bin/subl"

View file

@ -1,21 +1,26 @@
# Symfony2 basic command completion # Symfony2 basic command completion
_symfony_console () {
echo "php $(find . -maxdepth 2 -mindepth 1 -name 'console' -type f | head -n 1)"
}
_symfony2_get_command_list () { _symfony2_get_command_list () {
php app/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 () { _symfony2 () {
if [ -f app/console ]; then compadd `_symfony2_get_command_list`
compadd `_symfony2_get_command_list`
fi
} }
compdef _symfony2 app/console compdef _symfony2 '`_symfony_console`'
compdef _symfony2 'app/console'
compdef _symfony2 'bin/console'
compdef _symfony2 sf compdef _symfony2 sf
#Alias #Alias
alias sf='php app/console' alias sf='`_symfony_console`'
alias sfcl='php app/console cache:clear' alias sfcl='sf cache:clear'
alias sfroute='php app/console router:debug' alias sfcw='sf cache:warmup'
alias sfgb='php app/console generate:bundle' alias sfroute='sf router:debug'
alias sfcontainer='sf container:debug'
alias sfgb='sf generate:bundle'

View file

@ -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

View file

@ -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
}

View file

@ -11,10 +11,12 @@ _arguments -C \
case $state in case $state in
cmds) cmds)
_values "tmuxinator command" \ _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]" \ "start[start a tmux session using project's tmuxinator config]" \
"open[create a new project file and open it in your editor]" \ "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]" \ "copy[copy source_project project file to a new project called new_project]" \
"delete[deletes the project called project_name]" \ "delete[deletes the project called project_name]" \
"debug[output the shell commands generated by a projet]" \
"implode[deletes all existing projects!]" \ "implode[deletes all existing projects!]" \
"list[list all existing projects]" \ "list[list all existing projects]" \
"doctor[look for problems in your configuration]" \ "doctor[look for problems in your configuration]" \
@ -24,9 +26,9 @@ case $state in
;; ;;
args) args)
case $line[1] in 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`) _configs=(`find ~/.tmuxinator -name \*.yml | cut -d/ -f5 | sed s:.yml::g`)
_values 'configs' $_configs [[ -n "$_configs" ]] && _values 'configs' $_configs
ret=0 ret=0
;; ;;
esac esac

View file

@ -8,6 +8,8 @@ _1st_arguments=(
'box:Box commands' 'box:Box commands'
'connect:Connects to a shared, remote Vagrant environment' 'connect:Connects to a shared, remote Vagrant environment'
'destroy:Destroys the vagrant environment' 'destroy:Destroys the vagrant environment'
'docker-logs:Shows Docker logs'
'docker-run:Run one-off commands against a Docker container'
'global-status:Reports the status of all active Vagrant environments on the system' 'global-status:Reports the status of all active Vagrant environments on the system'
'halt:Halts the currently running vagrant environment' 'halt:Halts the currently running vagrant environment'
'init:[box_name] [box_url] Initializes current folder for Vagrant usage' 'init:[box_name] [box_url] Initializes current folder for Vagrant usage'
@ -54,7 +56,8 @@ __box_list ()
__vm_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)}')
_wanted application expl 'command' compadd $(command ls .vagrant/machines/ 2>/dev/null)
} }
__vagrant-box () __vagrant-box ()

View file

@ -4,7 +4,7 @@ function vundle-init () {
mkdir -p ~/.vim/bundle/vundle/ mkdir -p ~/.vim/bundle/vundle/
fi fi
if [ ! -d ~/.vim/bundle/vundle/.git/ ] if [ ! -d ~/.vim/bundle/vundle/.git ] && [ ! -f ~/.vim/bundle/vundle/.git ]
then then
git clone http://github.com/gmarik/vundle.git ~/.vim/bundle/vundle git clone http://github.com/gmarik/vundle.git ~/.vim/bundle/vundle
echo "\n\tRead about vim configuration for vundle at https://github.com/gmarik/vundle\n" echo "\n\tRead about vim configuration for vundle at https://github.com/gmarik/vundle\n"

21
plugins/wd/LICENSE Normal file
View file

@ -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.

View file

@ -2,37 +2,39 @@
**Maintainer:** [mfaerevaag](https://github.com/mfaerevaag) **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 ### Usage
* Add warp point to current working directory: * 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. 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 .. * You can warp back to previous directory, and so on, with this dot syntax:
wd ...
$ wd ..
$ wd ...
This is a wrapper for the zsh `dirs` function. This is a wrapper for the zsh `dirs` function.
* Remove warp point test point: * Remove warp point test point:
wd rm test $ wd rm foo
* List warp points to current directory (stored in `~/.warprc`):
wd show
* List all warp points (stored in `~/.warprc`): * List all warp points (stored in `~/.warprc`):
wd ls $ wd ls
* List warp points to current directory
$ wd show
* Print usage with no opts or the `help` argument. * Print usage with no opts or the `help` argument.

View file

@ -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:*:warp_points' group-name warp_points
zstyle ':completion::complete:wd::' list-grouped zstyle ':completion::complete:wd::' list-grouped
# Call `_wd()` when when trying to complete the command `wd`
zmodload zsh/mapfile zmodload zsh/mapfile
function _wd() { function _wd() {
local ret=1
local CONFIG=$HOME/.warprc local CONFIG=$HOME/.warprc
local ret=1
# Stolen from
# http://stackoverflow.com/questions/9000698/completion-when-program-has-sub-commands
# local curcontext="$curcontext" state line
# typeset -A opt_args
local -a commands local -a commands
local -a warp_points 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=( commands=(
'add:Adds the current working directory to your warp points' 'add:Adds the current working directory to your warp points'

4
plugins/wd/wd.plugin.zsh Executable file → Normal file
View file

@ -1,7 +1,7 @@
#!/bin/zsh #!/bin/zsh
# WARP # WARP DIRECTORY
# ==== # ==============
# oh-my-zsh plugin # oh-my-zsh plugin
# #
# @github.com/mfaerevaag/wd # @github.com/mfaerevaag/wd

View file

@ -1,7 +1,7 @@
#!/bin/zsh #!/bin/zsh
# WARP # WARP DIRECTORY
# ==== # ==============
# Jump to custom directories in terminal # Jump to custom directories in terminal
# because `cd` takes too long... # because `cd` takes too long...
# #
@ -9,26 +9,28 @@
## variables ## variables
CONFIG=$HOME/.warprc readonly CONFIG=$HOME/.warprc
## colors # colors
BLUE="\033[96m" readonly BLUE="\033[96m"
GREEN="\033[92m" readonly GREEN="\033[92m"
YELLOW="\033[93m" readonly YELLOW="\033[93m"
RED="\033[91m" readonly RED="\033[91m"
NOC="\033[m" readonly NOC="\033[m"
## init
# check if config file exists # check if config file exists
if [[ ! -a $CONFIG ]] if [ ! -e $CONFIG ]
then then
# if not: create config file # if not, create config file
touch $CONFIG touch $CONFIG
fi fi
## load warp points # load warp points
typeset -A points typeset -A points
while read line while read -r line
do do
arr=(${(s,:,)line}) arr=(${(s,:,)line})
key=${arr[1]} key=${arr[1]}
@ -39,72 +41,78 @@ done < $CONFIG
## functions ## functions
# prepended wd_ to not conflict with your environment (no sub shell)
wd_warp() wd_warp()
{ {
if [[ $1 =~ "^\.+$" ]] local point=$1
if [[ $point =~ "^\.+$" ]]
then then
if [[ $#1 < 2 ]] if [ $#1 < 2 ]
then then
wd_print_msg $YELLOW "Warping to current directory?" wd_print_msg $YELLOW "Warping to current directory?"
else else
(( n = $#1 - 1 )) (( n = $#1 - 1 ))
#wd_print_msg $BLUE "Warping..."
cd -$n > /dev/null cd -$n > /dev/null
fi fi
elif [[ ${points[$1]} != "" ]] elif [[ ${points[$point]} != "" ]]
then then
#wd_print_msg $BLUE "Warping..." cd ${points[$point]}
cd ${points[$1]}
else else
wd_print_msg $RED "Unkown warp point '$1'" wd_print_msg $RED "Unknown warp point '${point}'"
fi fi
} }
wd_add() wd_add()
{ {
if [[ $2 =~ "^\.+$" || $2 =~ "^\s*$" ]] local force=$1
local point=$2
if [[ $point =~ "^[\.]+$" ]]
then then
wd_print_msg $RED "Illegal warp point (see README)." wd_print_msg $RED "Warp point cannot be just dots"
elif [[ ${points[$2]} == "" ]] || $1 elif [[ $point =~ "(\s|\ )+" ]]
then then
wd_remove $2 > /dev/null wd_print_msg $RED "Warp point should not contain whitespace"
print "$2:$PWD" >> $CONFIG elif [[ $point == *:* ]]
then
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" wd_print_msg $GREEN "Warp point added"
else 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 fi
} }
wd_remove() wd_remove()
{ {
if [[ ${points[$1]} != "" ]] local point=$1
if [[ ${points[$point]} != "" ]]
then then
if wd_tmp=`sed "/^$1:/d" $CONFIG` if sed -i.bak "s,^${point}:.*$,,g" $CONFIG
then then
# `>!` forces overwrite
# we need this if people use `setopt NO_CLOBBER`
echo $wd_tmp >! $CONFIG
wd_print_msg $GREEN "Warp point removed" wd_print_msg $GREEN "Warp point removed"
else else
wd_print_msg $RED "Warp point unsuccessfully removed. Sorry!" wd_print_msg $RED "Something bad happened! Sorry."
fi fi
else else
wd_print_msg $RED "Warp point was not found" wd_print_msg $RED "Warp point was not found"
fi fi
} }
wd_show()
{
wd_print_msg $BLUE "Warp points to current directory:"
wd_list_all | grep $PWD$
}
wd_list_all() wd_list_all()
{ {
wd_print_msg $BLUE "All warp points:" wd_print_msg $BLUE "All warp points:"
while read line
while IFS= read -r line
do do
if [[ $line != "" ]] if [[ $line != "" ]]
then then
@ -112,38 +120,52 @@ wd_list_all()
key=${arr[1]} key=${arr[1]}
val=${arr[2]} val=${arr[2]}
print "\t" $key "\t -> \t" $val printf "%20s -> %s\n" $key $val
fi 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() wd_print_msg()
{ {
if [[ $1 == "" || $2 == "" ]] local color=$1
local msg=$2
if [[ $color == "" || $msg == "" ]]
then then
print " $RED*$NOC Could not print message. Sorry!" print " ${RED}*${NOC} Could not print message. Sorry!"
else else
print " $1*$NOC $2" print " ${color}*${NOC} ${msg}"
fi fi
} }
wd_print_usage() wd_print_usage()
{ {
print "Usage: wd [add|-a|--add] [rm|-r|--remove] [ls|-l|--list] <point>" cat <<- EOF
print "\nCommands:" Usage: wd [add|-a|--add] [rm|-r|--remove] <point>
print "\t add \t Adds the current working directory to your warp points"
print "\t add! \t Overwrites existing warp point" Commands:
print "\t rm \t Removes the given warp point" add Adds the current working directory to your warp points
print "\t show \t Outputs warp points to current directory" add! Overwrites existing warp point
print "\t ls \t Outputs all stored warp points" rm Removes the given warp point
print "\t help \t Show this extremely helpful text" show Outputs warp points to current directory
ls Outputs all stored warp points
help Show this extremely helpful text
EOF
} }
## run ## run
# get opts # 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 # check if no arguments were given
if [[ $? -ne 0 || $#* -eq 0 ]] if [[ $? -ne 0 || $#* -eq 0 ]]
@ -151,19 +173,16 @@ then
wd_print_usage wd_print_usage
# check if config file is writeable # check if config file is writeable
elif [[ ! -w $CONFIG ]] elif [ ! -w $CONFIG ]
then then
wd_print_msg $RED "\'$CONFIG\' is not writeable." # do nothing
# do nothing => exit
# can't run `exit`, as this would exit the executing shell # can't run `exit`, as this would exit the executing shell
# i.e. your terminal wd_print_msg $RED "\'$CONFIG\' is not writeable."
else else
#set -- $args # WTF for o
for i
do do
case "$i" case "$o"
in in
-a|--add|add) -a|--add|add)
wd_add false $2 wd_add false $2
@ -190,7 +209,7 @@ else
break break
;; ;;
*) *)
wd_warp $i wd_warp $o
break break
;; ;;
--) --)
@ -200,10 +219,18 @@ else
done done
fi fi
## garbage collection ## garbage collection
# if not, next time warp will pick up variables from this run # if not, next time warp will pick up variables from this run
# remember, there's no sub shell # 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 args
unset points
unset val &> /dev/null # fixes issue #1 unset val &> /dev/null # fixes issue #1

View file

@ -1,10 +1,9 @@
# web_search from terminal # web_search from terminal
function web_search() { function web_search() {
# get the open command # get the open command
local open_cmd local open_cmd
if [[ $(uname -s) == 'Darwin' ]]; then if [[ "$OSTYPE" = darwin* ]]; then
open_cmd='open' open_cmd='open'
else else
open_cmd='xdg-open' open_cmd='xdg-open'
@ -38,8 +37,8 @@ function web_search() {
done done
url="${url%?}" # remove the last '+' url="${url%?}" # remove the last '+'
nohup $open_cmd "$url"
$open_cmd "$url" rm nohup.out
} }

105
plugins/wp-cli/README.md Normal file
View file

@ -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.

View file

@ -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'

View file

@ -1,6 +1,6 @@
#xc function courtesy of http://gist.github.com/subdigital/5420709 #xc function courtesy of http://gist.github.com/subdigital/5420709
function xc { function xc {
xcode_proj=`find . -name "*.xc*" -d 1 | sort -r | head -1` xcode_proj=`ls | grep "\.xc" | sort -r | head -1`
if [[ `echo -n $xcode_proj | wc -m` == 0 ]] if [[ `echo -n $xcode_proj | wc -m` == 0 ]]
then then
echo "No xcworkspace/xcodeproj file found in the current directory." echo "No xcworkspace/xcodeproj file found in the current directory."

View file

@ -1,10 +1,11 @@
# reload zshrc # reload zshrc
function src() function src()
{ {
local cache="$ZSH/cache"
autoload -U compinit zrecompile 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 zrecompile -p $f && command rm -f $f.zwc.old
done done

View file

@ -7,10 +7,6 @@ export ZSH=$HOME/.oh-my-zsh
# time that oh-my-zsh is loaded. # time that oh-my-zsh is loaded.
ZSH_THEME="robbyrussell" ZSH_THEME="robbyrussell"
# Example aliases
# alias zshconfig="mate ~/.zshrc"
# alias ohmyzsh="mate ~/.oh-my-zsh"
# Uncomment the following line to use case-sensitive completion. # Uncomment the following line to use case-sensitive completion.
# CASE_SENSITIVE="true" # CASE_SENSITIVE="true"
@ -26,8 +22,8 @@ ZSH_THEME="robbyrussell"
# Uncomment the following line to disable auto-setting terminal title. # Uncomment the following line to disable auto-setting terminal title.
# DISABLE_AUTO_TITLE="true" # DISABLE_AUTO_TITLE="true"
# Uncomment the following line to disable command auto-correction. # Uncomment the following line to enable command auto-correction.
# DISABLE_CORRECTION="true" # ENABLE_CORRECTION="true"
# Uncomment the following line to display red dots whilst waiting for completion. # Uncomment the following line to display red dots whilst waiting for completion.
# COMPLETION_WAITING_DOTS="true" # COMPLETION_WAITING_DOTS="true"
@ -48,6 +44,7 @@ ZSH_THEME="robbyrussell"
# Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*) # Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*)
# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/ # Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse) # Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup.
plugins=(git) plugins=(git)
source $ZSH/oh-my-zsh.sh source $ZSH/oh-my-zsh.sh
@ -72,3 +69,12 @@ export PATH=$HOME/bin:/usr/local/bin:$PATH
# ssh # ssh
# export SSH_KEY_PATH="~/.ssh/dsa_id" # export SSH_KEY_PATH="~/.ssh/dsa_id"
# Set personal aliases, overriding those provided by oh-my-zsh libs,
# plugins, and themes. Aliases can be placed here, though oh-my-zsh
# users are encouraged to define aliases within the ZSH_CUSTOM folder.
# For a full list of active aliases, run `alias`.
#
# Example aliases
# alias zshconfig="mate ~/.zshrc"
# alias ohmyzsh="mate ~/.oh-my-zsh"

View file

@ -32,11 +32,12 @@ function check_git_prompt_info() {
# Determine if we are using a gemset. # Determine if we are using a gemset.
function rvm_gemset() { function rvm_gemset() {
GEMSET=`rvm gemset list | grep '=>' | cut -b4-` if hash rvm 2>/dev/null; then
if [[ -n $GEMSET ]]; then GEMSET=`rvm gemset list | grep '=>' | cut -b4-`
echo "%{$fg[yellow]%}$GEMSET%{$reset_color%}|" if [[ -n $GEMSET ]]; then
fi echo "%{$fg[yellow]%}$GEMSET%{$reset_color%}|"
fi
fi
} }
# Determine the time since last commit. If branch is clean, # Determine the time since last commit. If branch is clean,

View file

@ -70,7 +70,7 @@ bureau_git_prompt () {
_PATH="%{$fg_bold[white]%}%~%{$reset_color%}" _PATH="%{$fg_bold[white]%}%~%{$reset_color%}"
if [[ "%#" == "#" ]]; then if [[ $EUID -eq 0 ]]; then
_USERNAME="%{$fg_bold[red]%}%n" _USERNAME="%{$fg_bold[red]%}%n"
_LIBERTY="%{$fg[red]%}#" _LIBERTY="%{$fg[red]%}#"
else else

View file

@ -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="╭─%{$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_PREFIX=" %{$FG[239]%}on%{$reset_color%} %{$fg[255]%}"
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}"

View file

@ -14,11 +14,11 @@ eval PR_NO_COLOR="%{$terminfo[sgr0]%}"
eval PR_BOLD="%{$terminfo[bold]%}" eval PR_BOLD="%{$terminfo[bold]%}"
# Check the UID # Check the UID
if [[ $UID -ge 1000 ]]; then # normal user if [[ $UID -ne 0 ]]; then # normal user
eval PR_USER='${PR_GREEN}%n${PR_NO_COLOR}' eval PR_USER='${PR_GREEN}%n${PR_NO_COLOR}'
eval PR_USER_OP='${PR_GREEN}%#${PR_NO_COLOR}' eval PR_USER_OP='${PR_GREEN}%#${PR_NO_COLOR}'
local PR_PROMPT='$PR_NO_COLOR➤ $PR_NO_COLOR' local PR_PROMPT='$PR_NO_COLOR➤ $PR_NO_COLOR'
elif [[ $UID -eq 0 ]]; then # root else # root
eval PR_USER='${PR_RED}%n${PR_NO_COLOR}' eval PR_USER='${PR_RED}%n${PR_NO_COLOR}'
eval PR_USER_OP='${PR_RED}%#${PR_NO_COLOR}' eval PR_USER_OP='${PR_RED}%#${PR_NO_COLOR}'
local PR_PROMPT='$PR_RED➤ $PR_NO_COLOR' local PR_PROMPT='$PR_RED➤ $PR_NO_COLOR'

View file

@ -51,8 +51,8 @@ zstyle ':vcs_info:*:prompt:*' check-for-changes true
PR_RST="%{${reset_color}%}" PR_RST="%{${reset_color}%}"
FMT_BRANCH=" on %{$turquoise%}%b%u%c${PR_RST}" FMT_BRANCH=" on %{$turquoise%}%b%u%c${PR_RST}"
FMT_ACTION=" performing a %{$limegreen%}%a${PR_RST}" FMT_ACTION=" performing a %{$limegreen%}%a${PR_RST}"
FMT_UNSTAGED="%{$orange%}●" FMT_UNSTAGED="%{$orange%} ●"
FMT_STAGED="%{$limegreen%}●" FMT_STAGED="%{$limegreen%} ●"
zstyle ':vcs_info:*:prompt:*' unstagedstr "${FMT_UNSTAGED}" zstyle ':vcs_info:*:prompt:*' unstagedstr "${FMT_UNSTAGED}"
zstyle ':vcs_info:*:prompt:*' stagedstr "${FMT_STAGED}" 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 # check for untracked files or updated submodules, since vcs_info doesn't
if [[ ! -z $(git ls-files --other --exclude-standard 2> /dev/null) ]]; then if [[ ! -z $(git ls-files --other --exclude-standard 2> /dev/null) ]]; then
PR_GIT_UPDATE=1 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 else
FMT_BRANCH="${PM_RST} on %{$turquoise%}%b%u%c${PR_RST}" FMT_BRANCH="${PM_RST} on %{$turquoise%}%b%u%c${PR_RST}"
fi fi
@ -95,5 +95,4 @@ function steeef_precmd {
} }
add-zsh-hook precmd steeef_precmd add-zsh-hook precmd steeef_precmd
PROMPT=$' 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%} '
%{$purple%}%n%{$reset_color%} in %{$limegreen%}%~%{$reset_color%}$(rvm-prompt " with%{$fg[red]%} " v g "%{$reset_color%}")$vcs_info_msg_0_%{$orange%} λ%{$reset_color%} '

View file

@ -12,7 +12,7 @@ prompt_setup_pygmalion(){
base_prompt_nocolor=$(echo "$base_prompt" | perl -pe "s/%\{[^}]+\}//g") base_prompt_nocolor=$(echo "$base_prompt" | perl -pe "s/%\{[^}]+\}//g")
post_prompt_nocolor=$(echo "$post_prompt" | perl -pe "s/%\{[^}]+\}//g") post_prompt_nocolor=$(echo "$post_prompt" | perl -pe "s/%\{[^}]+\}//g")
add-zsh-hook precmd prompt_pygmalion_precmd precmd_functions+=(prompt_pygmalion_precmd)
} }
prompt_pygmalion_precmd(){ prompt_pygmalion_precmd(){

View file

@ -81,7 +81,7 @@ add-zsh-hook chpwd steeef_chpwd
function steeef_precmd { function steeef_precmd {
if [[ -n "$PR_GIT_UPDATE" ]] ; then if [[ -n "$PR_GIT_UPDATE" ]] ; then
# check for untracked files or updated submodules, since vcs_info doesn't # check for untracked files or updated submodules, since vcs_info doesn't
if git ls-files --other --exclude-standard --directory 2> /dev/null | grep -q "."; then if git ls-files --other --exclude-standard 2> /dev/null | grep -q "."; then
PR_GIT_UPDATE=1 PR_GIT_UPDATE=1
FMT_BRANCH="(%{$turquoise%}%b%u%c%{$hotpink%}●${PR_RST})" FMT_BRANCH="(%{$turquoise%}%b%u%c%{$hotpink%}●${PR_RST})"
else else

View file

@ -1,4 +1,4 @@
PROMPT='%{$fg[green]%} %% ' PROMPT='%(?,%{$fg[green]%},%{$fg[red]%}) %% '
# RPS1='%{$fg[blue]%}%~%{$reset_color%} ' # RPS1='%{$fg[blue]%}%~%{$reset_color%} '
RPS1='%{$fg[white]%}%2~$(git_prompt_info) %{$fg_bold[blue]%}%m%{$reset_color%}' RPS1='%{$fg[white]%}%2~$(git_prompt_info) %{$fg_bold[blue]%}%m%{$reset_color%}'
@ -6,4 +6,3 @@ ZSH_THEME_GIT_PROMPT_PREFIX=" %{$fg[yellow]%}("
ZSH_THEME_GIT_PROMPT_SUFFIX=")%{$reset_color%}" ZSH_THEME_GIT_PROMPT_SUFFIX=")%{$reset_color%}"
ZSH_THEME_GIT_PROMPT_CLEAN="" ZSH_THEME_GIT_PROMPT_CLEAN=""
ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[red]%} ⚡%{$fg[yellow]%}" ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[red]%} ⚡%{$fg[yellow]%}"

View file

@ -5,11 +5,11 @@ function _current_epoch() {
} }
function _update_zsh_update() { function _update_zsh_update() {
echo "LAST_EPOCH=$(_current_epoch)" > ~/.zsh-update echo "LAST_EPOCH=$(_current_epoch)" >! ~/.zsh-update
} }
function _upgrade_zsh() { 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 the zsh file
_update_zsh_update _update_zsh_update
} }
@ -22,6 +22,10 @@ fi
[ -f ~/.profile ] && source ~/.profile [ -f ~/.profile ] && source ~/.profile
# Cancel upgrade if the current user doesn't have write permissions for the
# oh-my-zsh directory.
[[ -w "$ZSH" ]] || return 0
if [ -f ~/.zsh-update ] if [ -f ~/.zsh-update ]
then then
. ~/.zsh-update . ~/.zsh-update

View file

@ -10,7 +10,7 @@ if [ -d "$ZSH" ]; then
fi fi
echo "\033[0;34mCloning Oh My Zsh...\033[0m" 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" echo "git not installed"
exit exit
} }
@ -32,8 +32,10 @@ sed -i -e "/export PATH=/ c\\
export PATH=\"$PATH\" export PATH=\"$PATH\"
" ~/.zshrc " ~/.zshrc
echo "\033[0;34mTime to change your default shell to zsh!\033[0m" if [ "$SHELL" != "$(which zsh)" ]; then
chsh -s `which zsh` 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"
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 "\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;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" 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 . ~/.zshrc

View file

@ -9,8 +9,8 @@ then
printf '\033[0;32m%s\033[0m\n' '\____/_/ /_/ /_/ /_/ /_/\__, / /___/____/_/ /_/ ' printf '\033[0;32m%s\033[0m\n' '\____/_/ /_/ /_/ /_/ /_/\__, / /___/____/_/ /_/ '
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[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 else
printf '\033[0;31m%s\033[0m\n' 'There was an error updating. Try again later?' printf '\033[0;31m%s\033[0m\n' 'There was an error updating. Try again later?'
fi fi