Merge remote-tracking branch 'upstream/master'

This commit is contained in:
Amila Perera 2013-11-23 10:33:30 +05:30
commit 27d048aa57
10 changed files with 360 additions and 61 deletions

View File

@ -4,18 +4,6 @@ alias bp="bundle package"
alias bo="bundle open" alias bo="bundle open"
alias bu="bundle update" alias bu="bundle update"
bundler_version=`bundle version | cut -d' ' -f3`
if [[ $bundler_version > '1.4.0' || $bundler_version = '1.4.0' ]]; then
if [[ "$(uname)" == 'Darwin' ]]
then
local cores_num="$(sysctl hw.ncpu | awk '{print $2}')"
else
local cores_num="$(nproc)"
fi
eval "alias bi='bundle install --jobs=$cores_num'"
else
alias bi='bundle install'
fi
# The following is based on https://github.com/gma/bundler-exec # The following is based on https://github.com/gma/bundler-exec
@ -44,14 +32,28 @@ _run-with-bundler() {
fi fi
} }
## Main program if _bundler-installed; then
for cmd in $bundled_commands; do bundler_version=`bundle version | cut -d' ' -f3`
eval "function unbundled_$cmd () { $cmd \$@ }" if [[ $bundler_version > '1.4.0' || $bundler_version = '1.4.0' ]]; then
eval "function bundled_$cmd () { _run-with-bundler $cmd \$@}" if [[ "$(uname)" == 'Darwin' ]]
alias $cmd=bundled_$cmd then
local cores_num="$(sysctl hw.ncpu | awk '{print $2}')"
else
local cores_num="$(nproc)"
fi
eval "alias bi='bundle install --jobs=$cores_num'"
else
alias bi='bundle install'
fi
if which _$cmd > /dev/null 2>&1; then ## Main program
compdef _$cmd bundled_$cmd=$cmd for cmd in $bundled_commands; do
fi eval "function unbundled_$cmd () { $cmd \$@ }"
done eval "function bundled_$cmd () { _run-with-bundler $cmd \$@}"
alias $cmd=bundled_$cmd
if which _$cmd > /dev/null 2>&1; then
compdef _$cmd bundled_$cmd=$cmd
fi
done
fi

View File

@ -31,7 +31,7 @@ open_jira_issue () {
if [ -z "$1" ]; then if [ -z "$1" ]; then
echo "Opening new issue" echo "Opening new issue"
`open $jira_url/secure/CreateIssue!default.jspa` $open_cmd "$jira_url/secure/CreateIssue!default.jspa"
else else
echo "Opening issue #$1" echo "Opening issue #$1"
if [[ "x$JIRA_RAPID_BOARD" = "xtrue" ]]; then if [[ "x$JIRA_RAPID_BOARD" = "xtrue" ]]; then

View File

@ -6,8 +6,8 @@
_pip_all() { _pip_all() {
# we cache the list of packages (originally from the macports plugin) # we cache the list of packages (originally from the macports plugin)
if (( ! $+piplist )); then if (( ! $+piplist )); then
echo -n " (caching package index...)" zsh-pip-cache-packages
piplist=($(pip search * | cut -d ' ' -f 1 | tr '[A-Z]' '[a-z]')) piplist=($(cat $ZSH_PIP_CACHE_FILE))
fi fi
} }

View File

@ -0,0 +1,78 @@
# Usage:
# Just add pip to your installed plugins.
# If you would like to change the cheeseshops used for autocomplete set
# ZSH_PIP_INDEXES in your zshrc. If one of your indexes are bogus you won't get
# any kind of error message, pip will just not autocomplete from them. Double
# check!
#
# If you would like to clear your cache, go ahead and do a
# "zsh-pip-clear-cache".
ZSH_PIP_CACHE_FILE=~/.pip/zsh-cache
ZSH_PIP_INDEXES=(https://pypi.python.org/simple/)
zsh-pip-clear-cache() {
rm $ZSH_PIP_CACHE_FILE
unset piplist
}
zsh-pip-clean-packages() {
sed -nr '/<a href/ s/.*>([^<]+).*/\1/p'
}
zsh-pip-cache-packages() {
if [[ ! -d ${PIP_CACHE_FILE:h} ]]; then
mkdir -p ${PIP_CACHE_FILE:h}
fi
if [[ ! -f $ZSH_PIP_CACHE_FILE ]]; then
echo -n "(...caching package index...)"
tmp_cache=/tmp/zsh_tmp_cache
for index in $ZSH_PIP_INDEXES ; do
# well... I've already got two problems
curl $index 2>/dev/null | \
zsh-pip-clean-packages \
>> $tmp_cache
done
sort $tmp_cache | uniq | tr '\n' ' ' > $ZSH_PIP_CACHE_FILE
rm $tmp_cache
fi
}
# A test function that validates the regex against known forms of the simple
# index. If you modify the regex to make it work for you, you should add a test
# case in here and make sure that your changes don't break things for someone
# else.
zsh-pip-test-clean-packages() {
local expected
local actual
expected="0x10c-asm
1009558_nester"
actual=$(echo -n "<html><head><title>Simple Index</title><meta name=\"api-version\" value=\"2\" /></head><body>
<a href='0x10c-asm'>0x10c-asm</a><br/>
<a href='1009558_nester'>1009558_nester</a><br/>
</body></html>" | zsh-pip-clean-packages)
if [[ $actual != $expected ]] ; then
echo -e "python's simple index is broken:\n$actual\n !=\n$expected"
else
echo "python's simple index is fine"
fi
actual=$(echo -n '<html>
<head>
<title>Simple Package Index</title>
</head>
<body>
<a href="0x10c-asm">0x10c-asm</a><br/>
<a href="1009558_nester">1009558_nester</a><br/>
</body></html>' | zsh-pip-clean-packages)
if [[ $actual != $expected ]] ; then
echo -e "the djangopypi2 index is broken:\n$actual\n !=\n$expected"
else
echo "the djangopypi2 index is fine"
fi
}

View File

@ -3,18 +3,19 @@
# ----------------------------------------------------------------------------- # -----------------------------------------------------------------------------
# FILE: _pod # FILE: _pod
# DESCRIPTION: Cocoapods autocomplete plugin for Oh-My-Zsh # DESCRIPTION: Cocoapods (0.27.1) autocomplete plugin for Oh-My-Zsh
# http://cocoapods.org # http://cocoapods.org
# AUTHOR: Alexandre Joly (alexandre.joly@mekanics.ch) # AUTHOR: Alexandre Joly (alexandre.joly@mekanics.ch)
# GITHUB: https://github.com/mekanics # GITHUB: https://github.com/mekanics
# TWITTER: @jolyAlexandre # TWITTER: @jolyAlexandre
# VERSION: 0.0.1 # VERSION: 0.0.3
# LICENSE: MIT # LICENSE: MIT
# ----------------------------------------------------------------------------- # -----------------------------------------------------------------------------
local -a _1st_arguments local -a _1st_arguments
_1st_arguments=( _1st_arguments=(
'help:Show help for the given command.' 'help:Show help for the given command'
'init:Generate a Podfile for the current directory'
'install:Install project dependencies' 'install:Install project dependencies'
'ipc:Inter-process communication' 'ipc:Inter-process communication'
'list:List pods' 'list:List pods'
@ -32,6 +33,7 @@ local -a _repo_arguments
_repo_arguments=( _repo_arguments=(
'add:Add a spec repo' 'add:Add a spec repo'
'lint:Validates all specs in a repo' 'lint:Validates all specs in a repo'
'remove:Remove a spec repo.'
'update:Update a spec repo' 'update:Update a spec repo'
) )
@ -158,7 +160,7 @@ __first_command_list ()
} }
__repo_list() { __repo_list() {
_wanted application expl 'repo' compadd $(command ls -1 ~/.cocoapods 2>/dev/null | sed -e 's/ /\\ /g') _wanted application expl 'repo' compadd $(command ls -1 ~/.cocoapods/repos 2>/dev/null | sed -e 's/ /\\ /g')
} }
__pod-repo() { __pod-repo() {
@ -193,6 +195,12 @@ __pod-repo() {
(add) (add)
_arguments \ _arguments \
$_inherited_options $_inherited_options
(remove)
_arguments \
$_inherited_options \
':feature:__repo_list'
;;
esac esac
;; ;;
esac esac

View File

@ -6,6 +6,7 @@ alias pyfind='find . -name "*.py"'
function pyclean() { function pyclean() {
ZSH_PYCLEAN_PLACES=${*:-'.'} ZSH_PYCLEAN_PLACES=${*:-'.'}
find ${ZSH_PYCLEAN_PLACES} -type f -name "*.py[co]" -delete find ${ZSH_PYCLEAN_PLACES} -type f -name "*.py[co]" -delete
find ${ZSH_PYCLEAN_PLACES} -type d -name "__pycache__" -delete
} }
# Grep among .py files # Grep among .py files

9
plugins/wd2/wd2/wd.plugin.zsh Executable file
View File

@ -0,0 +1,9 @@
#!/bin/zsh
# WARP
# ====
# oh-my-zsh plugin
#
# @github.com/mfaerevaag/wd
alias wd='. ~/.oh-my-zsh/plugins/wd/wd.sh'

201
plugins/wd2/wd2/wd.sh Executable file
View File

@ -0,0 +1,201 @@
#!/bin/zsh
# WARP
# ====
# Jump to custom directories in terminal
# because `cd` takes too long...
#
# @github.com/mfaerevaag/wd
## variables
CONFIG=$HOME/.warprc
## colors
BLUE="\033[96m"
GREEN="\033[92m"
YELLOW="\033[93m"
RED="\033[91m"
NOC="\033[m"
## load warp points
typeset -A points
while read line
do
arr=(${(s,:,)line})
key=${arr[1]}
val=${arr[2]}
points[$key]=$val
done < $CONFIG
## functions
# prepended wd_ to not conflict with your environment (no sub shell)
wd_warp()
{
if [[ $1 =~ "^\.+$" ]]
then
if [[ $#1 < 2 ]]
then
wd_print_msg $YELLOW "Warping to current directory?"
else
(( n = $#1 - 1 ))
wd_print_msg $BLUE "Warping..."
cd -$n > /dev/null
fi
elif [[ ${points[$1]} != "" ]]
then
wd_print_msg $BLUE "Warping..."
cd ${points[$1]}
else
wd_print_msg $RED "Unkown warp point '$1'"
fi
}
wd_add()
{
if [[ $1 =~ "^\.+$" ]]
then
wd_print_msg $RED "Illeagal warp point (see README)."
elif [[ ${points[$1]} == "" ]] || $2
then
wd_remove $1 > /dev/null
print "$1:$PWD" >> $CONFIG
wd_print_msg $GREEN "Warp point added"
else
wd_print_msg $YELLOW "Warp point '$1' alredy exists. Use 'add!' to overwrite."
fi
}
wd_remove()
{
if [[ ${points[$1]} != "" ]]
then
if wd_tmp=`sed "/^$1:/d" $CONFIG`
then
echo $wd_tmp > $CONFIG
wd_print_msg $GREEN "Warp point removed"
else
wd_print_msg $RED "Warp point unsuccessfully removed. Sorry!"
fi
else
wd_print_msg $RED "Warp point was not found"
fi
}
wd_show()
{
wd_print_msg $BLUE "Warp points to current directory:"
wd_list_all | grep $PWD$
}
wd_list_all()
{
wd_print_msg $BLUE "All warp points:"
while read line
do
if [[ $line != "" ]]
then
arr=(${(s,:,)line})
key=${arr[1]}
val=${arr[2]}
print "\t" $key "\t -> \t" $val
fi
done < $CONFIG
}
wd_print_msg()
{
if [[ $1 == "" || $2 == "" ]]
then
print " $RED*$NOC Could not print message. Sorry!"
else
print " $1*$NOC $2"
fi
}
wd_print_usage()
{
print "Usage: wd [add|-a|--add] [rm|-r|--remove] [ls|-l|--list] <point>"
print "\nCommands:"
print "\t add \t Adds the current working directory to your warp points"
print "\t add! \t Overwrites existing warp point"
print "\t remove Removes the given warp point"
print "\t list \t Outputs all stored warp points"
print "\t help \t Show this extremely helpful text"
}
## run
# get opts
args=`getopt -o a:r:lhs -l add:,remove:,list,help,show -- $*`
if [[ $? -ne 0 || $#* -eq 0 ]]
then
wd_print_usage
else
# can't exit, as this would exit the excecuting shell
# e.i. your terminal
#set -- $args # WTF
for i
do
case "$i"
in
-a|--add|add)
wd_add $2 false
shift
shift
break
;;
-a!|--add!|add!)
wd_add $2 true
shift
shift
break
;;
-r|--remove|rm)
wd_remove $2
shift
shift
break
;;
-l|--list|ls)
wd_list_all
shift
break
;;
-h|--help|help)
wd_print_usage
shift
break
;;
-s|--show|show)
wd_show
shift
break
;;
*)
wd_warp $i
shift
break
;;
--)
shift; break;;
esac
done
fi
## garbage collection
# if not, next time warp will pick up variables from this run
# remember, there's no sub shell
points=""
args=""
unhash -d val &> /dev/null # fixes issue #1

View File

@ -95,38 +95,38 @@ prompt_git() {
} }
prompt_hg() { prompt_hg() {
local rev status local rev status
if $(hg id >/dev/null 2>&1); then if $(hg id >/dev/null 2>&1); then
if $(hg prompt >/dev/null 2>&1); then if $(hg prompt >/dev/null 2>&1); then
if [[ $(hg prompt "{status|unknown}") = "?" ]]; then if [[ $(hg prompt "{status|unknown}") = "?" ]]; then
# if files are not added # if files are not added
prompt_segment red white prompt_segment red white
st='±' st='±'
elif [[ -n $(hg prompt "{status|modified}") ]]; then elif [[ -n $(hg prompt "{status|modified}") ]]; then
# if any modification # if any modification
prompt_segment yellow black prompt_segment yellow black
st='±' st='±'
else else
# if working copy is clean # if working copy is clean
prompt_segment green black prompt_segment green black
fi fi
echo -n $(hg prompt "☿ {rev}@{branch}") $st echo -n $(hg prompt "☿ {rev}@{branch}") $st
else else
st="" st=""
rev=$(hg id -n 2>/dev/null | sed 's/[^-0-9]//g') rev=$(hg id -n 2>/dev/null | sed 's/[^-0-9]//g')
branch=$(hg id -b 2>/dev/null) branch=$(hg id -b 2>/dev/null)
if `hg st | grep -Eq "^\?"`; then if `hg st | grep -Eq "^\?"`; then
prompt_segment red black prompt_segment red black
st='±' st='±'
elif `hg st | grep -Eq "^(M|A)"`; then elif `hg st | grep -Eq "^(M|A)"`; then
prompt_segment yellow black prompt_segment yellow black
st='±' st='±'
else else
prompt_segment green black prompt_segment green black
fi fi
echo -n " $rev@$branch" $st echo -n "☿ $rev@$branch" $st
fi fi
fi fi
} }
# Dir: current working directory # Dir: current working directory
@ -137,7 +137,7 @@ prompt_dir() {
# Virtualenv: current working virtualenv # Virtualenv: current working virtualenv
prompt_virtualenv() { prompt_virtualenv() {
local virtualenv_path="$VIRTUAL_ENV" local virtualenv_path="$VIRTUAL_ENV"
if [[ -n $virtualenv_path && -z $VIRTUAL_ENV_DISABLE_PROMPT ]]; then if [[ -n $virtualenv_path && -n $VIRTUAL_ENV_DISABLE_PROMPT ]]; then
prompt_segment blue black "(`basename $virtualenv_path`)" prompt_segment blue black "(`basename $virtualenv_path`)"
fi fi
} }