From fdb3c0e68d36d20d1b75163755d568d42def5ac1 Mon Sep 17 00:00:00 2001 From: Anton Eicher Date: Wed, 19 Dec 2012 07:22:03 -0800 Subject: [PATCH 001/107] Added check for .git directory in current, before wasting time querying git. This saves seconds on my pc. --- plugins/git/git.plugin.zsh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/plugins/git/git.plugin.zsh b/plugins/git/git.plugin.zsh index 154aa6db1..79300a166 100644 --- a/plugins/git/git.plugin.zsh +++ b/plugins/git/git.plugin.zsh @@ -73,12 +73,14 @@ alias gsd='git svn dcommit' # Usage example: git pull origin $(current_branch) # function current_branch() { + if [ ! -d .git ]; then return; fi ref=$(git symbolic-ref HEAD 2> /dev/null) || \ ref=$(git rev-parse --short HEAD 2> /dev/null) || return echo ${ref#refs/heads/} } function current_repository() { + if [ ! -d .git ]; then return; fi ref=$(git symbolic-ref HEAD 2> /dev/null) || \ ref=$(git rev-parse --short HEAD 2> /dev/null) || return echo $(git remote -v | cut -d':' -f 2) From 9674a96b5bc296a767c2560757626bf2bc3a9ad3 Mon Sep 17 00:00:00 2001 From: Frank Louwers Date: Wed, 13 Feb 2013 12:02:36 +0100 Subject: [PATCH 002/107] [pj-plugin] delete ugly ls -l | awk print $9 thing to use something not depending on date format + add support for projects with spaces in them --- plugins/pj/pj.plugin.zsh | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/plugins/pj/pj.plugin.zsh b/plugins/pj/pj.plugin.zsh index ba3765b83..b98bfec34 100644 --- a/plugins/pj/pj.plugin.zsh +++ b/plugins/pj/pj.plugin.zsh @@ -18,8 +18,11 @@ function pj() { file=$1 if [[ "open" == "$file" ]] then - file=$2 + shift + file=$* cmd=(${(s: :)EDITOR}) + else + file=$* fi for project in $PROJECT_PATHS; do @@ -36,7 +39,14 @@ function pj() { alias pjo="pj open" function _pj () { - compadd `/bin/ls -l $PROJECT_PATHS 2>/dev/null | awk '{ print $9 }'` + # might be possible to improve this using glob, without the basename trick + typeset -a projects + foreach i ($PROJECT_PATHS/*) + do + projects+=`basename $i` + done + + _arguments '*:file:($projects)' } compdef _pj pj From df67f2ee30dbad61117e1886b0a4de326cb6daf7 Mon Sep 17 00:00:00 2001 From: Frank Louwers Date: Wed, 13 Feb 2013 13:39:47 +0100 Subject: [PATCH 003/107] [pj-plugin] avoid using basename. migth be (a lot?) faster --- plugins/pj/pj.plugin.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/pj/pj.plugin.zsh b/plugins/pj/pj.plugin.zsh index b98bfec34..dac561189 100644 --- a/plugins/pj/pj.plugin.zsh +++ b/plugins/pj/pj.plugin.zsh @@ -43,7 +43,7 @@ function _pj () { typeset -a projects foreach i ($PROJECT_PATHS/*) do - projects+=`basename $i` + projects+=(${i##*/}) done _arguments '*:file:($projects)' From d608fbfc7fcabf9994f8064e67670e69130d2ee1 Mon Sep 17 00:00:00 2001 From: Riyad Preukschas Date: Tue, 15 Oct 2013 14:34:03 +0200 Subject: [PATCH 004/107] Make the virtualenv plugin themable --- plugins/virtualenv/virtualenv.plugin.zsh | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/plugins/virtualenv/virtualenv.plugin.zsh b/plugins/virtualenv/virtualenv.plugin.zsh index 8e06450b1..e250eb63e 100644 --- a/plugins/virtualenv/virtualenv.plugin.zsh +++ b/plugins/virtualenv/virtualenv.plugin.zsh @@ -1,7 +1,6 @@ function virtualenv_prompt_info(){ - if [[ -n $VIRTUAL_ENV ]]; then - printf "%s[%s] " "%{${fg[yellow]}%}" ${${VIRTUAL_ENV}:t} - fi + [[ -n ${VIRTUAL_ENV} ]] || return + echo "${ZSH_THEME_VIRTUALENV_PREFIX:=[}${VIRTUAL_ENV:t}${ZSH_THEME_VIRTUALENV_SUFFIX:=]}" } # disables prompt mangling in virtual_env/bin/activate From 9b811fb625c03c30a766191cdf65a1c7c1fd96b2 Mon Sep 17 00:00:00 2001 From: Michael Orr Date: Fri, 6 Dec 2013 17:31:35 -0500 Subject: [PATCH 005/107] accidentally blew away a git config setting used for another purpose, renaming in order to distinguish --- lib/git.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/git.zsh b/lib/git.zsh index 305a77aff..a1396653b 100644 --- a/lib/git.zsh +++ b/lib/git.zsh @@ -13,7 +13,7 @@ parse_git_dirty() { local SUBMODULE_SYNTAX='' local GIT_STATUS='' local CLEAN_MESSAGE='nothing to commit (working directory clean)' - if [[ "$(command git config --get oh-my-zsh.hide-status)" != "1" ]]; then + if [[ "$(command git config --get oh-my-zsh.hide-dirty)" != "1" ]]; then if [[ $POST_1_7_2_GIT -gt 0 ]]; then SUBMODULE_SYNTAX="--ignore-submodules=dirty" fi From 3976b93f3931a7ebc913576015ff395dcd495d95 Mon Sep 17 00:00:00 2001 From: Daniel Farrell Date: Sun, 23 Mar 2014 15:59:35 -0400 Subject: [PATCH 006/107] Fixed which output at each new shell creation --- themes/gallois.zsh-theme | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/themes/gallois.zsh-theme b/themes/gallois.zsh-theme index f1057a9a9..f31d21958 100644 --- a/themes/gallois.zsh-theme +++ b/themes/gallois.zsh-theme @@ -18,7 +18,7 @@ else if which rbenv &> /dev/null; then RPS1='$(git_custom_status)%{$fg[red]%}[`rbenv version | sed -e "s/ (set.*$//"`]%{$reset_color%} $EPS1' else - if [[ -n `which chruby_prompt_info` && -n `chruby_prompt_info` ]]; then + if [[ -n `which chruby_prompt_info &> /dev/null` && -n `chruby_prompt_info` ]]; then RPS1='$(git_custom_status)%{$fg[red]%}[`chruby_prompt_info`]%{$reset_color%} $EPS1' else RPS1='$(git_custom_status) $EPS1' From b2ce306c4f49ebb1ef2bde5b86d553ce6ea674aa Mon Sep 17 00:00:00 2001 From: Daniel Farrell Date: Tue, 25 Mar 2014 23:37:28 -0400 Subject: [PATCH 007/107] Simplified gallois RPS1 setup using some helpful scripts --- themes/gallois.zsh-theme | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) diff --git a/themes/gallois.zsh-theme b/themes/gallois.zsh-theme index f31d21958..d383ed583 100644 --- a/themes/gallois.zsh-theme +++ b/themes/gallois.zsh-theme @@ -11,19 +11,11 @@ git_custom_status() { fi } -#RVM and git settings -if [[ -s ~/.rvm/scripts/rvm ]] ; then - RPS1='$(git_custom_status)%{$fg[red]%}[`~/.rvm/bin/rvm-prompt`]%{$reset_color%} $EPS1' -else - if which rbenv &> /dev/null; then - RPS1='$(git_custom_status)%{$fg[red]%}[`rbenv version | sed -e "s/ (set.*$//"`]%{$reset_color%} $EPS1' - else - if [[ -n `which chruby_prompt_info &> /dev/null` && -n `chruby_prompt_info` ]]; then - RPS1='$(git_custom_status)%{$fg[red]%}[`chruby_prompt_info`]%{$reset_color%} $EPS1' - else - RPS1='$(git_custom_status) $EPS1' - fi - fi -fi +# RVM component of prompt +ZSH_THEME_RVM_PROMPT_PREFIX="%{$fg[red]%}[" +ZSH_THEME_RVM_PROMPT_SUFFIX="]%{$reset_color%}" + +# Combine it all into a final right-side prompt +RPS1='$(git_custom_status)$(ruby_prompt_info) $EPS1' PROMPT='%{$fg[cyan]%}[%~% ]%(?.%{$fg[green]%}.%{$fg[red]%})%B$%b ' From bce74975d055529cbd186782e2fd99e6da840460 Mon Sep 17 00:00:00 2001 From: Frank Louwers Date: Wed, 28 May 2014 13:57:25 +0200 Subject: [PATCH 008/107] =?UTF-8?q?drop=20the=20foreach,=20make=20it=20eve?= =?UTF-8?q?n=20shorter.=20thanks=20Marc=20Cornell=C3=A0!?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- plugins/pj/pj.plugin.zsh | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/plugins/pj/pj.plugin.zsh b/plugins/pj/pj.plugin.zsh index dac561189..f9cbddf1a 100644 --- a/plugins/pj/pj.plugin.zsh +++ b/plugins/pj/pj.plugin.zsh @@ -41,11 +41,8 @@ alias pjo="pj open" function _pj () { # might be possible to improve this using glob, without the basename trick typeset -a projects - foreach i ($PROJECT_PATHS/*) - do - projects+=(${i##*/}) - done - + projects=($PROJECT_PATHS/*) + projects=$projects:t _arguments '*:file:($projects)' } From 676fb4e4203eae0f3755a729a6582eb32fe9834f Mon Sep 17 00:00:00 2001 From: Simon Buchan Date: Thu, 3 Jul 2014 13:14:02 +1200 Subject: [PATCH 009/107] Fix parse_git_dirty() when status.branch is set. --- lib/git.zsh | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/lib/git.zsh b/lib/git.zsh index b0e73bf3a..8742a857a 100644 --- a/lib/git.zsh +++ b/lib/git.zsh @@ -10,23 +10,20 @@ function git_prompt_info() { # Checks if working tree is dirty parse_git_dirty() { - local SUBMODULE_SYNTAX='' - local GIT_STATUS='' - local CLEAN_MESSAGE='nothing to commit (working directory clean)' + local STATUS='' + local FLAGS + FLAGS=('--porcelain') if [[ "$(command git config --get oh-my-zsh.hide-status)" != "1" ]]; then if [[ $POST_1_7_2_GIT -gt 0 ]]; then - SUBMODULE_SYNTAX="--ignore-submodules=dirty" + FLAGS+='--ignore-submodules=dirty' fi if [[ "$DISABLE_UNTRACKED_FILES_DIRTY" == "true" ]]; then - GIT_STATUS=$(command git status -s ${SUBMODULE_SYNTAX} -uno 2> /dev/null | tail -n1) - else - GIT_STATUS=$(command git status -s ${SUBMODULE_SYNTAX} 2> /dev/null | tail -n1) - fi - if [[ -n $GIT_STATUS ]]; then - echo "$ZSH_THEME_GIT_PROMPT_DIRTY" - else - echo "$ZSH_THEME_GIT_PROMPT_CLEAN" + FLAGS+='--untracked-files=no' fi + STATUS=$(command git status ${FLAGS} 2> /dev/null | tail -n1) + fi + if [[ -n $STATUS ]]; then + echo "$ZSH_THEME_GIT_PROMPT_DIRTY" else echo "$ZSH_THEME_GIT_PROMPT_CLEAN" fi From 2927ce37141d52a8b4e2ca1e60d0cf0688125781 Mon Sep 17 00:00:00 2001 From: Simon Buchan Date: Thu, 3 Jul 2014 14:45:49 +1200 Subject: [PATCH 010/107] Fix POST_1_7_2_GIT check for parse_git_dirty submodules. --- lib/git.zsh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/git.zsh b/lib/git.zsh index 8742a857a..55ed94a3d 100644 --- a/lib/git.zsh +++ b/lib/git.zsh @@ -124,12 +124,16 @@ function git_compare_version() { INSTALLED_GIT_VERSION=(${(s/./)INSTALLED_GIT_VERSION[3]}); for i in {1..3}; do + if [[ $INSTALLED_GIT_VERSION[$i] -gt $INPUT_GIT_VERSION[$i] ]]; then + echo 1 + return 0 + fi if [[ $INSTALLED_GIT_VERSION[$i] -lt $INPUT_GIT_VERSION[$i] ]]; then echo -1 return 0 fi done - echo 1 + echo 0 } #this is unlikely to change so make it all statically assigned From 5e328e3a9c0784521ae4170f7958183c352bae83 Mon Sep 17 00:00:00 2001 From: Moinak Ghosh Date: Fri, 11 Jul 2014 18:41:49 +0530 Subject: [PATCH 011/107] Solaris portability tweaks. --- lib/completion.zsh | 7 ++++++- oh-my-zsh.sh | 1 + plugins/colored-man/colored-man.plugin.zsh | 21 +++++++++++++++++++++ tools/check_for_upgrade.sh | 8 +++++++- 4 files changed, 35 insertions(+), 2 deletions(-) diff --git a/lib/completion.zsh b/lib/completion.zsh index fa1d97f48..faea36118 100644 --- a/lib/completion.zsh +++ b/lib/completion.zsh @@ -25,7 +25,12 @@ bindkey -M menuselect '^o' accept-and-infer-next-history zstyle ':completion:*:*:*:*:*' menu select zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#) ([0-9a-z-]#)*=01;34=0=01' -zstyle ':completion:*:*:*:*:processes' command "ps -u `whoami` -o pid,user,comm -w -w" +if [ "$PLAT" = "SunOS" ] +then + zstyle ':completion:*:*:*:*:processes' command "ps -u `whoami` -o pid,user,comm" +else + zstyle ':completion:*:*:*:*:processes' command "ps -u `whoami` -o pid,user,comm -w -w" +fi # disable named-directories autocompletion zstyle ':completion:*:cd:*' tag-order local-directories directory-stack path-directories diff --git a/oh-my-zsh.sh b/oh-my-zsh.sh index c217b91bb..4683c2bc0 100644 --- a/oh-my-zsh.sh +++ b/oh-my-zsh.sh @@ -1,3 +1,4 @@ +PLAT=`uname -s` # Check for updates on initial load... if [ "$DISABLE_AUTO_UPDATE" != "true" ]; then /usr/bin/env ZSH=$ZSH DISABLE_UPDATE_PROMPT=$DISABLE_UPDATE_PROMPT zsh -f $ZSH/tools/check_for_upgrade.sh diff --git a/plugins/colored-man/colored-man.plugin.zsh b/plugins/colored-man/colored-man.plugin.zsh index 56056284a..4956f4346 100644 --- a/plugins/colored-man/colored-man.plugin.zsh +++ b/plugins/colored-man/colored-man.plugin.zsh @@ -1,3 +1,21 @@ +if [ "${PLAT}" = "SunOS" ] +then + if [ ! -x ${HOME}/bin/nroff ] + then + mkdir -p ${HOME}/bin + cat > ${HOME}/bin/nroff < Date: Tue, 15 Jul 2014 17:42:30 +0200 Subject: [PATCH 012/107] [wd] v0.3.1: Improved completion and bug fixes --- plugins/wd/README.md | 28 +++---- plugins/wd/_wd.sh | 15 +--- plugins/wd/wd.plugin.zsh | 4 +- plugins/wd/wd.sh | 159 +++++++++++++++++++++++---------------- 4 files changed, 114 insertions(+), 92 deletions(-) diff --git a/plugins/wd/README.md b/plugins/wd/README.md index f9f4e7ac1..bc0ebe334 100644 --- a/plugins/wd/README.md +++ b/plugins/wd/README.md @@ -2,37 +2,39 @@ **Maintainer:** [mfaerevaag](https://github.com/mfaerevaag) -`wd` (warp directory) lets you jump to custom directories in zsh, without using cd. Why? Because cd seems ineffecient when the folder is frequently visited or has a long path. [Source](https://github.com/mfaerevaag/wd) +`wd` (*warp directory*) lets you jump to custom directories in zsh, without using `cd`. Why? Because `cd` seems ineffecient when the folder is frequently visited or has a long path. [Source](https://github.com/mfaerevaag/wd) ### Usage * Add warp point to current working directory: - wd add test + $ wd add foo If a warp point with the same name exists, use `add!` to overwrite it. - * From an other directory, warp to test with: + Note, a warp point cannot contain colons, or only consist of only spaces and dots. The first will conflict in how `wd` stores the warp points, and the second will conflict other features, as below. - wd test + * From an other directory (not necessarily), warp to `foo` with: - * You can warp back to previous directory, and so on, with the puncticulation syntax: + $ wd foo - wd .. - wd ... + * You can warp back to previous directory, and so on, with this dot syntax: + + $ wd .. + $ wd ... This is a wrapper for the zsh `dirs` function. * Remove warp point test point: - wd rm test - - * List warp points to current directory (stored in `~/.warprc`): - - wd show + $ wd rm foo * 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. diff --git a/plugins/wd/_wd.sh b/plugins/wd/_wd.sh index 29df63520..0b03d8fff 100644 --- a/plugins/wd/_wd.sh +++ b/plugins/wd/_wd.sh @@ -5,23 +5,16 @@ zstyle ':completion::complete:wd:*:commands' group-name commands zstyle ':completion::complete:wd:*:warp_points' group-name warp_points zstyle ':completion::complete:wd::' list-grouped -# Call `_wd()` when when trying to complete the command `wd` - zmodload zsh/mapfile + function _wd() { - local ret=1 local CONFIG=$HOME/.warprc - - # Stolen from - # http://stackoverflow.com/questions/9000698/completion-when-program-has-sub-commands - - # local curcontext="$curcontext" state line - # typeset -A opt_args + local ret=1 local -a commands local -a warp_points - warp_points=( "${(f)mapfile[$CONFIG]}" ) - # LIST="${mapfile[$FNAME]}" # Not required unless stuff uses it + + warp_points=( "${(f)mapfile[$CONFIG]//$HOME/~}" ) commands=( 'add:Adds the current working directory to your warp points' diff --git a/plugins/wd/wd.plugin.zsh b/plugins/wd/wd.plugin.zsh index 9800335fc..c0559293d 100644 --- a/plugins/wd/wd.plugin.zsh +++ b/plugins/wd/wd.plugin.zsh @@ -1,7 +1,7 @@ #!/bin/zsh -# WARP -# ==== +# WARP DIRECTORY +# ============== # oh-my-zsh plugin # # @github.com/mfaerevaag/wd diff --git a/plugins/wd/wd.sh b/plugins/wd/wd.sh index 9ebad6808..dfb9ad89a 100755 --- a/plugins/wd/wd.sh +++ b/plugins/wd/wd.sh @@ -1,7 +1,7 @@ #!/bin/zsh -# WARP -# ==== +# WARP DIRECTORY +# ============== # Jump to custom directories in terminal # because `cd` takes too long... # @@ -9,26 +9,28 @@ ## variables -CONFIG=$HOME/.warprc +readonly CONFIG=$HOME/.warprc -## colors -BLUE="\033[96m" -GREEN="\033[92m" -YELLOW="\033[93m" -RED="\033[91m" -NOC="\033[m" +# colors +readonly BLUE="\033[96m" +readonly GREEN="\033[92m" +readonly YELLOW="\033[93m" +readonly RED="\033[91m" +readonly NOC="\033[m" +## init + # check if config file exists -if [[ ! -a $CONFIG ]] +if [ ! -e $CONFIG ] then - # if not: create config file - touch $CONFIG + # if not, create config file + touch $CONFIG fi -## load warp points +# load warp points typeset -A points -while read line +while read -r line do arr=(${(s,:,)line}) key=${arr[1]} @@ -39,72 +41,78 @@ done < $CONFIG ## functions -# prepended wd_ to not conflict with your environment (no sub shell) wd_warp() { - if [[ $1 =~ "^\.+$" ]] + local point=$1 + + if [[ $point =~ "^\.+$" ]] then - if [[ $#1 < 2 ]] + if [ $#1 < 2 ] then wd_print_msg $YELLOW "Warping to current directory?" else (( n = $#1 - 1 )) - #wd_print_msg $BLUE "Warping..." cd -$n > /dev/null fi - elif [[ ${points[$1]} != "" ]] + elif [[ ${points[$point]} != "" ]] then - #wd_print_msg $BLUE "Warping..." - cd ${points[$1]} + cd ${points[$point]} else - wd_print_msg $RED "Unknown warp point '$1'" + wd_print_msg $RED "Unknown warp point '${point}'" fi } wd_add() { - if [[ $2 =~ "^\.+$" || $2 =~ "^\s*$" ]] + local force=$1 + local point=$2 + + if [[ $point =~ "^[\.]+$" ]] then - wd_print_msg $RED "Illegal warp point (see README)." - elif [[ ${points[$2]} == "" ]] || $1 + wd_print_msg $RED "Warp point cannot be just dots" + elif [[ $point =~ "(\s|\ )+" ]] then - wd_remove $2 > /dev/null - print "$2:$PWD" >> $CONFIG + wd_print_msg $RED "Warp point should not contain whitespace" + 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" else - wd_print_msg $YELLOW "Warp point '$2' already exists. Use 'add!' to overwrite." + wd_print_msg $YELLOW "Warp point '${point}' already exists. Use 'add!' to overwrite." fi } wd_remove() { - if [[ ${points[$1]} != "" ]] + local point=$1 + + if [[ ${points[$point]} != "" ]] then - if wd_tmp=`sed "/^$1:/d" $CONFIG` + if sed -i.bak "s,^${point}:.*$,,g" $CONFIG then - # `>!` forces overwrite - # we need this if people use `setopt NO_CLOBBER` - echo $wd_tmp >! $CONFIG wd_print_msg $GREEN "Warp point removed" else - wd_print_msg $RED "Warp point unsuccessfully removed. Sorry!" + wd_print_msg $RED "Something bad happened! Sorry." fi else wd_print_msg $RED "Warp point was not found" fi } -wd_show() -{ - wd_print_msg $BLUE "Warp points to current directory:" - wd_list_all | grep $PWD$ -} - wd_list_all() { wd_print_msg $BLUE "All warp points:" - while read line + + while IFS= read -r line do if [[ $line != "" ]] then @@ -112,38 +120,52 @@ wd_list_all() key=${arr[1]} val=${arr[2]} - print "\t" $key "\t -> \t" $val + printf "%20s -> %s\n" $key $val fi - done < $CONFIG + done <<< $(sed "s:${HOME}:~:g" $CONFIG) +} + +wd_show() +{ + local cwd=$(print $PWD | sed "s:^${HOME}:~:") + + wd_print_msg $BLUE "Warp points to current directory:" + wd_list_all | grep -e "${cwd}$" } wd_print_msg() { - if [[ $1 == "" || $2 == "" ]] + local color=$1 + local msg=$2 + + if [[ $color == "" || $msg == "" ]] then - print " $RED*$NOC Could not print message. Sorry!" + print " ${RED}*${NOC} Could not print message. Sorry!" else - print " $1*$NOC $2" + print " ${color}*${NOC} ${msg}" fi } wd_print_usage() { - print "Usage: wd [add|-a|--add] [rm|-r|--remove] [ls|-l|--list] " - print "\nCommands:" - print "\t add \t Adds the current working directory to your warp points" - print "\t add! \t Overwrites existing warp point" - print "\t rm \t Removes the given warp point" - print "\t show \t Outputs warp points to current directory" - print "\t ls \t Outputs all stored warp points" - print "\t help \t Show this extremely helpful text" + cat <<- EOF +Usage: wd [add|-a|--add] [rm|-r|--remove] + +Commands: + add Adds the current working directory to your warp points + add! Overwrites existing warp point + rm Removes the given warp point + show Outputs warp points to current directory + ls Outputs all stored warp points + help Show this extremely helpful text +EOF } ## run # get opts -args=`getopt -o a:r:lhs -l add:,rm:,ls,help,show -- $*` +args=$(getopt -o a:r:lhs -l add:,rm:,ls,help,show -- $*) # check if no arguments were given if [[ $? -ne 0 || $#* -eq 0 ]] @@ -151,19 +173,16 @@ then wd_print_usage # check if config file is writeable -elif [[ ! -w $CONFIG ]] +elif [ ! -w $CONFIG ] then - wd_print_msg $RED "\'$CONFIG\' is not writeable." - # do nothing => exit + # do nothing # can't run `exit`, as this would exit the executing shell - # i.e. your terminal + wd_print_msg $RED "\'$CONFIG\' is not writeable." else - #set -- $args # WTF - - for i + for o do - case "$i" + case "$o" in -a|--add|add) wd_add false $2 @@ -190,7 +209,7 @@ else break ;; *) - wd_warp $i + wd_warp $o break ;; --) @@ -200,10 +219,18 @@ else done fi - ## garbage collection # if not, next time warp will pick up variables from this run # remember, there's no sub shell -unset points + +unset wd_warp +unset wd_add +unset wd_remove +unset wd_show +unset wd_list_all +unset wd_print_msg +unset wd_print_usage + unset args +unset points unset val &> /dev/null # fixes issue #1 From bf134e9cb390c7ff464c1278782084bef2fae141 Mon Sep 17 00:00:00 2001 From: Christopher Kochan Date: Tue, 15 Jul 2014 12:37:53 -0700 Subject: [PATCH 013/107] Fix for recusion limit hit for _rake_command alias --- plugins/rails/rails.plugin.zsh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/rails/rails.plugin.zsh b/plugins/rails/rails.plugin.zsh index fb46cdcf0..824658e44 100644 --- a/plugins/rails/rails.plugin.zsh +++ b/plugins/rails/rails.plugin.zsh @@ -6,7 +6,7 @@ function _rails_command () { elif [ -e "script/server" ]; then ruby script/$@ else - rails $@ + command rails $@ fi } @@ -14,7 +14,7 @@ function _rake_command () { if [ -e "bin/rake" ]; then bin/rake $@ else - rake $@ + command rake $@ fi } From a6b655fae9640873c1629abe7ba25f4823f4b714 Mon Sep 17 00:00:00 2001 From: Markus Faerevaag Date: Fri, 30 May 2014 10:21:16 +0200 Subject: [PATCH 014/107] [wd] v0.2.2: Added MIT-License --- plugins/wd/LICENSE | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 plugins/wd/LICENSE diff --git a/plugins/wd/LICENSE b/plugins/wd/LICENSE new file mode 100644 index 000000000..8caa6c6ce --- /dev/null +++ b/plugins/wd/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2014 Markus Færevaag + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file From 5756ea0101dc60f5c5d3874a4a5baf58647aec9d Mon Sep 17 00:00:00 2001 From: ncanceill Date: Tue, 8 Jul 2014 16:49:05 +0200 Subject: [PATCH 015/107] Revert "specify python2 in shebang" "/usr/bin/python2" does not exist on Mac OSX (see #2382), so fuck people who have "python" symlinked to "python3" This reverts commit e5ed07e2b5740346d2a32b3a47204612d8808723 --- plugins/git-prompt/gitstatus.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/git-prompt/gitstatus.py b/plugins/git-prompt/gitstatus.py index c665a9ee1..256841432 100644 --- a/plugins/git-prompt/gitstatus.py +++ b/plugins/git-prompt/gitstatus.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python2 +#!/usr/bin/env python # -*- coding: UTF-8 -*- from subprocess import Popen, PIPE import re From 7478b754a1e53a6c058d7807700869474b68bb21 Mon Sep 17 00:00:00 2001 From: ncanceill Date: Fri, 25 Apr 2014 00:48:37 +0200 Subject: [PATCH 016/107] make sure cache dir exists, just like log dir --- cache/.easter-egg | 4 ++++ plugins/zsh_reload/zsh_reload.plugin.zsh | 5 +++-- 2 files changed, 7 insertions(+), 2 deletions(-) create mode 100644 cache/.easter-egg diff --git a/cache/.easter-egg b/cache/.easter-egg new file mode 100644 index 000000000..4b6164edb --- /dev/null +++ b/cache/.easter-egg @@ -0,0 +1,4 @@ +This file is only here so that Git will keep a cache directory as .gitignore is ignoring all the files within it. + +Feel free to add love notes for people here. + diff --git a/plugins/zsh_reload/zsh_reload.plugin.zsh b/plugins/zsh_reload/zsh_reload.plugin.zsh index 94945bd48..3f44b99c6 100644 --- a/plugins/zsh_reload/zsh_reload.plugin.zsh +++ b/plugins/zsh_reload/zsh_reload.plugin.zsh @@ -1,10 +1,11 @@ # reload zshrc function src() { + local cache="$ZSH/cache" autoload -U compinit zrecompile - compinit -d "$ZSH/cache/zcomp-$HOST" + compinit -d "$cache/zcomp-$HOST" - for f in ~/.zshrc "$ZSH/cache/zcomp-$HOST"; do + for f in ~/.zshrc "$cache/zcomp-$HOST"; do zrecompile -p $f && command rm -f $f.zwc.old done From 39a1e2a083872ccca63fcc9ead44834627c176cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20K=C3=B6stlin?= Date: Wed, 11 Jul 2012 14:29:54 +0200 Subject: [PATCH 017/107] gem plugin: added _files to install command is useful if you want to install a local gem from the filesystem --- plugins/gem/_gem | 2 ++ 1 file changed, 2 insertions(+) diff --git a/plugins/gem/_gem b/plugins/gem/_gem index 25967f1e7..92feebe95 100644 --- a/plugins/gem/_gem +++ b/plugins/gem/_gem @@ -59,6 +59,8 @@ case "$words[1]" in build) _files -g "*.gemspec" ;; + install) + _files ;; list) if [[ "$state" == forms ]]; then _gem_installed From bb928b59c409feacc660a64e800ce9129c058104 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ben=20Z=C3=B6rb?= Date: Thu, 17 Jul 2014 11:27:00 +0200 Subject: [PATCH 018/107] #2914 fixed symfony2 autocomplete --- plugins/symfony2/symfony2.plugin.zsh | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/plugins/symfony2/symfony2.plugin.zsh b/plugins/symfony2/symfony2.plugin.zsh index 1d5177e6d..c8c102eee 100644 --- a/plugins/symfony2/symfony2.plugin.zsh +++ b/plugins/symfony2/symfony2.plugin.zsh @@ -1,23 +1,24 @@ # Symfony2 basic command completion +_symfony_console () { + echo "php $(find . -maxdepth 2 -mindepth 1 -name 'console')" +} + _symfony2_get_command_list () { - php $(find . -maxdepth 2 -mindepth 1 -name 'console') --no-ansi | sed "1,/Available commands/d" | awk '/^ [a-z]+/ { print $1 }' + `_symfony_console` --no-ansi | sed "1,/Available commands/d" | awk '/^ [a-z]+/ { print $1 }' } _symfony2 () { - if [ -f $(find . -maxdepth 2 -mindepth 1 -name 'console') ]; then - compadd `_symfony2_get_command_list` - fi + compadd `_symfony2_get_command_list` } -compdef _symfony2 $(find . -maxdepth 2 -mindepth 1 -name 'console') +compdef _symfony2 '`_symfony_console`' compdef _symfony2 sf #Alias -alias sf='php $(find . -maxdepth 2 -mindepth 1 -name 'console') ' -alias sfcl='php $(find . -maxdepth 2 -mindepth 1 -name 'console') cache:clear' -alias sfcw='php $(find . -maxdepth 2 -mindepth 1 -name 'console') cache:warmup' -alias sfroute='php $(find . -maxdepth 2 -mindepth 1 -name 'console') router:debug' -alias sfcontainer='php $(find . -maxdepth 2 -mindepth 1 -name 'console') container:debug' -alias sfgb='php $(find . -maxdepth 2 -mindepth 1 -name 'console') generate:bundle' - +alias sf='`_symfony_console`' +alias sfcl='sf cache:clear' +alias sfcw='sf cache:warmup' +alias sfroute='sf router:debug' +alias sfcontainer='sf container:debug' +alias sfgb='sf generate:bundle' \ No newline at end of file From 73212ded4ee70c010a92eb7a126daa20c7453cba Mon Sep 17 00:00:00 2001 From: Elliott Williams Date: Mon, 21 Jul 2014 11:15:09 -0400 Subject: [PATCH 019/107] Fix osx function: "not valid in this context" I have been continually having problems with the "trash" function provided by the osx plugin, getting this error: trash:local:2: not valid in this context: It seems like adding quotes around the assignment in [osx.plugin.zsh#L142](https://github.com/robbyrussell/oh-my-zsh/blob/master/plugins/osx/osx.plugin.zsh#L142) fixed my problem. Does this look good to you? Thanks! --- plugins/osx/osx.plugin.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/osx/osx.plugin.zsh b/plugins/osx/osx.plugin.zsh index a63f0ee05..2eea0d8ef 100644 --- a/plugins/osx/osx.plugin.zsh +++ b/plugins/osx/osx.plugin.zsh @@ -139,7 +139,7 @@ function man-preview() { function trash() { local trash_dir="${HOME}/.Trash" - local temp_ifs=$IFS + local temp_ifs="$IFS" IFS=$'\n' for item in "$@"; do if [[ -e "$item" ]]; then From 0e00f0b0342cc088c1c3d4163787efb8433b8ea1 Mon Sep 17 00:00:00 2001 From: Shammel Lee Date: Tue, 22 Jul 2014 13:25:04 -0400 Subject: [PATCH 020/107] typo line 1: of => or --- plugins/forklift/forklift.plugin.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/forklift/forklift.plugin.zsh b/plugins/forklift/forklift.plugin.zsh index b0e60a434..692ca5790 100644 --- a/plugins/forklift/forklift.plugin.zsh +++ b/plugins/forklift/forklift.plugin.zsh @@ -1,4 +1,4 @@ -# Open folder in ForkLift.app of ForkLift2.app from console +# Open folder in ForkLift.app or ForkLift2.app from console # Author: Adam Strzelecki nanoant.com, modified by Bodo Tasche bitboxer.de # Updated to support ForkLift2 by Johan Kaving # From 00b21d5ac322178b9b9e397b0b6178a3d7f4e9ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20Ho=CC=88ltje?= Date: Wed, 23 Apr 2014 09:41:09 -0400 Subject: [PATCH 021/107] Trust but verify 'scutil' to return ComputerName Apparently, it is possible to set up a Mac such that `scutil --get ComputerName` hasn't been set. This change checks if that fails and falls back to the original mechanism. Closes #2155 Closes #2183 --- oh-my-zsh.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/oh-my-zsh.sh b/oh-my-zsh.sh index c217b91bb..8ce29ff38 100644 --- a/oh-my-zsh.sh +++ b/oh-my-zsh.sh @@ -38,9 +38,9 @@ for plugin ($plugins); do done # Figure out the SHORT hostname -if [ -n "$commands[scutil]" ]; then - # OS X - SHORT_HOST=$(scutil --get ComputerName) +if [[ "$OSTYPE" = darwin* ]]; then + # OS X's $HOST changes with dhcp, etc. Use ComputerName if possible. + SHORT_HOST=$(scutil --get ComputerName 2>/dev/null) || SHORT_HOST=${HOST/.*/} else SHORT_HOST=${HOST/.*/} fi From 63bae2aba9c43a70bbb374fc46e287d7bc46cc54 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20Ho=CC=88ltje?= Date: Wed, 23 Apr 2014 10:13:26 -0400 Subject: [PATCH 022/107] Use $OSTYPE instead of uname to speed things up The $OSTYPE variable is set at ZSH compile time and can be safely used to determine the OS of the system. e.g. darwin (os x) --- plugins/battery/battery.plugin.zsh | 2 +- plugins/bundler/bundler.plugin.zsh | 2 +- plugins/jira/jira.plugin.zsh | 2 +- plugins/node/node.plugin.zsh | 2 +- plugins/rake-fast/rake-fast.plugin.zsh | 2 +- plugins/sublime/sublime.plugin.zsh | 2 +- plugins/web-search/web-search.plugin.zsh | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/plugins/battery/battery.plugin.zsh b/plugins/battery/battery.plugin.zsh index 32dd4b624..014bb15dd 100644 --- a/plugins/battery/battery.plugin.zsh +++ b/plugins/battery/battery.plugin.zsh @@ -8,7 +8,7 @@ # Modified to add support for Apple Mac # ########################################### -if [[ $(uname) == "Darwin" ]] ; then +if [[ "$OSTYPE" = darwin* ]] ; then function battery_pct() { local smart_battery_status="$(ioreg -rc "AppleSmartBattery")" diff --git a/plugins/bundler/bundler.plugin.zsh b/plugins/bundler/bundler.plugin.zsh index 617dcde71..ba3d3f623 100644 --- a/plugins/bundler/bundler.plugin.zsh +++ b/plugins/bundler/bundler.plugin.zsh @@ -54,7 +54,7 @@ bundle_install() { if _bundler-installed && _within-bundled-project; then local bundler_version=`bundle version | cut -d' ' -f3` if [[ $bundler_version > '1.4.0' || $bundler_version = '1.4.0' ]]; then - if [[ "$(uname)" == 'Darwin' ]] + if [[ "$OSTYPE" = darwin* ]] then local cores_num="$(sysctl hw.ncpu | awk '{print $2}')" else diff --git a/plugins/jira/jira.plugin.zsh b/plugins/jira/jira.plugin.zsh index 3d510e430..e4881151e 100644 --- a/plugins/jira/jira.plugin.zsh +++ b/plugins/jira/jira.plugin.zsh @@ -12,7 +12,7 @@ # jira ABC-123 # Opens an existing issue open_jira_issue () { local open_cmd - if [[ $(uname -s) == 'Darwin' ]]; then + if [[ "$OSTYPE" = darwin* ]]; then open_cmd='open' else open_cmd='xdg-open' diff --git a/plugins/node/node.plugin.zsh b/plugins/node/node.plugin.zsh index 2d78f2b4c..39d8b10d9 100644 --- a/plugins/node/node.plugin.zsh +++ b/plugins/node/node.plugin.zsh @@ -3,7 +3,7 @@ function node-docs { # get the open command local open_cmd - if [[ $(uname -s) == 'Darwin' ]]; then + if [[ "$OSTYPE" = darwin* ]]; then open_cmd='open' else open_cmd='xdg-open' diff --git a/plugins/rake-fast/rake-fast.plugin.zsh b/plugins/rake-fast/rake-fast.plugin.zsh index cb84f69a1..cfc9a079f 100644 --- a/plugins/rake-fast/rake-fast.plugin.zsh +++ b/plugins/rake-fast/rake-fast.plugin.zsh @@ -10,7 +10,7 @@ _rake_refresh () { _rake_does_task_list_need_generating () { if [ ! -f .rake_tasks ]; then return 0; else - if [[ $(uname -s) == 'Darwin' ]]; then + if [[ "$OSTYPE" = darwin* ]]; then accurate=$(stat -f%m .rake_tasks) changed=$(stat -f%m Rakefile) else diff --git a/plugins/sublime/sublime.plugin.zsh b/plugins/sublime/sublime.plugin.zsh index 438f386fb..5acc75cc7 100644 --- a/plugins/sublime/sublime.plugin.zsh +++ b/plugins/sublime/sublime.plugin.zsh @@ -17,7 +17,7 @@ if [[ $('uname') == 'Linux' ]]; then fi done -elif [[ $('uname') == 'Darwin' ]]; then +elif [[ "$OSTYPE" = darwin* ]]; then local _sublime_darwin_paths > /dev/null 2>&1 _sublime_darwin_paths=( "/usr/local/bin/subl" diff --git a/plugins/web-search/web-search.plugin.zsh b/plugins/web-search/web-search.plugin.zsh index 8eedb90ee..f056e38e8 100644 --- a/plugins/web-search/web-search.plugin.zsh +++ b/plugins/web-search/web-search.plugin.zsh @@ -4,7 +4,7 @@ function web_search() { # get the open command local open_cmd - if [[ $(uname -s) == 'Darwin' ]]; then + if [[ "$OSTYPE" = darwin* ]]; then open_cmd='open' else open_cmd='xdg-open' From db3dd6d755776daf19b55f6a1cae080ae684030a Mon Sep 17 00:00:00 2001 From: Guerki Date: Tue, 29 Jul 2014 09:21:10 +0200 Subject: [PATCH 023/107] Run Web-search as a Background Process with Nohup --- plugins/web-search/web-search.plugin.zsh | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/plugins/web-search/web-search.plugin.zsh b/plugins/web-search/web-search.plugin.zsh index 8eedb90ee..e157a389d 100644 --- a/plugins/web-search/web-search.plugin.zsh +++ b/plugins/web-search/web-search.plugin.zsh @@ -1,7 +1,6 @@ # web_search from terminal function web_search() { - # get the open command local open_cmd if [[ $(uname -s) == 'Darwin' ]]; then @@ -38,8 +37,8 @@ function web_search() { done url="${url%?}" # remove the last '+' - - $open_cmd "$url" + nohup $open_cmd "$url" + rm nohup.out } From 0174feef0d57ac4110d2603ce2a25a5de4739414 Mon Sep 17 00:00:00 2001 From: Abhas Mittal Date: Thu, 31 Jul 2014 18:24:01 +0530 Subject: [PATCH 024/107] Update README.textile Added instructions for installing zsh (due to the problems with first time zsh users) --- README.textile | 1 + 1 file changed, 1 insertion(+) diff --git a/README.textile b/README.textile index 28bab6b2c..143e87cab 100644 --- a/README.textile +++ b/README.textile @@ -7,6 +7,7 @@ bq. "OH MY ZSHELL!" h2. Setup @oh-my-zsh@ should work with any recent release of "zsh":http://www.zsh.org/, the minimum recommended version is 4.3.9. +You can install zsh using the command: @sudo apt-get install zsh@. h3. The automatic installer... (do you trust me?) From fbdacbfb1ae586af1008fe561bc3962d78a5973f Mon Sep 17 00:00:00 2001 From: Abhas Mittal Date: Thu, 31 Jul 2014 18:32:57 +0530 Subject: [PATCH 025/107] Update README.textile --- README.textile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.textile b/README.textile index 143e87cab..5900c95d8 100644 --- a/README.textile +++ b/README.textile @@ -7,7 +7,7 @@ bq. "OH MY ZSHELL!" h2. Setup @oh-my-zsh@ should work with any recent release of "zsh":http://www.zsh.org/, the minimum recommended version is 4.3.9. -You can install zsh using the command: @sudo apt-get install zsh@. +If not already, install zsh using the command line first. h3. The automatic installer... (do you trust me?) From e5ac5009a4c5efbc1b9916d74d082ffc32761a4c Mon Sep 17 00:00:00 2001 From: Adam Poskitt Date: Thu, 31 Jul 2014 21:30:15 +0100 Subject: [PATCH 026/107] Update rvm.plugin.zsh Ruby 2.1.1 -> Ruby 2.1.2. --- plugins/rvm/rvm.plugin.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/rvm/rvm.plugin.zsh b/plugins/rvm/rvm.plugin.zsh index ad23e18d7..234ac1642 100644 --- a/plugins/rvm/rvm.plugin.zsh +++ b/plugins/rvm/rvm.plugin.zsh @@ -6,7 +6,7 @@ alias gemsets='rvm gemset list' local ruby18='ruby-1.8.7' local ruby19='ruby-1.9.3' local ruby20='ruby-2.0.0' -local ruby21='ruby-2.1.1' +local ruby21='ruby-2.1.2' function rb18 { if [ -z "$1" ]; then From 80323ec4c3497e49c8294752e96b033426ae09db Mon Sep 17 00:00:00 2001 From: Josh Medeski Date: Thu, 31 Jul 2014 19:37:22 -0500 Subject: [PATCH 027/107] WP-CLI plugin init --- plugins/wp-cli/wp-cli.plugin.zsh | 138 +++++++++++++++++++++++++++++++ 1 file changed, 138 insertions(+) create mode 100644 plugins/wp-cli/wp-cli.plugin.zsh diff --git a/plugins/wp-cli/wp-cli.plugin.zsh b/plugins/wp-cli/wp-cli.plugin.zsh new file mode 100644 index 000000000..5d9551e24 --- /dev/null +++ b/plugins/wp-cli/wp-cli.plugin.zsh @@ -0,0 +1,138 @@ +# WP-CLI +# A command line interface for WordPress +# http://wp-cli.org/ + +# Cache + +# Cap + +# CLI + +# Comment + +# Core +alias wpcc='wp core config' +alias wpcd='wp core download' +alias wpci='wp core install' +alias wpcii='wp core is-installed' +alias wpcmc='wp core multisite-convert' +alias wpcmi='wp core multisite-install' +alias wpcu='wp core update' +alias wpcudb='wp core update-db' +alias wpcvc='wp core verify-checksums' + +# Cron +alias wpcre='wp cron event' +alias wpcrs='wp cron schedule' +alias wpcrt='wp cron test' + +# Db + +# Eval + +# Eval-File + +# Export + +# Help + +# Import + +# Media + +# Menu +alias wpmc='wp menu create' +alias wpmd='wp menu delete' +alias wpmi='wp menu item' +alias wpml='wp menu list' +alias wpmlo='wp menu location' + +# Network + +# Option + +# Plugin +alias wppa='activate' +alias wppda='deactivate' +alias wppd='delete' +alias wppg='get' +alias wppi='install' +alias wppis='is-installed' +alias wppl='list' +alias wppp='path' +alias wpps='search' +alias wppst='status' +alias wppt='toggle' +alias wppu='uninstall' +alias wppu='update' + +# Post +alias wppoc='wp post create' +alias wppod='wp post delete' +alias wppoe='wp post edit' +alias wppogen='wp post generate' +alias wppog='wp post get' +alias wppol='wp post list' +alias wppom='wp post meta' +alias wppou='wp post update' +alias wppou='wp post url' + +# Rewrite + +# Role + +# Scaffold + +# Search-Replace + +# Shell + +# Sidebar +alias wpsbl='wp sidebar list' + +# Site + +# Super-Admin + +# Term + +# Theme +alias wpta='wp theme activate' +alias wptd='wp theme delete' +alias wptdis='wp theme disable' +alias wpte='wp theme enable' +alias wptg='wp theme get' +alias wpti='wp theme install' +alias wptis='wp theme is-installed' +alias wptl='wp theme list' +alias wptm='wp theme mod' +alias wptp='wp theme path' +alias wpts='wp theme search' +alias wptst='wp theme status' +alias wptu='wp theme updatet' + +# Transient + +# User +alias wpuac='wp user add-cap' +alias wpuar='wp user add-role' +alias wpuc='wp user create' +alias wpud='wp user delete' +alias wpugen='wp user generate' +alias wpug='wp user get' +alias wpui='wp user import-csv' +alias wpul='wp user list' +alias wpulc='wp user list-caps' +alias wpum='wp user meta' +alias wpurc='wp user remove-cap' +alias wpurr='wp user remove-role' +alias wpusr='wp user set-role' +alias wpuu='wp user update' + +# Widget +alias wpwa='wp widget add' +alias wpwda='wp widget deactivate' +alias wpwd='wp widget delete' +alias wpwl='wp widget list' +alias wpwm='wp widget move' +alias wpwu='wp widget update' From 961ca143b81fe5d15f67bd3a61fe174e41e155b5 Mon Sep 17 00:00:00 2001 From: Carlos Chacin Date: Fri, 1 Aug 2014 01:59:45 -0400 Subject: [PATCH 028/107] TomEE maven plugin + integration-test in common life-cycle --- plugins/mvn/mvn.plugin.zsh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/plugins/mvn/mvn.plugin.zsh b/plugins/mvn/mvn.plugin.zsh index a70625fcf..0c4f77162 100644 --- a/plugins/mvn/mvn.plugin.zsh +++ b/plugins/mvn/mvn.plugin.zsh @@ -64,7 +64,7 @@ alias mvns='mvn site' function listMavenCompletions { reply=( # common lifecycle - clean process-resources compile process-test-resources test-compile test package verify install deploy site + clean process-resources compile process-test-resources test-compile test integration-test package verify install deploy site # common plugins deploy failsafe install site surefire checkstyle javadoc jxr pmd ant antrun archetype assembly dependency enforcer gpg help release repository source eclipse idea jetty cargo jboss tomcat tomcat6 tomcat7 exec versions war ear ejb android scm buildnumber nexus repository sonar license hibernate3 liquibase flyway gwt @@ -129,6 +129,8 @@ function listMavenCompletions { tomcat6:run tomcat6:run-war tomcat6:run-war-only tomcat6:stop tomcat6:deploy tomcat6:undeploy # tomcat7 tomcat7:run tomcat7:run-war tomcat7:run-war-only tomcat7:deploy + # tomee + tomee:run tomee:run-war tomee:run-war-only tomee:stop tomee:deploy tomee:undeploy # spring-boot spring-boot:run spring-boot:repackage # exec From 4f1ee6c1eed04345c458458006a15381d35d8080 Mon Sep 17 00:00:00 2001 From: Jim Remsik Date: Fri, 1 Aug 2014 20:16:33 -0500 Subject: [PATCH 029/107] Add gap (git add --patch) --- plugins/git/git.plugin.zsh | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/git/git.plugin.zsh b/plugins/git/git.plugin.zsh index 9f7819df3..44c4617fb 100644 --- a/plugins/git/git.plugin.zsh +++ b/plugins/git/git.plugin.zsh @@ -70,6 +70,7 @@ alias gss='git status -s' compdef _git gss=git-status alias ga='git add' compdef _git ga=git-add +alias gap='git add --patch' alias gm='git merge' compdef _git gm=git-merge alias grh='git reset HEAD' From 397a9f7b7bfd88678c5b10d2c3e96c0768677434 Mon Sep 17 00:00:00 2001 From: Adam Poskitt Date: Sat, 2 Aug 2014 11:43:32 +0100 Subject: [PATCH 030/107] Update README.textile --- README.textile | 84 +++++++++++++++++++++++++------------------------- 1 file changed, 42 insertions(+), 42 deletions(-) diff --git a/README.textile b/README.textile index 5900c95d8..09cff2135 100644 --- a/README.textile +++ b/README.textile @@ -1,111 +1,111 @@ !https://s3.amazonaws.com/ohmyzsh/oh-my-zsh-logo.png! -oh-my-zsh is an open source, community-driven framework for managing your ZSH configuration. It comes bundled with a ton of helpful functions, helpers, plugins, themes, and few things that make you shout... +@oh-my-zsh@ is an open source, community-driven framework for managing your "Zsh":http://www.zsh.org/ configuration. + +It comes bundled with a ton of helpful functions, helpers, plugins, themes, and a few things that make you shout… bq. "OH MY ZSHELL!" h2. Setup -@oh-my-zsh@ should work with any recent release of "zsh":http://www.zsh.org/, the minimum recommended version is 4.3.9. -If not already, install zsh using the command line first. +@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@ -h4. via @wget@ +h4. via @wget@: @wget --no-check-certificate http://install.ohmyz.sh -O - | sh@ -h4. Optional: change the install directory +h4. *Optionally*, change the install directory: The default location is @~/.oh-my-zsh@ (hidden in your home directory). -You can change the install directory with the ZSH environment variable, either -by running @export ZSH=/your/path@ before installing, or setting it before the -end of the install pipeline like this: +You can change the install directory with the @ZSH@ environment variable, either by running @export ZSH=/your/path@ before installing, or by setting it before the end of the install pipeline like this: @curl -L https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh | ZSH=~/.dotfiles/zsh sh@ - h3. The manual way -1. Clone the repository +1. Clone the repository: - @git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh@ +@git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh@ -2. *OPTIONAL* Backup your existing @~/.zshrc@ file +2. *Optionally*, backup your existing @~/.zshrc@ file: - @cp ~/.zshrc ~/.zshrc.orig@ +@cp ~/.zshrc ~/.zshrc.orig@ -3. Create a new zsh config by copying the zsh template we've provided. +3. Create a new "Zsh":http://www.zsh.org/ config file by copying the "Zsh":http://www.zsh.org/ template we've provided: - @cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc@ +@cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc@ -4. Set zsh as your default shell: +4. Set "Zsh":http://www.zsh.org/ as your default shell: - @chsh -s /bin/zsh@ +@chsh -s /bin/zsh@ -5. Start / restart zsh (open a new terminal is easy enough...) +5. Start or restart "Zsh":http://www.zsh.org/ by opening a new command-line window. h3. Problems? -You _might_ need to modify your @PATH@ in @~/.zshrc@ if you're not able to find some commands after switching to _Oh My Zsh_. +You _might_ need to modify your @PATH@ in @~/.zshrc@ if you're not able to find some commands after switching to @oh-my-zsh@. -If you installed manually or changed the install location, check ZSH in @~/.zshrc@ +If you installed manually or changed the install location, check the @ZSH@ environment variable in @~/.zshrc@. h2. Usage -* enable the plugins you want in your @~/.zshrc@ (take a look at the @plugins/@ directory and the "wiki":https://github.com/robbyrussell/oh-my-zsh/wiki/Plugins to see what's possible) +* enable the plugins you want in your @~/.zshrc@ (take a look at the @plugins/@ directory and the "wiki":https://github.com/robbyrussell/oh-my-zsh/wiki/Plugins to see what's available) ** example: @plugins=(git osx ruby)@ -* Theme support: Change the @ZSH_THEME@ environment variable in @~/.zshrc@. -** Take a look at the "current themes":https://wiki.github.com/robbyrussell/oh-my-zsh/themes that come bundled with _Oh My Zsh_. -* much much more... take a look at @lib/@ what _Oh My Zsh_ offers... +* theme support: change the @ZSH_THEME@ environment variable in @~/.zshrc@ +** take a look at the @themes/@ directory and the "wiki":https://wiki.github.com/robbyrussell/oh-my-zsh/themes to see what comes bundled with @oh-my-zsh@ +* & much, much more… take a look at the @lib/@ directory to see what @oh-my-zsh@ has to offer… h2. Useful -the "refcard":http://www.bash2zsh.com/zsh_refcard/refcard.pdf is pretty tasty for tips. +The "refcard":http://www.bash2zsh.com/zsh_refcard/refcard.pdf is pretty useful for tips. h3. Customization -If you want to override any of the default behavior, just add a new file (ending in @.zsh@) into the @custom/@ directory. -If you have many functions which go well together you can put them as a @*.plugin.zsh@ file in the @custom/plugins/@ directory and then enable this plugin. -If you would like to override the functionality of a plugin distributed with oh-my-zsh, create a plugin of the same name in the @custom/plugins/@ directory and it will be loaded instead of the one in @plugins/@. +If you want to override any of the default behaviors, just add a new file (ending in @.zsh@) in the @custom/@ directory. + +If you have many functions that go well together, you can put them as a @*.plugin.zsh@ file in the @custom/plugins/@ directory and then enable this plugin (see '"Usage":https://github.com/robbyrussell/oh-my-zsh#usage' above). + +If you would like to override the functionality of a plugin distributed with @oh-my-zsh@, create a plugin of the same name in the @custom/plugins/@ directory and it will be loaded instead of the one in @plugins/@. h3. Updates -By default you will be prompted to check for updates. If you would like oh-my-zsh to automatically update itself without prompting you, set the following in your @~/.zshrc@ +By default you will be prompted to check for upgrades. If you would like @oh-my-zsh@ to automatically upgrade itself without prompting you, set the following in your @~/.zshrc@: @DISABLE_UPDATE_PROMPT=true@ -To disable updates entirely, put this in your @~/.zshrc@ +To disable upgrades entirely, set the following in your @~/.zshrc@: @DISABLE_AUTO_UPDATE=true@ -To upgrade directly from the command line, just run @upgrade_oh_my_zsh@ +To upgrade directly from the command-line, just run @upgrade_oh_my_zsh@. h3. Uninstalling -If you want to uninstall it, just run @uninstall_oh_my_zsh@ from the command line and it'll remove itself and revert you to bash (or your previous zsh config). +If you want to uninstall @oh-my-zsh@, just run @uninstall_oh_my_zsh@ from the command-line and it'll remove itself and revert you to @bash@ (or your previous "Zsh":http://www.zsh.org/ configuration). h2. Help out! -I'm far from being a zsh-expert and suspect there are many ways to improve. If you have ideas on how to make the configuration easier to maintain (and faster), don't hesitate to fork and send pull requests! +I'm far from being a "Zsh":http://www.zsh.org/ expert and suspect there are many ways to improve – if you have ideas on how to make the configuration easier to maintain (and faster), don't hesitate to fork and send pull requests! -h3. (Don't) Send us your theme! (for now) +h3. (Don't) send us your theme (for now)! --I'm hoping to collect a bunch of themes for our command prompts. You can see existing ones in the @themes/@ directory.- +-I'm hoping to collect a bunch of themes – you can see existing ones in the @themes/@ directory.- -We have enough themes for the time being. Please fork the project and add on in there, you can let people know how to grab it from there. +We have enough themes for the time being. Please fork the project and add on in there – you can let people know how to grab it from there. h2. Contributors -This project wouldn't exist without all of our awesome users and contributors. - -* "View our growing list of contributors":https://github.com/robbyrussell/oh-my-zsh/contributors +This project wouldn't exist without all of our awesome users and contributors: "view our growing list of contributors":https://github.com/robbyrussell/oh-my-zsh/contributors Thank you so much! From fdb30392b15ef0b7edd6d670340d1ba390f4a7b8 Mon Sep 17 00:00:00 2001 From: Adam Poskitt Date: Mon, 4 Aug 2014 15:10:11 +0100 Subject: [PATCH 031/107] Update half-life.zsh-theme Add spaces before bullet-points to more easily distinguish them from one another and the rest of the prompt when using smaller font-sizes and do not add a blank line prior to prompt output; if there's a desire for spacing, one can use their terminal's line-height to achieve this. --- themes/half-life.zsh-theme | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/themes/half-life.zsh-theme b/themes/half-life.zsh-theme index c8d09ce47..1bf4c7432 100644 --- a/themes/half-life.zsh-theme +++ b/themes/half-life.zsh-theme @@ -51,8 +51,8 @@ zstyle ':vcs_info:*:prompt:*' check-for-changes true PR_RST="%{${reset_color}%}" FMT_BRANCH=" on %{$turquoise%}%b%u%c${PR_RST}" FMT_ACTION=" performing a %{$limegreen%}%a${PR_RST}" -FMT_UNSTAGED="%{$orange%}●" -FMT_STAGED="%{$limegreen%}●" +FMT_UNSTAGED="%{$orange%} ●" +FMT_STAGED="%{$limegreen%} ●" zstyle ':vcs_info:*:prompt:*' unstagedstr "${FMT_UNSTAGED}" zstyle ':vcs_info:*:prompt:*' stagedstr "${FMT_STAGED}" @@ -83,7 +83,7 @@ function steeef_precmd { # check for untracked files or updated submodules, since vcs_info doesn't if [[ ! -z $(git ls-files --other --exclude-standard 2> /dev/null) ]]; then PR_GIT_UPDATE=1 - FMT_BRANCH="${PM_RST} on %{$turquoise%}%b%u%c%{$hotpink%}●${PR_RST}" + FMT_BRANCH="${PM_RST} on %{$turquoise%}%b%u%c%{$hotpink%} ●${PR_RST}" else FMT_BRANCH="${PM_RST} on %{$turquoise%}%b%u%c${PR_RST}" fi @@ -95,5 +95,4 @@ function steeef_precmd { } add-zsh-hook precmd steeef_precmd -PROMPT=$' -%{$purple%}%n%{$reset_color%} in %{$limegreen%}%~%{$reset_color%}$(rvm-prompt " with%{$fg[red]%} " v g "%{$reset_color%}")$vcs_info_msg_0_%{$orange%} λ%{$reset_color%} ' +PROMPT=$'%{$purple%}%n%{$reset_color%} in %{$limegreen%}%~%{$reset_color%}$(rvm-prompt " with%{$fg[red]%} " v g "%{$reset_color%}")$vcs_info_msg_0_%{$orange%} λ%{$reset_color%} ' From 89f1d94a3052e2eabd3e86b856eada8e51fc65b4 Mon Sep 17 00:00:00 2001 From: Frederik Mogensen Date: Sun, 7 Aug 2011 21:43:32 +0200 Subject: [PATCH 032/107] Added autocompleting plugin for Android Debug Bridge (adb). --- plugins/adb/_adb | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 plugins/adb/_adb diff --git a/plugins/adb/_adb b/plugins/adb/_adb new file mode 100644 index 000000000..1efcb9eb0 --- /dev/null +++ b/plugins/adb/_adb @@ -0,0 +1,37 @@ +#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 From 8ad9122ba49bb0a41ca7dbad03cf5438477cc283 Mon Sep 17 00:00:00 2001 From: Frederik Mogensen Date: Tue, 3 Jan 2012 17:12:22 +0100 Subject: [PATCH 033/107] Added _files to complete all arguments following the first as files --- plugins/adb/_adb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/plugins/adb/_adb b/plugins/adb/_adb index 1efcb9eb0..4c998172d 100644 --- a/plugins/adb/_adb +++ b/plugins/adb/_adb @@ -35,3 +35,5 @@ if (( CURRENT == 1 )); then _describe -t commands "adb subcommand" _1st_arguments return fi + +_files From 78a7c0c6aebc6415040464c704f64bce0c72d049 Mon Sep 17 00:00:00 2001 From: Celso Miranda Date: Sat, 9 Aug 2014 01:04:28 +0100 Subject: [PATCH 034/107] Add support for local aur databases With these simple changes the plugin checks for the local AUR database and updates the aliases so it can update it when you issue a `pacupd` or `yaupd`. --- plugins/archlinux/archlinux.plugin.zsh | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/plugins/archlinux/archlinux.plugin.zsh b/plugins/archlinux/archlinux.plugin.zsh index bffe9657a..22d9f0970 100644 --- a/plugins/archlinux/archlinux.plugin.zsh +++ b/plugins/archlinux/archlinux.plugin.zsh @@ -21,10 +21,14 @@ if [[ -x `which yaourt` ]]; then alias yalst='yaourt -Qe' # List installed packages, even those installed from AUR (they're tagged as "local") alias yaorph='yaourt -Qtd' # Remove orphans using yaourt # Additional yaourt alias examples - if [[ -x `which abs` ]]; then + if [[ -x `which abs` && -x `which aur` '']]; then + alias yaupd='yaourt -Sy && sudo abs && sudo aur' # Update and refresh the local package, ABS and AUR databases against repositories + elif [[ -x `which abs` ]]; then alias yaupd='yaourt -Sy && sudo abs' # Update and refresh the local package and ABS databases against repositories + elif [[ -x `which aur` ]]; then + alias yaupd='yaourt -Sy && sudo aur' # Update and refresh the local package and AUR databases against repositories else - alias yaupd='yaourt -Sy' # Update and refresh the local package and ABS databases against repositories + alias yaupd='yaourt -Sy' # Update and refresh the local package database against repositories fi alias yainsd='yaourt -S --asdeps' # Install given package(s) as dependencies of another package alias yamir='yaourt -Syy' # Force refresh of all package lists after updating /etc/pacman.d/mirrorlist @@ -45,10 +49,14 @@ alias pacreps='pacman -Ss' # Search for package(s) in the repositori alias pacloc='pacman -Qi' # Display information about a given package in the local database alias paclocs='pacman -Qs' # Search for package(s) in the local database # Additional pacman alias examples -if [[ -x `which abs` ]]; then - alias pacupd='sudo pacman -Sy && sudo abs' # Update and refresh the local package and ABS databases against repositories +if [[ -x `which abs` && -x `which aur` ]]; then + alias pacupd='sudo pacman -Sy && sudo abs && sudo aur' # Update and refresh the local package, ABS and AUR databases against repositories +elif [[ -x `which abs` ]]; then + alias pacupd='sudo pacman -Sy && sudo abs' # Update and refresh the local package and ABS databases against repositories +elif [[ -x `which aur` ]]; then + alias pacupd='sudo pacman -Sy && sudo aur' # Update and refresh the local package and AUR databases against repositories else - alias pacupd='sudo pacman -Sy' # Update and refresh the local package and ABS databases against repositories + alias pacupd='sudo pacman -Sy' # Update and refresh the local package database against repositories fi alias pacinsd='sudo pacman -S --asdeps' # Install given package(s) as dependencies of another package alias pacmir='sudo pacman -Syy' # Force refresh of all package lists after updating /etc/pacman.d/mirrorlist From 7d208be2a147657d6d8e936e3f03c26b3a936ac8 Mon Sep 17 00:00:00 2001 From: Celso Miranda Date: Sat, 9 Aug 2014 01:09:06 +0100 Subject: [PATCH 035/107] bugfix: two wild apostrophes oops --- plugins/archlinux/archlinux.plugin.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/archlinux/archlinux.plugin.zsh b/plugins/archlinux/archlinux.plugin.zsh index 22d9f0970..059884c27 100644 --- a/plugins/archlinux/archlinux.plugin.zsh +++ b/plugins/archlinux/archlinux.plugin.zsh @@ -21,7 +21,7 @@ if [[ -x `which yaourt` ]]; then alias yalst='yaourt -Qe' # List installed packages, even those installed from AUR (they're tagged as "local") alias yaorph='yaourt -Qtd' # Remove orphans using yaourt # Additional yaourt alias examples - if [[ -x `which abs` && -x `which aur` '']]; 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 From 99e74b04981b2eb66714bf68245115520bcd25f0 Mon Sep 17 00:00:00 2001 From: Cherry NG Date: Sat, 9 Aug 2014 21:40:56 +0800 Subject: [PATCH 036/107] rounding to emoji clock --- plugins/emoji-clock/emoji-clock.plugin.zsh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/emoji-clock/emoji-clock.plugin.zsh b/plugins/emoji-clock/emoji-clock.plugin.zsh index 7351a02ec..a69446e3c 100644 --- a/plugins/emoji-clock/emoji-clock.plugin.zsh +++ b/plugins/emoji-clock/emoji-clock.plugin.zsh @@ -8,8 +8,8 @@ # ----------------------------------------------------------------------------- function emoji-clock() { - hour=$(date '+%I') - minutes=$(date '+%M') + hour=$(date -v '+15M' '+%I') + minutes=$(date -v '+15M' '+%M') case $hour in 01) clock="🕐"; [ $minutes -ge 30 ] && clock="🕜";; 02) clock="🕑"; [ $minutes -ge 30 ] && clock="🕝";; From 45abe764e55a6c201acb3bf8e602f53e5d5574f0 Mon Sep 17 00:00:00 2001 From: Bruno Oliveira Date: Sat, 9 Aug 2014 12:26:35 -0300 Subject: [PATCH 037/107] Inclusion of aliases for sign git commits and tags --- plugins/git/git.plugin.zsh | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/plugins/git/git.plugin.zsh b/plugins/git/git.plugin.zsh index 9f7819df3..51a09a053 100644 --- a/plugins/git/git.plugin.zsh +++ b/plugins/git/git.plugin.zsh @@ -77,6 +77,18 @@ alias grhh='git reset HEAD --hard' alias gclean='git reset --hard && git clean -dfx' alias gwc='git whatchanged -p --abbrev-commit --pretty=medium' +# Sign and verify commits with GPG +alias gcs='git commit -S' +compdef _git gcs=git-commit +alias gsps='git show --pretty=short --show-signature' +compdef _git gsps=git-show + +# Sign and verify tags with GPG +alias gts='git tag -s' +compdef _git gts=git-tag +alias gvt='git verify-tag' +compdef _git gvt=git verify-tag + #remove the gf alias #alias gf='git ls-files | grep' From 9a0196dbf72521319a0fa0db4ae84603c2c79868 Mon Sep 17 00:00:00 2001 From: lundberg Date: Sun, 10 Aug 2014 12:01:47 -0700 Subject: [PATCH 038/107] New alias for git plugin: gbr == git branch --remote --- plugins/git/git.plugin.zsh | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/git/git.plugin.zsh b/plugins/git/git.plugin.zsh index 9f7819df3..cef7926db 100644 --- a/plugins/git/git.plugin.zsh +++ b/plugins/git/git.plugin.zsh @@ -51,6 +51,7 @@ alias gb='git branch' compdef _git gb=git-branch alias gba='git branch -a' compdef _git gba=git-branch +alias gbr='git branch --remote' alias gcount='git shortlog -sn' compdef gcount=git alias gcl='git config --list' From df1b0b328983dba57b4cea123b5a05c24493ae8f Mon Sep 17 00:00:00 2001 From: Tom Cammann Date: Tue, 19 Aug 2014 15:42:39 +0100 Subject: [PATCH 039/107] Update jira plugin to allow lookup of issues Plugin now supports lookup of tickets by assignee and reporter --- plugins/jira/jira.plugin.zsh | 41 ++++++++++++++++++++++++++++++++++-- 1 file changed, 39 insertions(+), 2 deletions(-) diff --git a/plugins/jira/jira.plugin.zsh b/plugins/jira/jira.plugin.zsh index 3d510e430..a6d08410f 100644 --- a/plugins/jira/jira.plugin.zsh +++ b/plugins/jira/jira.plugin.zsh @@ -26,7 +26,7 @@ open_jira_issue () { jira_url=$JIRA_URL else echo "JIRA url is not specified anywhere." - return 0 + return 1 fi if [ -f .jira-prefix ]; then @@ -39,7 +39,9 @@ open_jira_issue () { if [ -z "$1" ]; then echo "Opening new issue" - $open_cmd "$jira_url/secure/CreateIssue!default.jspa" + $open_cmd "${jira_url}/secure/CreateIssue!default.jspa" + elif [[ "$1" = "assigned" || "$1" = "reported" ]]; then + jira_query $@ else echo "Opening issue #$1" if [[ "x$JIRA_RAPID_BOARD" = "xtrue" ]]; then @@ -50,4 +52,39 @@ open_jira_issue () { fi } +jira_name () { + if [[ -z "$1" ]]; then + if [[ "x${JIRA_NAME}" != "x" ]]; then + jira_name=${JIRA_NAME} + else + echo "JIRA_NAME not specified" + return 1 + fi + else + jira_name=$@ + fi +} + +jira_query () { + verb="$1" + if [[ "${verb}" = "reported" ]]; then + lookup=reporter + preposition=by + elif [[ "${verb}" = "assigned" ]]; then + lookup=assignee + preposition=to + else + echo "not a valid lookup $verb" + return 1 + fi + shift 1 + jira_name $@ + if [[ $? = 1 ]]; then + return 1 + fi + echo "Browsing issues ${verb} ${preposition} ${jira_name}" + $open_cmd "${jira_url}/secure/IssueNavigator.jspa?reset=true&jqlQuery=${lookup}+%3D+%22${jira_name}%22+AND+resolution+%3D+unresolved+ORDER+BY+priority+DESC%2C+created+ASC" +} + alias jira='open_jira_issue' + From eee7345f1f01df5f66151bc5bf34d8e2110224aa Mon Sep 17 00:00:00 2001 From: Alex Shadrin Date: Wed, 20 Aug 2014 13:57:28 +0300 Subject: [PATCH 040/107] Resets the font colour to original --- themes/fino.zsh-theme | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/themes/fino.zsh-theme b/themes/fino.zsh-theme index 35e6e02c1..411dec9b9 100644 --- a/themes/fino.zsh-theme +++ b/themes/fino.zsh-theme @@ -35,7 +35,7 @@ local prompt_char='$(prompt_char)' PROMPT="╭─%{$FG[040]%}%n%{$reset_color%} %{$FG[239]%}at%{$reset_color%} %{$FG[033]%}$(box_name)%{$reset_color%} %{$FG[239]%}in%{$reset_color%} %{$terminfo[bold]$FG[226]%}${current_dir}%{$reset_color%}${git_info} %{$FG[239]%}using%{$FG[243]%}${ruby_env} -╰─${prompt_char} " +╰─${prompt_char}%{$reset_color%} " ZSH_THEME_GIT_PROMPT_PREFIX=" %{$FG[239]%}on%{$reset_color%} %{$fg[255]%}" ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" From dac2a6e27a23071226495bfee54b390135cb20b6 Mon Sep 17 00:00:00 2001 From: Fredrik Fornwall Date: Wed, 20 Aug 2014 23:52:05 +0200 Subject: [PATCH 041/107] Replace /usr/bin/env with env Some environments (such as Android) does not have /usr/bin. --- lib/functions.zsh | 4 ++-- oh-my-zsh.sh | 2 +- tools/check_for_upgrade.sh | 2 +- tools/install.sh | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/functions.zsh b/lib/functions.zsh index fda84a953..17f5f9cbf 100644 --- a/lib/functions.zsh +++ b/lib/functions.zsh @@ -3,11 +3,11 @@ function zsh_stats() { } function uninstall_oh_my_zsh() { - /usr/bin/env ZSH=$ZSH /bin/sh $ZSH/tools/uninstall.sh + env ZSH=$ZSH /bin/sh $ZSH/tools/uninstall.sh } function upgrade_oh_my_zsh() { - /usr/bin/env ZSH=$ZSH /bin/sh $ZSH/tools/upgrade.sh + env ZSH=$ZSH /bin/sh $ZSH/tools/upgrade.sh } function take() { diff --git a/oh-my-zsh.sh b/oh-my-zsh.sh index c217b91bb..a90b3e98a 100644 --- a/oh-my-zsh.sh +++ b/oh-my-zsh.sh @@ -1,6 +1,6 @@ # Check for updates on initial load... if [ "$DISABLE_AUTO_UPDATE" != "true" ]; then - /usr/bin/env ZSH=$ZSH DISABLE_UPDATE_PROMPT=$DISABLE_UPDATE_PROMPT zsh -f $ZSH/tools/check_for_upgrade.sh + env ZSH=$ZSH DISABLE_UPDATE_PROMPT=$DISABLE_UPDATE_PROMPT zsh -f $ZSH/tools/check_for_upgrade.sh fi # Initializes Oh My Zsh diff --git a/tools/check_for_upgrade.sh b/tools/check_for_upgrade.sh index 8b8ecae03..35e074297 100644 --- a/tools/check_for_upgrade.sh +++ b/tools/check_for_upgrade.sh @@ -9,7 +9,7 @@ function _update_zsh_update() { } function _upgrade_zsh() { - /usr/bin/env ZSH=$ZSH /bin/sh $ZSH/tools/upgrade.sh + env ZSH=$ZSH /bin/sh $ZSH/tools/upgrade.sh # update the zsh file _update_zsh_update } diff --git a/tools/install.sh b/tools/install.sh index fc7ad70cf..7efab10b9 100755 --- a/tools/install.sh +++ b/tools/install.sh @@ -10,7 +10,7 @@ if [ -d "$ZSH" ]; then fi echo "\033[0;34mCloning Oh My Zsh...\033[0m" -hash git >/dev/null 2>&1 && /usr/bin/env git clone https://github.com/robbyrussell/oh-my-zsh.git $ZSH || { +hash git >/dev/null 2>&1 && env git clone https://github.com/robbyrussell/oh-my-zsh.git $ZSH || { echo "git not installed" exit } @@ -43,5 +43,5 @@ echo "\033[0;32m"'\____/_/ /_/ /_/ /_/ /_/\__, / /___/____/_/ /_/ '"\033[0m echo "\033[0;32m"' /____/ ....is now installed!'"\033[0m" echo "\n\n \033[0;32mPlease look over the ~/.zshrc file to select plugins, themes, and options.\033[0m" echo "\n\n \033[0;32mp.s. Follow us at http://twitter.com/ohmyzsh.\033[0m" -/usr/bin/env zsh +env zsh . ~/.zshrc From 91ba6d98875c70d0736fd3eecd0ee4aae52cdc74 Mon Sep 17 00:00:00 2001 From: Mathieu Comandon Date: Thu, 21 Aug 2014 12:47:48 +0200 Subject: [PATCH 042/107] Don't try running chsh if user already runs zsh --- tools/install.sh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tools/install.sh b/tools/install.sh index fc7ad70cf..fc0a9fa64 100755 --- a/tools/install.sh +++ b/tools/install.sh @@ -32,8 +32,10 @@ sed -i -e "/export PATH=/ c\\ export PATH=\"$PATH\" " ~/.zshrc -echo "\033[0;34mTime to change your default shell to zsh!\033[0m" -chsh -s `which zsh` +if [ "$SHELL" != "$(which zsh)" ]; then + echo "\033[0;34mTime to change your default shell to zsh!\033[0m" + chsh -s `which zsh` +fi echo "\033[0;32m"' __ __ '"\033[0m" echo "\033[0;32m"' ____ / /_ ____ ___ __ __ ____ _____/ /_ '"\033[0m" From 5d6c73d7d38930443bdc4357c337e0baf7d5b5fb Mon Sep 17 00:00:00 2001 From: DariusPHP Date: Fri, 22 Aug 2014 10:21:38 +0300 Subject: [PATCH 043/107] #git plugin git diff-tree --name-only added --- plugins/git/git.plugin.zsh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/plugins/git/git.plugin.zsh b/plugins/git/git.plugin.zsh index 9f7819df3..a76bb1cdf 100644 --- a/plugins/git/git.plugin.zsh +++ b/plugins/git/git.plugin.zsh @@ -7,6 +7,8 @@ alias gd='git diff' compdef _git gd=git-diff alias gdc='git diff --cached' compdef _git gdc=git-diff +alias gdt='git diff-tree --no-commit-id --name-only -r' +compdef _git gdc=git diff-tree --no-commit-id --name-only -r alias gl='git pull' compdef _git gl=git-pull alias gup='git pull --rebase' From dc9e1764cfd0987f104f57bac0b974e0941f1e42 Mon Sep 17 00:00:00 2001 From: Jingwen Owen Ou Date: Fri, 22 Aug 2014 15:59:17 -0700 Subject: [PATCH 044/107] Fix missing add-zsh-hook In older version of zsh, `add-zsh-hook` is not available, causing issues like: ``` /Users/hugo/.oh-my-zsh/lib/termsupport.zsh:32: add-zsh-hook: function definition file not found /Users/hugo/.oh-my-zsh/lib/termsupport.zsh:33: add-zsh-hook: function definition file not found ``` See https://github.com/robbyrussell/oh-my-zsh/issues/748. This patch pulls in the changes suggested in https://github.com/robbyrussell/oh-my-zsh/issues/748#issuecomment-37862691 by @mcornella and I have tested it on RHEL 5. --- lib/termsupport.zsh | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/lib/termsupport.zsh b/lib/termsupport.zsh index 9c0a430fb..9d6681603 100644 --- a/lib/termsupport.zsh +++ b/lib/termsupport.zsh @@ -34,6 +34,5 @@ function omz_termsupport_preexec { title '$CMD' '%100>...>$LINE%<<' } -autoload -U add-zsh-hook -add-zsh-hook precmd omz_termsupport_precmd -add-zsh-hook preexec omz_termsupport_preexec +precmd_functions+=(omz_termsupport_precmd) +preexec_functions+=(omz_termsupport_preexec) From ac053f4211ef2da6b66bd148a930cfdddd12991f Mon Sep 17 00:00:00 2001 From: sachin21 Date: Sun, 24 Aug 2014 00:50:02 +0900 Subject: [PATCH 045/107] This alias is conflict cause --- lib/aliases.zsh | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/aliases.zsh b/lib/aliases.zsh index 3044c9660..aae865046 100644 --- a/lib/aliases.zsh +++ b/lib/aliases.zsh @@ -30,7 +30,6 @@ alias lsa='ls -lah' alias l='ls -lah' alias ll='ls -lh' alias la='ls -lAh' -alias sl=ls # often screw this up alias afind='ack-grep -il' From ee33cee83e78b53ca200b5647b024bcd93f8ee3d Mon Sep 17 00:00:00 2001 From: Igor Zoriy Date: Tue, 26 Aug 2014 01:05:13 +0700 Subject: [PATCH 046/107] Added 'uninstall' command to brew completion --- plugins/brew/_brew | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/brew/_brew b/plugins/brew/_brew index 9eb3bb557..40442a1d3 100644 --- a/plugins/brew/_brew +++ b/plugins/brew/_brew @@ -50,6 +50,7 @@ _1st_arguments=( 'server:start a local web app that lets you browse formulae (requires Sinatra)' 'services:small wrapper around `launchctl` for supported formulae' 'tap:tap a new formula repository from GitHub, or list existing taps' + 'uninstall:uninstall a formula' 'unlink:unlink a formula' 'unpin:unpin specified formulae' 'untap:remove a tapped repository' From e20ce81c6663e354f9ef29618e7149800b9a3b26 Mon Sep 17 00:00:00 2001 From: Chris Smith Date: Tue, 26 Aug 2014 08:34:17 -0500 Subject: [PATCH 047/107] Adding BBEdit plugin --- plugins/bbedit/bbedit.plugin.zsh | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 plugins/bbedit/bbedit.plugin.zsh diff --git a/plugins/bbedit/bbedit.plugin.zsh b/plugins/bbedit/bbedit.plugin.zsh new file mode 100644 index 000000000..6eec10f21 --- /dev/null +++ b/plugins/bbedit/bbedit.plugin.zsh @@ -0,0 +1,21 @@ +alias bbpb='pbpaste | bbedit --clean --view-top' + +alias bbd=bbdiff + +# +# If the bb command is called without an argument, launch BBEdit +# If bb is passed a directory, cd to it and open it in BBEdit +# If bb is passed a file, open it in BBEdit +# +function bb() { + if [[ -z $1 ]] + then + bbedit --launch + else + bbedit $1 + if [[ -d $1 ]] + then + cd $1 + fi + fi +} From 9eb2118c556b81e4eb0965d3e4bc024e35687aba Mon Sep 17 00:00:00 2001 From: Chris Smith Date: Tue, 26 Aug 2014 08:36:16 -0500 Subject: [PATCH 048/107] Adding Marked 2 plugin --- plugins/marked/marked.plugin.zsh | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 plugins/marked/marked.plugin.zsh diff --git a/plugins/marked/marked.plugin.zsh b/plugins/marked/marked.plugin.zsh new file mode 100644 index 000000000..8c014372b --- /dev/null +++ b/plugins/marked/marked.plugin.zsh @@ -0,0 +1,12 @@ +# +# If marked is called without an argument, open Marked +# If marked is passed a file, open it in Marked +# +function marked() { + if [ $1 ] + then + open -a "marked 2.app" $1 + else + open -a "marked 2.app" + fi +} From 325c18736e82d0688f7437cefff23910ebd7cedd Mon Sep 17 00:00:00 2001 From: Chris Smith Date: Tue, 26 Aug 2014 08:37:04 -0500 Subject: [PATCH 049/107] Adding Textastic plugin --- plugins/textastic/textastic.plugin.zsh | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 plugins/textastic/textastic.plugin.zsh diff --git a/plugins/textastic/textastic.plugin.zsh b/plugins/textastic/textastic.plugin.zsh new file mode 100644 index 000000000..c34162139 --- /dev/null +++ b/plugins/textastic/textastic.plugin.zsh @@ -0,0 +1,17 @@ +# +# If the tt command is called without an argument, launch Textastic +# If tt is passed a directory, cd to it and open it in Textastic +# If tt is passed a file, open it in Textastic +# +function tt() { + if [[ -z $1 ]] + then + open -a "textastic.app" + else + open -a "textastic.app" $1 + if [[ -d $1 ]] + then + cd $1 + fi + fi +} From 362f2a56d276aebfb8da4e3244994f69899bbdbd Mon Sep 17 00:00:00 2001 From: Chris Smith Date: Wed, 27 Aug 2014 08:27:31 -0500 Subject: [PATCH 050/107] Adding quotes around $1 --- plugins/textastic/textastic.plugin.zsh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/plugins/textastic/textastic.plugin.zsh b/plugins/textastic/textastic.plugin.zsh index c34162139..f5901eae2 100644 --- a/plugins/textastic/textastic.plugin.zsh +++ b/plugins/textastic/textastic.plugin.zsh @@ -4,14 +4,14 @@ # If tt is passed a file, open it in Textastic # function tt() { - if [[ -z $1 ]] + if [[ -z "$1" ]] then open -a "textastic.app" else - open -a "textastic.app" $1 - if [[ -d $1 ]] + open -a "textastic.app" "$1" + if [[ -d "$1" ]] then - cd $1 + cd "$1" fi fi } From 9be81015d0fcb7864be9cdfe550aeee20c52bf7a Mon Sep 17 00:00:00 2001 From: Chris Smith Date: Wed, 27 Aug 2014 08:31:18 -0500 Subject: [PATCH 051/107] Adding quotes around $1 --- plugins/marked/marked.plugin.zsh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/marked/marked.plugin.zsh b/plugins/marked/marked.plugin.zsh index 8c014372b..56863ade5 100644 --- a/plugins/marked/marked.plugin.zsh +++ b/plugins/marked/marked.plugin.zsh @@ -3,9 +3,9 @@ # If marked is passed a file, open it in Marked # function marked() { - if [ $1 ] + if [ "$1" ] then - open -a "marked 2.app" $1 + open -a "marked 2.app" "$1" else open -a "marked 2.app" fi From 1b4d4266131eb760fc0cc25aab847a9c08d1c6de Mon Sep 17 00:00:00 2001 From: Chris Smith Date: Wed, 27 Aug 2014 08:34:17 -0500 Subject: [PATCH 052/107] Adding quotes around $1 --- plugins/bbedit/bbedit.plugin.zsh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/plugins/bbedit/bbedit.plugin.zsh b/plugins/bbedit/bbedit.plugin.zsh index 6eec10f21..fe9e72c65 100644 --- a/plugins/bbedit/bbedit.plugin.zsh +++ b/plugins/bbedit/bbedit.plugin.zsh @@ -8,14 +8,14 @@ alias bbd=bbdiff # If bb is passed a file, open it in BBEdit # function bb() { - if [[ -z $1 ]] + if [[ -z "$1" ]] then bbedit --launch else - bbedit $1 - if [[ -d $1 ]] + bbedit "$1" + if [[ -d "$1" ]] then - cd $1 + cd "$1" fi fi } From 1aadd63cfc98987c42033aeb4d7b826abf1f49ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Cornell=C3=A0?= Date: Thu, 17 Jul 2014 13:46:06 +0200 Subject: [PATCH 053/107] Add CONTRIBUTING.md file general structure --- CONTRIBUTING.md | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 000000000..ae8865b35 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,26 @@ +# CONTRIBUTING GUIDELINE + +1. [Luke, use the search](#luke-use-the-search) +2. [You have a problem](#you-have-a-problem) +3. [You have a solution](#you-have-a-solution) + +**BONUS:** [You have free time to volunteer](#you-have-free-time-to-volunteer) + +## LUKE, USE THE SEARCH + +May the experiences of other people be with you + + +## YOU HAVE A PROBLEM + +See point 1, then look at FAQ or Troubleshooting wiki pages (first we'll have to make them) + + +## YOU HAVE A SOLUTION + +See point 1, then go ahead (unless your solution is yet another theme) + + +## YOU HAVE FREE TIME TO VOLUNTEER + +Cool! From 1e2abe5d4e1cbf29b1630292ec3eb32cb993f49e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Cornell=C3=A0?= Date: Mon, 4 Aug 2014 23:04:53 +0200 Subject: [PATCH 054/107] Categories of issues in oh-my-zsh (work-in-progress) --- CONTRIBUTING.md | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index ae8865b35..9964c380d 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -23,4 +23,20 @@ See point 1, then go ahead (unless your solution is yet another theme) ## YOU HAVE FREE TIME TO VOLUNTEER -Cool! +Cool! Please have a look at the list below to understand how oh-my-zsh categorizes its issues. + +Classification of issues and + +- Bugs, which may be: + - Specific of zsh \* + - Regressions, in which we should summon the author of the offending commit once it is located + +- Feature requests + +- Helpdesk, which may be: + - Specific of zsh \* + - Everything else + +\* In the case of bugs, I see the benefit in going through the trouble of responding to that. After all, oh-my-zsh should be the missing link that makes zsh perfect, and hunting down an upstream bug can lead to a submitted PR. +In the case of helpdesk, minimal response should be done. That is, provide a link to the wiki with the relevant information, or +add it to the FAQ of the wiki and point to it afterwards. From 25a3244353076cbffc8ddb2ee592b94b17383694 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Santiago=20Borraz=C3=A1s?= Date: Sat, 8 Dec 2012 15:31:13 -0300 Subject: [PATCH 055/107] Added a link to the file's license and added the commiter as plugin maintaner. --- plugins/pass/_pass | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/plugins/pass/_pass b/plugins/pass/_pass index d8ec38828..f03aa0169 100644 --- a/plugins/pass/_pass +++ b/plugins/pass/_pass @@ -4,10 +4,13 @@ # Copyright (C) 2012: # Johan Venant # Brian Mattern -# Jason A. Donenfeld . -# Santiago Borrazás +# Jason A. Donenfeld # 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 _pass () { From 17dd5792b4a34e65311fda6ab469b98f31cf30df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Cornell=C3=A0?= Date: Sat, 26 Jul 2014 23:23:13 +0200 Subject: [PATCH 056/107] Update pass completion to upstream Conflicts: plugins/pass/_pass --- plugins/pass/_pass | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/plugins/pass/_pass b/plugins/pass/_pass index f03aa0169..9c4b669bd 100644 --- a/plugins/pass/_pass +++ b/plugins/pass/_pass @@ -1,10 +1,10 @@ #compdef pass #autoload -# Copyright (C) 2012: +# Copyright (C) 2012 - 2014: # Johan Venant # Brian Mattern -# Jason A. Donenfeld +# Jason A. Donenfeld . # All Rights Reserved. # # This file is licensed under the GPLv2+. @@ -26,8 +26,8 @@ _pass () { case "${cmd}" in init) _arguments : \ - "-r[re-encrypt existing passwords]" \ - "--reencrypt[re-encrypt existing passwords]" + "-p[gpg-id will only be applied to this subfolder]" \ + "--path[gpg-id will only be applied to this subfolder]" _pass_complete_keys ;; ls|list|edit) @@ -46,9 +46,19 @@ _pass () { "-n[don't include symbols in password]" \ "--no-symbols[don't include symbols in password]" \ "-c[copy password to the clipboard]" \ - "--clip[copy password to the clipboard]" + "--clip[copy password to the clipboard]" \ + "-f[force overwrite]" \ + "--force[force overwrite]" \ + "-i[replace first line]" \ + "--in-place[replace first line]" _pass_complete_entries_with_subdirs ;; + cp|copy|mv|rename) + _arguments : \ + "-f[force rename]" \ + "--force[force rename]" + _pass_complete_entries_with_subdirs + ;; rm) _arguments : \ "-f[force deletion]" \ @@ -78,10 +88,14 @@ _pass () { subcommands=( "init:Initialize new password storage" "ls:List passwords" + "find:Find password files or directories based on pattern" + "grep:Search inside decrypted password files for matching pattern" "show:Decrypt and print a password" "insert:Insert a new password" "generate:Generate a new password using pwgen" "edit:Edit a password with \$EDITOR" + "mv:Rename the password" + "cp:Copy the password" "rm:Remove the password" "git:Call git on the password store" "version:Output version information" @@ -104,7 +118,7 @@ _pass_cmd_show () { _pass_complete_entries_helper () { local IFS=$'\n' local prefix="${PASSWORD_STORE_DIR:-$HOME/.password-store}" - _values -C 'passwords' $(find -L "$prefix" \( -name .git -o -name .gpg-id \) -prune -o $@ -print | sed -e "s#${prefix}.##" -e 's#\.gpg##' | sort) + _values -C 'passwords' $(find -L "$prefix" \( -name .git -o -name .gpg-id \) -prune -o $@ -print | sed -e "s#${prefix}/\{0,1\}##" -e 's#\.gpg##' | sort) } _pass_complete_entries_with_subdirs () { From 142a6c7fd5bcda6c45c25aca582972a7d4e1da85 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Cornell=C3=A0?= Date: Sat, 26 Jul 2014 23:26:12 +0200 Subject: [PATCH 057/107] Fix pass zsh completion and autoloading When autocompleting from `pass ', sometimes the following errors appear: _values:compvalues:10: not enough arguments find: `/home/user/.password-store': No such file or directory _values:compvalues:10: not enough arguments find: `/home/user/.password-store': No such file or directory The `_values' error happens when there is no password-store folder *or* there are no passwords in pass; the `find' error only when there is no password-store folder. We can trace it back to line 108, which contains the only `_values' statement that is executed when we autocomplete from pass. We confirm this by following the trail of execution, which is _pass -> _pass_cmd_show -> _pass_complete_entries -> -> _pass_complete_entries_helper If we try running the command inside `$()' on line 104, we see that it returns nothing and the output is blank. This means that `_values' only receives 1 of its 2 mandatory parameters, therefore the above error is triggered (not enough arguments). That is unless we don't have a password-store folder, in which case the `find: [...] no such file or directory' error is *also* triggered. We solve the first error by supplying a default value of "" if the command outputs nothing, using the zsh construct ${var:-else}. We solve the second error by redirecting the find command's stderr output to /dev/null, so the error is effectively suppressed. * * * * This patch also fixes the first tab completion, which currently only loads the completion function definition. We do this by adding a `_pass' statement at the end of the file, which runs the `_pass' completion function after loading its definition. This is the standard way an autoloaded function works; for other examples look at zsh's official completion files. --- plugins/pass/_pass | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/plugins/pass/_pass b/plugins/pass/_pass index 9c4b669bd..7a9b1f955 100644 --- a/plugins/pass/_pass +++ b/plugins/pass/_pass @@ -118,7 +118,7 @@ _pass_cmd_show () { _pass_complete_entries_helper () { local IFS=$'\n' local prefix="${PASSWORD_STORE_DIR:-$HOME/.password-store}" - _values -C 'passwords' $(find -L "$prefix" \( -name .git -o -name .gpg-id \) -prune -o $@ -print | sed -e "s#${prefix}/\{0,1\}##" -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 () { @@ -134,3 +134,5 @@ _pass_complete_keys () { # Extract names and email addresses from gpg --list-keys _values 'gpg keys' $(gpg2 --list-secret-keys --with-colons | cut -d : -f 10 | sort -u | sed '/^$/d') } + +_pass From cd98283a92a5b2726e3164653e6b8c674eeedb92 Mon Sep 17 00:00:00 2001 From: Eduardo San Martin Morote Date: Fri, 29 Aug 2014 10:40:08 +0200 Subject: [PATCH 058/107] tmuxinator completion update: Current completion plugin isn't up to date and #2075 PR, which is also the completion plugin on the official tmuxinator repository, doesn't work. Thus this should do the trick for the moment. Also suppressed an error when no completion is available --- plugins/tmuxinator/_tmuxinator | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/plugins/tmuxinator/_tmuxinator b/plugins/tmuxinator/_tmuxinator index cd227b7df..e4f8b6ce0 100644 --- a/plugins/tmuxinator/_tmuxinator +++ b/plugins/tmuxinator/_tmuxinator @@ -11,10 +11,12 @@ _arguments -C \ case $state in cmds) _values "tmuxinator command" \ + "new[create a new project file and open it in your editor]" \ "start[start a tmux session using project's tmuxinator config]" \ "open[create a new project file and open it in your editor]" \ "copy[copy source_project project file to a new project called new_project]" \ "delete[deletes the project called project_name]" \ + "debug[output the shell commands generated by a projet]" \ "implode[deletes all existing projects!]" \ "list[list all existing projects]" \ "doctor[look for problems in your configuration]" \ @@ -24,9 +26,9 @@ case $state in ;; args) case $line[1] in - start|open|copy|delete) + start|open|copy|delete|debug) _configs=(`find ~/.tmuxinator -name \*.yml | cut -d/ -f5 | sed s:.yml::g`) - _values 'configs' $_configs + [[ -n "$_configs" ]] && _values 'configs' $_configs ret=0 ;; esac From f49220732904ed254400f14e621ea5ebe9e4a5f5 Mon Sep 17 00:00:00 2001 From: "Douglas S.D. Hall" Date: Sat, 30 Aug 2014 17:20:28 +0100 Subject: [PATCH 059/107] Amended to source the original aws_zsh_completer.sh rather than the mangled version installed into $(brew-prefix)/bin if using homebrew installed awscli on OSX. This was discussed here - https://github.com/Homebrew/homebrew/issues/30268 --- plugins/aws/aws.plugin.zsh | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/plugins/aws/aws.plugin.zsh b/plugins/aws/aws.plugin.zsh index 3f7fb1995..8b57d7db1 100644 --- a/plugins/aws/aws.plugin.zsh +++ b/plugins/aws/aws.plugin.zsh @@ -1,3 +1,11 @@ +_homebrew-installed() { + type brew &> /dev/null +} + +_awscli-homebrew-installed() { + brew --prefix awscli &> /dev/null +} + export AWS_HOME=~/.aws function agp { @@ -14,4 +22,9 @@ function aws_profiles { } compctl -K aws_profiles asp -source `which aws_zsh_completer.sh` + +if _homebrew-installed && _awscli-homebrew-installed ; then + source $(brew --prefix)/opt/awscli/libexec/bin/aws_zsh_completer.sh +else + source `which aws_zsh_completer.sh` +fi From 14f055d0bb737520edf6dfcf27d3e3d6e3aaa863 Mon Sep 17 00:00:00 2001 From: nervo Date: Sun, 31 Aug 2014 15:41:02 +0200 Subject: [PATCH 060/107] Add Composer's local binaries to PATH --- plugins/composer/composer.plugin.zsh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/composer/composer.plugin.zsh b/plugins/composer/composer.plugin.zsh index 86f2ca4df..2243dd3c1 100644 --- a/plugins/composer/composer.plugin.zsh +++ b/plugins/composer/composer.plugin.zsh @@ -47,5 +47,5 @@ alias cdu='composer dump-autoload' # install composer in the current directory alias cget='curl -s https://getcomposer.org/installer | php' -# Add Composer's global binaries to PATH -export PATH=$PATH:~/.composer/vendor/bin +# Add Composer's global & local binaries to PATH +export PATH=$PATH:~/.composer/vendor/bin:./bin From a8dad6fa87867ff2629a55e26f78175635a0ad06 Mon Sep 17 00:00:00 2001 From: Chris Smith Date: Sun, 31 Aug 2014 12:55:46 -0500 Subject: [PATCH 061/107] Adding README.md --- plugins/textastic/README.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 plugins/textastic/README.md diff --git a/plugins/textastic/README.md b/plugins/textastic/README.md new file mode 100644 index 000000000..369c2c137 --- /dev/null +++ b/plugins/textastic/README.md @@ -0,0 +1,15 @@ +## textastic + +Plugin for Textastic, a text and code editor for Mac OS X + +### Requirements + + * [Textastic](http://www.textasticapp.com/mac.html) + +### Usage + + * If `tt` command is called without an argument, launch Textastic + + * If `tt` is passed a directory, cd to it and open it in Textastic + + * If `tt` is passed a file, open it in Textastic From d7f77f818d3f094f42e02554b3c697c0f3d26ed6 Mon Sep 17 00:00:00 2001 From: Chris Smith Date: Sun, 31 Aug 2014 12:56:23 -0500 Subject: [PATCH 062/107] Adding README.md --- plugins/bbedit/README.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 plugins/bbedit/README.md diff --git a/plugins/bbedit/README.md b/plugins/bbedit/README.md new file mode 100644 index 000000000..ec2b743d6 --- /dev/null +++ b/plugins/bbedit/README.md @@ -0,0 +1,20 @@ +## bbedit + +Plugin for BBEdit, an HTML and text editor for Mac OS X + +### Requirements + + * [BBEdit](http://www.barebones.com/products/bbedit/) + * [BBEdit Command-Line Tools](http://www.barebones.com/support/bbedit/cmd-line-tools.html) + +### Usage + + * If the `bb` command is called without an argument, launch BBEdit + + * If `bb` is passed a directory, cd to it and open it in BBEdit + + * If `bb` is passed a file, open it in BBEdit + + * If `bbpb` create a new BBEdit document with the contents of the clipboard + + * If `bbd` alias for BBEdit diff tool From 9bf5b90c81ce2cbde321c3d6d97d5ff6d561b83c Mon Sep 17 00:00:00 2001 From: Chris Smith Date: Sun, 31 Aug 2014 12:57:58 -0500 Subject: [PATCH 063/107] Adding README.md and renaming plugin --- plugins/marked2/README.md | 13 +++++++++++++ .../marked2.plugin.zsh} | 0 2 files changed, 13 insertions(+) create mode 100644 plugins/marked2/README.md rename plugins/{marked/marked.plugin.zsh => marked2/marked2.plugin.zsh} (100%) diff --git a/plugins/marked2/README.md b/plugins/marked2/README.md new file mode 100644 index 000000000..101343abb --- /dev/null +++ b/plugins/marked2/README.md @@ -0,0 +1,13 @@ +## marked2 + +Plugin for Marked 2, a previewer for Markdown files on Mac OS X + +### Requirements + + * [Marked 2](http://marked2app.com) + +### Usage + + * If `marked` is called without an argument, open Marked + + * If `marked` is passed a file, open it in Marked diff --git a/plugins/marked/marked.plugin.zsh b/plugins/marked2/marked2.plugin.zsh similarity index 100% rename from plugins/marked/marked.plugin.zsh rename to plugins/marked2/marked2.plugin.zsh From 9f8d7d85c2cacce54a5839d90b93e90b22228624 Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Sun, 31 Aug 2014 11:30:30 -0700 Subject: [PATCH 064/107] Adding link to the store for swag in upgrade process --- tools/upgrade.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/upgrade.sh b/tools/upgrade.sh index 9a8497d96..5f0a81f1d 100644 --- a/tools/upgrade.sh +++ b/tools/upgrade.sh @@ -9,8 +9,8 @@ then printf '\033[0;32m%s\033[0m\n' '\____/_/ /_/ /_/ /_/ /_/\__, / /___/____/_/ /_/ ' printf '\033[0;32m%s\033[0m\n' ' /____/ ' printf '\033[0;34m%s\033[0m\n' 'Hooray! Oh My Zsh has been updated and/or is at the current version.' - printf '\033[0;34m%s\033[1m%s\033[0m\n' 'To keep up on the latest, be sure to follow Oh My Zsh on twitter: ' 'http://twitter.com/ohmyzsh' + printf '\033[0;34m%s\033[1m%s\033[0m\n' 'To keep up on the latest news and updates, follow us on twitter: ' 'http://twitter.com/ohmyzsh' + printf '\033[0;34m%s\033[1m%s\033[0m\n' 'Get your Oh My Zsh swag at: ' 'http://shop.planetargon.com/' else printf '\033[0;31m%s\033[0m\n' 'There was an error updating. Try again later?' fi - From 671bd0cf4f0face60883a2b476e75e6364d0154e Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Sun, 31 Aug 2014 11:32:07 -0700 Subject: [PATCH 065/107] Link to swag in installer... shameless profiting --- tools/install.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/install.sh b/tools/install.sh index 7efab10b9..3ff897a01 100755 --- a/tools/install.sh +++ b/tools/install.sh @@ -43,5 +43,6 @@ echo "\033[0;32m"'\____/_/ /_/ /_/ /_/ /_/\__, / /___/____/_/ /_/ '"\033[0m echo "\033[0;32m"' /____/ ....is now installed!'"\033[0m" echo "\n\n \033[0;32mPlease look over the ~/.zshrc file to select plugins, themes, and options.\033[0m" echo "\n\n \033[0;32mp.s. Follow us at http://twitter.com/ohmyzsh.\033[0m" +echo "\n\n \033[0;32mp.p.s. Get stickers and t-shirts at http://shop.planetargon.com.\033[0m" env zsh . ~/.zshrc From 65f97a66c7fa2979ba454e9bcc578854912721d9 Mon Sep 17 00:00:00 2001 From: Tobias Preuss Date: Sun, 31 Aug 2014 21:42:49 +0200 Subject: [PATCH 066/107] Add README.md for adb-autocompletion plugin. --- plugins/adb/README.md | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 plugins/adb/README.md diff --git a/plugins/adb/README.md b/plugins/adb/README.md new file mode 100644 index 000000000..075beec0e --- /dev/null +++ b/plugins/adb/README.md @@ -0,0 +1,8 @@ +# adb autocomplete plugin + +* Adds autocomplete options for all adb commands. + + +## Requirements + +In order to make this work, you will need to have the Android adb tools set up in your path. From e7fdb028b52505947c7c3eb088586590f5b0b8cd Mon Sep 17 00:00:00 2001 From: Michael Stucki Date: Sun, 31 Aug 2014 23:50:59 +0200 Subject: [PATCH 067/107] Improve support for Vagrant VM definitions --- plugins/vagrant/_vagrant | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/vagrant/_vagrant b/plugins/vagrant/_vagrant index 9ddfa1be7..f842b4fbb 100644 --- a/plugins/vagrant/_vagrant +++ b/plugins/vagrant/_vagrant @@ -56,7 +56,7 @@ __box_list () __vm_list () { - _wanted application expl 'command' compadd $(command grep Vagrantfile -oe '^[^#]*\.vm\.define *:\([a-zA-Z0-9]\+\)' 2>/dev/null | cut -d: -f2) + _wanted application expl 'command' compadd $(command grep Vagrantfile -oe '^[^#]*\.vm\.define *[:"]\([a-zA-Z0-9_-]\+\)' 2>/dev/null | awk '{print substr($2, 2)}') } __vagrant-box () From 2b83accbf8d8668f4b46e449087317dc90a43873 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C3=96zg=C3=BCr?= Date: Mon, 1 Sep 2014 04:14:03 +0300 Subject: [PATCH 068/107] Use the library function for ruby prompt Not everyone uses rvm and the library has already got a function for this. --- themes/half-life.zsh-theme | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/themes/half-life.zsh-theme b/themes/half-life.zsh-theme index 1bf4c7432..942affa94 100644 --- a/themes/half-life.zsh-theme +++ b/themes/half-life.zsh-theme @@ -95,4 +95,4 @@ function steeef_precmd { } add-zsh-hook precmd steeef_precmd -PROMPT=$'%{$purple%}%n%{$reset_color%} in %{$limegreen%}%~%{$reset_color%}$(rvm-prompt " with%{$fg[red]%} " v g "%{$reset_color%}")$vcs_info_msg_0_%{$orange%} λ%{$reset_color%} ' +PROMPT=$'%{$purple%}%n%{$reset_color%} in %{$limegreen%}%~%{$reset_color%}$(ruby_prompt_info " with%{$fg[red]%} " v g "%{$reset_color%}")$vcs_info_msg_0_%{$orange%} λ%{$reset_color%} ' From 9c1255d358fa98397ce20370fa3843199c663990 Mon Sep 17 00:00:00 2001 From: Letian Zhang Date: Mon, 1 Sep 2014 09:49:31 +0800 Subject: [PATCH 069/107] fix missing add-zsh-hook in pygmalion.zsh-theme Fix "command not found: add-zsh-hook" since #3053 removes `autoload -U add-zsh-hook` --- themes/pygmalion.zsh-theme | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/themes/pygmalion.zsh-theme b/themes/pygmalion.zsh-theme index 654e0fc37..5f5fe7f9a 100644 --- a/themes/pygmalion.zsh-theme +++ b/themes/pygmalion.zsh-theme @@ -12,7 +12,7 @@ prompt_setup_pygmalion(){ base_prompt_nocolor=$(echo "$base_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(){ From f0d5cfdc33561a16e26e9db2b2dbb9141eabe5c1 Mon Sep 17 00:00:00 2001 From: AJ Henriques Date: Sun, 31 Aug 2014 20:30:42 -0700 Subject: [PATCH 070/107] add git difftool alias (gdt) --- plugins/git/git.plugin.zsh | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/git/git.plugin.zsh b/plugins/git/git.plugin.zsh index 4b5ddf44c..bb1978f78 100644 --- a/plugins/git/git.plugin.zsh +++ b/plugins/git/git.plugin.zsh @@ -18,6 +18,7 @@ compdef _git gp=git-push alias gd='git diff' gdv() { git diff -w "$@" | view - } compdef _git gdv=git-diff +alias gdt='git difftool' alias gc='git commit -v' compdef _git gc=git-commit alias gc!='git commit -v --amend' From b8e10ca16d1caa55e3e6759b9130e32629986d98 Mon Sep 17 00:00:00 2001 From: Joshua Medeski Date: Sun, 31 Aug 2014 23:33:43 -0500 Subject: [PATCH 071/107] add wp-cli plugin readme --- plugins/wp-cli/README.md | 105 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 105 insertions(+) create mode 100644 plugins/wp-cli/README.md diff --git a/plugins/wp-cli/README.md b/plugins/wp-cli/README.md new file mode 100644 index 000000000..6dda07d17 --- /dev/null +++ b/plugins/wp-cli/README.md @@ -0,0 +1,105 @@ +# WP-CLI + +**Maintainer:** [joshmedeski](https://github.com/joshmedeski) + +WordPress Command Line Interface (http://wp-cli.org/) + +WP-CLI is a set of command-line tools for managing WordPress installations. You can update plugins, set up multisite installs and much more, without using a web browser. + +## List of Aliases + +### Core +- wpcc='wp core config' +- wpcd='wp core download' +- wpci='wp core install' +- wpcii='wp core is-installed' +- wpcmc='wp core multisite-convert' +- wpcmi='wp core multisite-install' +- wpcu='wp core update' +- wpcudb='wp core update-db' +- wpcvc='wp core verify-checksums' + +### Cron +- wpcre='wp cron event' +- wpcrs='wp cron schedule' +- wpcrt='wp cron test' + +### Menu +- wpmc='wp menu create' +- wpmd='wp menu delete' +- wpmi='wp menu item' +- wpml='wp menu list' +- wpmlo='wp menu location' + +### Plugin +- wppa='activate' +- wppda='deactivate' +- wppd='delete' +- wppg='get' +- wppi='install' +- wppis='is-installed' +- wppl='list' +- wppp='path' +- wpps='search' +- wppst='status' +- wppt='toggle' +- wppu='uninstall' +- wppu='update' + +### Post +- wppoc='wp post create' +- wppod='wp post delete' +- wppoe='wp post edit' +- wppogen='wp post generate' +- wppog='wp post get' +- wppol='wp post list' +- wppom='wp post meta' +- wppou='wp post update' +- wppou='wp post url' + +### Sidebar +- wpsbl='wp sidebar list' + +### Theme +- wpta='wp theme activate' +- wptd='wp theme delete' +- wptdis='wp theme disable' +- wpte='wp theme enable' +- wptg='wp theme get' +- wpti='wp theme install' +- wptis='wp theme is-installed' +- wptl='wp theme list' +- wptm='wp theme mod' +- wptp='wp theme path' +- wpts='wp theme search' +- wptst='wp theme status' +- wptu='wp theme updatet' + +### User +- wpuac='wp user add-cap' +- wpuar='wp user add-role' +- wpuc='wp user create' +- wpud='wp user delete' +- wpugen='wp user generate' +- wpug='wp user get' +- wpui='wp user import-csv' +- wpul='wp user list' +- wpulc='wp user list-caps' +- wpum='wp user meta' +- wpurc='wp user remove-cap' +- wpurr='wp user remove-role' +- wpusr='wp user set-role' +- wpuu='wp user update' + +### Widget +- wpwa='wp widget add' +- wpwda='wp widget deactivate' +- wpwd='wp widget delete' +- wpwl='wp widget list' +- wpwm='wp widget move' +- wpwu='wp widget update' + +The entire list of wp-cli commands can be found here: http://wp-cli.org/commands/ + +I only included the commands that are most used. Please feel free to contribute to this project if you want more commands. + From 39fb6c9d35a555674de36ea02a4ae4c226c387a4 Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Mon, 1 Sep 2014 12:59:47 +0200 Subject: [PATCH 072/107] Revert "Add a CONTRIBUTING file to instruct people on issues and pull requests" --- CONTRIBUTING.md | 42 ------------------------------------------ 1 file changed, 42 deletions(-) delete mode 100644 CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md deleted file mode 100644 index 9964c380d..000000000 --- a/CONTRIBUTING.md +++ /dev/null @@ -1,42 +0,0 @@ -# CONTRIBUTING GUIDELINE - -1. [Luke, use the search](#luke-use-the-search) -2. [You have a problem](#you-have-a-problem) -3. [You have a solution](#you-have-a-solution) - -**BONUS:** [You have free time to volunteer](#you-have-free-time-to-volunteer) - -## LUKE, USE THE SEARCH - -May the experiences of other people be with you - - -## YOU HAVE A PROBLEM - -See point 1, then look at FAQ or Troubleshooting wiki pages (first we'll have to make them) - - -## YOU HAVE A SOLUTION - -See point 1, then go ahead (unless your solution is yet another theme) - - -## YOU HAVE FREE TIME TO VOLUNTEER - -Cool! Please have a look at the list below to understand how oh-my-zsh categorizes its issues. - -Classification of issues and - -- Bugs, which may be: - - Specific of zsh \* - - Regressions, in which we should summon the author of the offending commit once it is located - -- Feature requests - -- Helpdesk, which may be: - - Specific of zsh \* - - Everything else - -\* In the case of bugs, I see the benefit in going through the trouble of responding to that. After all, oh-my-zsh should be the missing link that makes zsh perfect, and hunting down an upstream bug can lead to a submitted PR. -In the case of helpdesk, minimal response should be done. That is, provide a link to the wiki with the relevant information, or -add it to the FAQ of the wiki and point to it afterwards. From a910aef0c4e33868d25e3410f1e8f8c9844b55c8 Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Mon, 1 Sep 2014 13:01:01 +0200 Subject: [PATCH 073/107] Revert "Add Composer's local binaries to PATH" --- plugins/composer/composer.plugin.zsh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/composer/composer.plugin.zsh b/plugins/composer/composer.plugin.zsh index 2243dd3c1..86f2ca4df 100644 --- a/plugins/composer/composer.plugin.zsh +++ b/plugins/composer/composer.plugin.zsh @@ -47,5 +47,5 @@ alias cdu='composer dump-autoload' # install composer in the current directory alias cget='curl -s https://getcomposer.org/installer | php' -# Add Composer's global & local binaries to PATH -export PATH=$PATH:~/.composer/vendor/bin:./bin +# Add Composer's global binaries to PATH +export PATH=$PATH:~/.composer/vendor/bin From ed6c2c9106cdaf570da6f7a260c41ca1c4b4ed2a Mon Sep 17 00:00:00 2001 From: Philipp Wahala Date: Wed, 3 Sep 2014 11:13:21 +0200 Subject: [PATCH 074/107] Symfony2 plugin use first console found --- plugins/symfony2/symfony2.plugin.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/symfony2/symfony2.plugin.zsh b/plugins/symfony2/symfony2.plugin.zsh index c8c102eee..fcb811fa5 100644 --- a/plugins/symfony2/symfony2.plugin.zsh +++ b/plugins/symfony2/symfony2.plugin.zsh @@ -1,7 +1,7 @@ # Symfony2 basic command completion _symfony_console () { - echo "php $(find . -maxdepth 2 -mindepth 1 -name 'console')" + echo "php $(find . -maxdepth 2 -mindepth 1 -name 'console' | head -n 1)" } _symfony2_get_command_list () { From 677d8b1a21c4b1d8cffef4cbfa259797a11f338a Mon Sep 17 00:00:00 2001 From: Philipp Wahala Date: Wed, 3 Sep 2014 11:36:22 +0200 Subject: [PATCH 075/107] Symfony2 plugin look for files only --- plugins/symfony2/symfony2.plugin.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/symfony2/symfony2.plugin.zsh b/plugins/symfony2/symfony2.plugin.zsh index fcb811fa5..2783cd387 100644 --- a/plugins/symfony2/symfony2.plugin.zsh +++ b/plugins/symfony2/symfony2.plugin.zsh @@ -1,7 +1,7 @@ # Symfony2 basic command completion _symfony_console () { - echo "php $(find . -maxdepth 2 -mindepth 1 -name 'console' | head -n 1)" + echo "php $(find . -maxdepth 2 -mindepth 1 -name 'console' -type f | head -n 1)" } _symfony2_get_command_list () { From 8d2dd8cc6a530e79ffdf307d444cb15430004efa Mon Sep 17 00:00:00 2001 From: Philipp Wahala Date: Wed, 3 Sep 2014 11:58:52 +0200 Subject: [PATCH 076/107] Symfony2 plugin autocomplete for app/console and bin/console --- plugins/symfony2/symfony2.plugin.zsh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/plugins/symfony2/symfony2.plugin.zsh b/plugins/symfony2/symfony2.plugin.zsh index 2783cd387..8df22e9ad 100644 --- a/plugins/symfony2/symfony2.plugin.zsh +++ b/plugins/symfony2/symfony2.plugin.zsh @@ -13,6 +13,8 @@ _symfony2 () { } compdef _symfony2 '`_symfony_console`' +compdef _symfony2 'app/console' +compdef _symfony2 'bin/console' compdef _symfony2 sf #Alias From ae901fa0d5163728de3dde787071df0e2fcf47d5 Mon Sep 17 00:00:00 2001 From: Michael Stucki Date: Tue, 11 Jun 2013 13:51:17 +0200 Subject: [PATCH 077/107] Support dynamically defined Vagrant machines --- plugins/vagrant/_vagrant | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/vagrant/_vagrant b/plugins/vagrant/_vagrant index f842b4fbb..0c82acd42 100644 --- a/plugins/vagrant/_vagrant +++ b/plugins/vagrant/_vagrant @@ -57,6 +57,7 @@ __box_list () __vm_list () { _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 () From 87fb118dd252d7e9b658c66c51b5e3cb905f10fb Mon Sep 17 00:00:00 2001 From: Matt Walker Date: Wed, 3 Sep 2014 12:01:29 -0700 Subject: [PATCH 078/107] Changed brew cmd to properly report if awscli is installed via homebrew --- plugins/aws/aws.plugin.zsh | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/plugins/aws/aws.plugin.zsh b/plugins/aws/aws.plugin.zsh index 8b57d7db1..de786725f 100644 --- a/plugins/aws/aws.plugin.zsh +++ b/plugins/aws/aws.plugin.zsh @@ -3,19 +3,17 @@ _homebrew-installed() { } _awscli-homebrew-installed() { - brew --prefix awscli &> /dev/null + brew list awscli &> /dev/null } export AWS_HOME=~/.aws function agp { echo $AWS_DEFAULT_PROFILE - } function asp { export AWS_DEFAULT_PROFILE=$1 - export RPROMPT="" - + export RPROMPT="" } function aws_profiles { reply=($(grep profile $AWS_HOME/config|sed -e 's/.*profile \([a-zA-Z0-9_-]*\).*/\1/')) From 5e2591317810dba5d61f085faaf4e3050f90559c Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Thu, 4 Sep 2014 12:53:43 +0200 Subject: [PATCH 079/107] Revert "Exit early from git plugin if not in git repo." --- plugins/git/git.plugin.zsh | 2 -- 1 file changed, 2 deletions(-) diff --git a/plugins/git/git.plugin.zsh b/plugins/git/git.plugin.zsh index bb1978f78..bf7cd1ac9 100644 --- a/plugins/git/git.plugin.zsh +++ b/plugins/git/git.plugin.zsh @@ -125,14 +125,12 @@ alias gsd='git svn dcommit' # Usage example: git pull origin $(current_branch) # function current_branch() { - if [ ! -d .git ]; then return; fi ref=$(git symbolic-ref HEAD 2> /dev/null) || \ ref=$(git rev-parse --short HEAD 2> /dev/null) || return echo ${ref#refs/heads/} } function current_repository() { - if [ ! -d .git ]; then return; fi ref=$(git symbolic-ref HEAD 2> /dev/null) || \ ref=$(git rev-parse --short HEAD 2> /dev/null) || return echo $(git remote -v | cut -d':' -f 2) From 6855dd4727a395bfe8bd471c939819d907cb6c27 Mon Sep 17 00:00:00 2001 From: Markus Faerevaag Date: Sun, 7 Sep 2014 21:56:34 +0200 Subject: [PATCH 080/107] [wd] New minor version (v0.4) --- plugins/wd/README.md | 110 ++++++++++- plugins/wd/_wd.sh | 6 +- plugins/wd/wd.sh | 460 +++++++++++++++++++++++++++++-------------- 3 files changed, 426 insertions(+), 150 deletions(-) diff --git a/plugins/wd/README.md b/plugins/wd/README.md index bc0ebe334..bcfeab684 100644 --- a/plugins/wd/README.md +++ b/plugins/wd/README.md @@ -1,8 +1,60 @@ -## wd +wd +== + +[![Build Status](https://travis-ci.org/mfaerevaag/wd.png?branch=master)](https://travis-ci.org/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. + + +### Setup + +### oh-my-zsh + +`wd` comes bundles with [oh-my-zshell](https://github.com/robbyrussell/oh-my-zsh)! + +Just add the plugin in your `~/.zshrc` file: + + plugins=(... wd) + + +#### Automatic + +Run either in terminal: + + * `curl -L https://github.com/mfaerevaag/wd/raw/master/install.sh | sh` + + * `wget --no-check-certificate https://github.com/mfaerevaag/wd/raw/master/install.sh -O - | sh` + + +#### Manual + + * Clone this repo to your liking + + * Add `wd` function to `.zshrc` (or `.profile` etc.): + + wd() { + . ~/paht/to/wd/wd.sh + } + + * Install manpage. From `wd`'s base directory (requires root permissions): + + # cp wd.1 /usr/share/man/man1/wd.1 + # chmod 644 /usr/share/man/man1/wd.1 + + Note, when pulling and updating `wd`, you'll need to do this again in case of changes to the manpage. + + +#### Completion + +If you're NOT using [oh-my-zsh](https://github.com/robbyrussell/oh-my-zsh) and you want to utelize the zsh-completion feature, you will also need to add the path to your `wd` installation (`~/bin/wd` if you used the automatic installer) to your `fpath`. E.g. in your `~/.zshrc`: + + fpath=(~/path/to/wd $fpath) + +Also, you may have to force a rebuild of `zcompdump` by running: + + $ rm -f ~/.zcompdump; compinit -**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) ### Usage @@ -24,6 +76,7 @@ $ wd ... This is a wrapper for the zsh `dirs` function. + (You might need `setopt AUTO_PUSHD` in your `.zshrc` if you hare not using [oh-my-zshell](https://github.com/robbyrussell/oh-my-zsh)). * Remove warp point test point: @@ -33,8 +86,55 @@ $ wd ls - * List warp points to current directory + * List warp points to current directory, or optionally, path to given warp point: $ wd show - * Print usage with no opts or the `help` argument. + * Remove warp points to non-existent directories. + + $ wd clean + + Use `clean!` to not be prompted with confirmation (force). + + * Print usage with no opts or the `help` argument: + + $ wd help + + * Print the running version of `wd`: + + $ wd --version + + * Specifically set the config file (default `~/.warprc`), which is useful when testing: + + $ wd --config ./file + + * Force `exit` with return code after running. This is not default, as it will *exit your terminal*, though required when testing/debugging. + + $ wd --debug + + * Silence all output: + + $ wd --quiet + + +### Testing + +`wd` comes with a small test suite, run with [shunit2](https://code.google.com/p/shunit2/). This can be used to confirm that things are working as it should on your setup, or to demonstrate an issue. + +To run, simply `cd` into the `test` directory and run the `tests.sh`. + + $ ./tests.sh + + +### License + +The project is licensed under the [MIT-license](https://github.com/mfaerevaag/wd/blob/master/LICENSE). + + +### Finally + +If you have issues, feedback or improvements, don't hesitate to report it or submit a pull-request. In the case of an issue, we would much appreciate if you would include a failing test in `test/tests.sh`. Explanation on how to run the tests, read the section "Testing" in this README. + +Credit to [altschuler](https://github.com/altschuler) for awesome idea. + +Hope you enjoy! diff --git a/plugins/wd/_wd.sh b/plugins/wd/_wd.sh index 0b03d8fff..2bb58dd31 100644 --- a/plugins/wd/_wd.sh +++ b/plugins/wd/_wd.sh @@ -21,7 +21,8 @@ function _wd() { 'add!:Overwrites existing warp point' 'rm:Removes the given warp point' 'ls:Outputs all stored warp points' - 'show:Outputs all warp points that point to the current directory' + 'show:Outputs all warp points that point to the current directory or shows a specific target directory for a point' + 'show:Outputs all warp points that point to the current directory or shows a specific target directory for a point' 'help:Show this extremely helpful text' '..:Go back to last directory' ) @@ -43,6 +44,9 @@ function _wd() { add) _message 'Write the name of your warp point' && ret=0 ;; + show) + _describe -t points "Warp points" warp_points && ret=0 + ;; esac ;; esac diff --git a/plugins/wd/wd.sh b/plugins/wd/wd.sh index dfb9ad89a..4e45b48e1 100755 --- a/plugins/wd/wd.sh +++ b/plugins/wd/wd.sh @@ -7,25 +7,301 @@ # # @github.com/mfaerevaag/wd - -## variables -readonly CONFIG=$HOME/.warprc +# version +readonly WD_VERSION=0.4 # colors -readonly BLUE="\033[96m" -readonly GREEN="\033[92m" -readonly YELLOW="\033[93m" -readonly RED="\033[91m" -readonly NOC="\033[m" +readonly WD_BLUE="\033[96m" +readonly WD_GREEN="\033[92m" +readonly WD_YELLOW="\033[93m" +readonly WD_RED="\033[91m" +readonly WD_NOC="\033[m" +## functions -## init +# helpers +wd_yesorno() +{ + # variables + local question="${1}" + local prompt="${question} " + local yes_RETVAL="0" + local no_RETVAL="3" + local RETVAL="" + local answer="" + + # read-eval loop + while true ; do + printf $prompt + read -r answer + + case ${answer:=${default}} in + Y|y|YES|yes|Yes ) + RETVAL=${yes_RETVAL} && \ + break + ;; + N|n|NO|no|No ) + RETVAL=${no_RETVAL} && \ + break + ;; + * ) + echo "Please provide a valid answer (y or n)" + ;; + esac + done + + return ${RETVAL} +} + +wd_print_msg() +{ + if [[ -z $wd_quiet_mode ]] + then + local color=$1 + local msg=$2 + + if [[ $color == "" || $msg == "" ]] + then + print " ${WD_RED}*${WD_NOC} Could not print message. Sorry!" + else + print " ${color}*${WD_NOC} ${msg}" + fi + fi +} + +wd_print_usage() +{ + cat <<- EOF +Usage: wd [command] + +Commands: + add Adds the current working directory to your warp points + add! Overwrites existing warp point + rm Removes the given warp point + show Print warp points to current directory + show Print path to given warp point + ls Print all stored warp points + clean! Remove points warping to nonexistent directories + + -v | --version Print version + -d | --debug Exit after execution with exit codes (for testing) + -c | --config Specify config file (default ~/.warprc) + -q | --quiet Suppress all output + + help Show this extremely helpful text +EOF +} + +wd_exit_fail() +{ + local msg=$1 + + wd_print_msg $WD_RED $1 + WD_EXIT_CODE=1 +} + +wd_exit_warn() +{ + local msg=$1 + + wd_print_msg $WD_YELLOW $msg + WD_EXIT_CODE=1 +} + +# core + +wd_warp() +{ + local point=$1 + + if [[ $point =~ "^\.+$" ]] + then + if [ $#1 < 2 ] + then + wd_exit_warn "Warping to current directory?" + else + (( n = $#1 - 1 )) + cd -$n > /dev/null + fi + elif [[ ${points[$point]} != "" ]] + then + cd ${points[$point]} + else + wd_exit_fail "Unknown warp point '${point}'" + fi +} + +wd_add() +{ + local force=$1 + local point=$2 + + if [[ $point =~ "^[\.]+$" ]] + then + wd_exit_fail "Warp point cannot be just dots" + elif [[ $point =~ "(\s|\ )+" ]] + then + wd_exit_fail "Warp point should not contain whitespace" + elif [[ $point == *:* ]] + then + wd_exit_fail "Warp point cannot contain colons" + elif [[ $point == "" ]] + then + wd_exit_fail "Warp point cannot be empty" + elif [[ ${points[$2]} == "" ]] || $force + then + wd_remove $point > /dev/null + printf "%q:%q\n" "${point}" "${PWD}" >> $WD_CONFIG + + wd_print_msg $WD_GREEN "Warp point added" + + # override exit code in case wd_remove did not remove any points + # TODO: we should handle this kind of logic better + WD_EXIT_CODE=0 + else + wd_exit_warn "Warp point '${point}' already exists. Use 'add!' to overwrite." + fi +} + +wd_remove() +{ + local point=$1 + + if [[ ${points[$point]} != "" ]] + then + local config_tmp=$WD_CONFIG.tmp + if sed -n "/^${point}:.*$/!p" $WD_CONFIG > $config_tmp && mv $config_tmp $WD_CONFIG + then + wd_print_msg $WD_GREEN "Warp point removed" + else + wd_exit_fail "Something bad happened! Sorry." + fi + else + wd_exit_fail "Warp point was not found" + fi +} + +wd_list_all() +{ + wd_print_msg $WD_BLUE "All warp points:" + + while IFS= read -r line + do + if [[ $line != "" ]] + then + arr=(${(s,:,)line}) + key=${arr[1]} + val=${arr[2]} + + if [[ -z $wd_quiet_mode ]] + then + printf "%20s -> %s\n" $key $val + fi + fi + done <<< $(sed "s:${HOME}:~:g" $WD_CONFIG) +} + +wd_show() +{ + local name_arg=$1 + # if there's an argument we look up the value + if [[ ! -z $name_arg ]] + then + if [[ -z $points[$name_arg] ]] + then + wd_print_msg $WD_BLUE "No warp point named $name_arg" + else + wd_print_msg $WD_GREEN "Warp point: ${WD_GREEN}$name_arg${WD_NOC} -> $points[$name_arg]" + fi + else + # hax to create a local empty array + local wd_matches + wd_matches=() + # do a reverse lookup to check whether PWD is in $points + if [[ ${points[(r)$PWD]} == $PWD ]] + then + for name in ${(k)points} + do + if [[ $points[$name] == $PWD ]] + then + wd_matches[$(($#wd_matches+1))]=$name + fi + done + + wd_print_msg $WD_BLUE "$#wd_matches warp point(s) to current directory: ${WD_GREEN}$wd_matches${WD_NOC}" + else + wd_print_msg $WD_BLUE "No warp points to $cwd" + fi + fi +} + +wd_clean() { + local force=$1 + local count=0 + local wd_tmp="" + + while read line + do + if [[ $line != "" ]] + then + arr=(${(s,:,)line}) + key=${arr[1]} + val=${arr[2]} + + if [ -d "$val" ] + then + wd_tmp=$wd_tmp"\n"`echo $line` + else + wd_print_msg $WD_YELLOW "Nonexistent directory: ${key} -> ${val}" + count=$((count+1)) + fi + fi + done < $WD_CONFIG + + if [[ $count -eq 0 ]] + then + wd_print_msg $WD_BLUE "No warp points to clean, carry on!" + else + if $force || wd_yesorno "Removing ${count} warp points. Continue? (Y/n)" + then + echo $wd_tmp >! $WD_CONFIG + wd_print_msg $WD_GREEN "Cleanup complete. ${count} warp point(s) removed" + else + wd_print_msg $WD_BLUE "Cleanup aborted" + fi + fi +} + +local WD_CONFIG=$HOME/.warprc +local WD_QUIET=0 +local WD_EXIT_CODE=0 +local WD_DEBUG=0 + +# Parse 'meta' options first to avoid the need to have them before +# other commands. The `-D` flag consumes recognized options so that +# the actual command parsing won't be affected. + +zparseopts -D -E \ + c:=wd_alt_config -config:=wd_alt_config \ + q=wd_quiet_mode -quiet=wd_quiet_mode \ + v=wd_print_version -version=wd_print_version \ + d=wd_debug_mode -debug=wd_debug_mode + +if [[ ! -z $wd_print_version ]] +then + echo "wd version $WD_VERSION" +fi + +if [[ ! -z $wd_alt_config ]] +then + WD_CONFIG=$wd_alt_config[2] +fi # check if config file exists -if [ ! -e $CONFIG ] +if [ ! -e $WD_CONFIG ] then # if not, create config file - touch $CONFIG + touch $WD_CONFIG fi # load warp points @@ -37,149 +313,26 @@ do val=${arr[2]} points[$key]=$val -done < $CONFIG - - -## functions - -wd_warp() -{ - local point=$1 - - if [[ $point =~ "^\.+$" ]] - then - if [ $#1 < 2 ] - then - wd_print_msg $YELLOW "Warping to current directory?" - else - (( n = $#1 - 1 )) - cd -$n > /dev/null - fi - elif [[ ${points[$point]} != "" ]] - then - cd ${points[$point]} - else - wd_print_msg $RED "Unknown warp point '${point}'" - fi -} - -wd_add() -{ - local force=$1 - local point=$2 - - if [[ $point =~ "^[\.]+$" ]] - then - wd_print_msg $RED "Warp point cannot be just dots" - elif [[ $point =~ "(\s|\ )+" ]] - then - wd_print_msg $RED "Warp point should not contain whitespace" - 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" - else - wd_print_msg $YELLOW "Warp point '${point}' already exists. Use 'add!' to overwrite." - fi -} - -wd_remove() -{ - local point=$1 - - if [[ ${points[$point]} != "" ]] - then - if sed -i.bak "s,^${point}:.*$,,g" $CONFIG - then - wd_print_msg $GREEN "Warp point removed" - else - wd_print_msg $RED "Something bad happened! Sorry." - fi - else - wd_print_msg $RED "Warp point was not found" - fi -} - -wd_list_all() -{ - wd_print_msg $BLUE "All warp points:" - - while IFS= read -r line - do - if [[ $line != "" ]] - then - arr=(${(s,:,)line}) - key=${arr[1]} - val=${arr[2]} - - printf "%20s -> %s\n" $key $val - fi - 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() -{ - local color=$1 - local msg=$2 - - if [[ $color == "" || $msg == "" ]] - then - print " ${RED}*${NOC} Could not print message. Sorry!" - else - print " ${color}*${NOC} ${msg}" - fi -} - -wd_print_usage() -{ - cat <<- EOF -Usage: wd [add|-a|--add] [rm|-r|--remove] - -Commands: - add Adds the current working directory to your warp points - add! Overwrites existing warp point - rm Removes the given warp point - show Outputs warp points to current directory - ls Outputs all stored warp points - help Show this extremely helpful text -EOF -} - - -## run +done < $WD_CONFIG # get opts -args=$(getopt -o a:r:lhs -l add:,rm:,ls,help,show -- $*) +args=$(getopt -o a:r:c:lhs -l add:,rm:,clean\!,ls,help,show -- $*) -# check if no arguments were given -if [[ $? -ne 0 || $#* -eq 0 ]] +# check if no arguments were given, and that version is not set +if [[ ($? -ne 0 || $#* -eq 0) && -z $wd_print_version ]] then wd_print_usage -# check if config file is writeable -elif [ ! -w $CONFIG ] + # check if config file is writeable +elif [ ! -w $WD_CONFIG ] then # do nothing # can't run `exit`, as this would exit the executing shell - wd_print_msg $RED "\'$CONFIG\' is not writeable." + wd_exit_fail "\'$WD_CONFIG\' is not writeable." else + + # parse rest of options for o do case "$o" @@ -205,7 +358,15 @@ else break ;; -s|--show|show) - wd_show + wd_show $2 + break + ;; + -c|--clean|clean) + wd_clean false + break + ;; + -c!|--clean!|clean!) + wd_clean true break ;; *) @@ -229,8 +390,19 @@ unset wd_remove unset wd_show unset wd_list_all unset wd_print_msg +unset wd_yesorno unset wd_print_usage +unset wd_alt_config +unset wd_quiet_mode +unset wd_print_version unset args unset points unset val &> /dev/null # fixes issue #1 + +if [[ ! -z $wd_debug_mode ]] +then + exit $WD_EXIT_CODE +else + unset wd_debug_mode +fi From b5093859af472c04dfca33adfeba49bfbe417c9d Mon Sep 17 00:00:00 2001 From: Markus Faerevaag Date: Mon, 8 Sep 2014 09:09:44 +0200 Subject: [PATCH 081/107] [wd] Minor bug fix in show command --- plugins/wd/wd.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/wd/wd.sh b/plugins/wd/wd.sh index 4e45b48e1..d63e92472 100755 --- a/plugins/wd/wd.sh +++ b/plugins/wd/wd.sh @@ -230,7 +230,7 @@ wd_show() wd_print_msg $WD_BLUE "$#wd_matches warp point(s) to current directory: ${WD_GREEN}$wd_matches${WD_NOC}" else - wd_print_msg $WD_BLUE "No warp points to $cwd" + wd_print_msg $WD_YELLOW "No warp point to $(echo $PWD | sed "s:$HOME:~:")" fi fi } From 7a5d68c96332b5f50969f75384f67694639dbce2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C3=96zg=C3=BCr?= Date: Sat, 13 Sep 2014 10:30:16 +0300 Subject: [PATCH 082/107] Remove j alias for autojump j alias conflicts with autojump's j() function. Fixes #2989 --- plugins/common-aliases/common-aliases.plugin.zsh | 1 - 1 file changed, 1 deletion(-) diff --git a/plugins/common-aliases/common-aliases.plugin.zsh b/plugins/common-aliases/common-aliases.plugin.zsh index 228a39da0..90d59910c 100644 --- a/plugins/common-aliases/common-aliases.plugin.zsh +++ b/plugins/common-aliases/common-aliases.plugin.zsh @@ -46,7 +46,6 @@ alias ff='find . -type f -name' alias h='history' alias hgrep="fc -El 0 | grep" alias help='man' -alias j='jobs' alias p='ps -f' alias sortnr='sort -n -r' alias unexport='unset' From 5f38a537cef0d79c9d53c01e8f88d150e985c70a Mon Sep 17 00:00:00 2001 From: Moinak Ghosh Date: Tue, 16 Sep 2014 22:29:52 +0530 Subject: [PATCH 083/107] Update Solaris changes to use OSTYPE and zsh datetime module. --- lib/completion.zsh | 2 +- oh-my-zsh.sh | 1 - plugins/colored-man/colored-man.plugin.zsh | 2 +- tools/check_for_upgrade.sh | 12 ++++-------- 4 files changed, 6 insertions(+), 11 deletions(-) diff --git a/lib/completion.zsh b/lib/completion.zsh index faea36118..83b6efb66 100644 --- a/lib/completion.zsh +++ b/lib/completion.zsh @@ -25,7 +25,7 @@ bindkey -M menuselect '^o' accept-and-infer-next-history zstyle ':completion:*:*:*:*:*' menu select zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#) ([0-9a-z-]#)*=01;34=0=01' -if [ "$PLAT" = "SunOS" ] +if [ "$OSTYPE[0,7]" = "solaris" ] then zstyle ':completion:*:*:*:*:processes' command "ps -u `whoami` -o pid,user,comm" else diff --git a/oh-my-zsh.sh b/oh-my-zsh.sh index 4683c2bc0..c217b91bb 100644 --- a/oh-my-zsh.sh +++ b/oh-my-zsh.sh @@ -1,4 +1,3 @@ -PLAT=`uname -s` # Check for updates on initial load... if [ "$DISABLE_AUTO_UPDATE" != "true" ]; then /usr/bin/env ZSH=$ZSH DISABLE_UPDATE_PROMPT=$DISABLE_UPDATE_PROMPT zsh -f $ZSH/tools/check_for_upgrade.sh diff --git a/plugins/colored-man/colored-man.plugin.zsh b/plugins/colored-man/colored-man.plugin.zsh index 4956f4346..5c613f49d 100644 --- a/plugins/colored-man/colored-man.plugin.zsh +++ b/plugins/colored-man/colored-man.plugin.zsh @@ -1,4 +1,4 @@ -if [ "${PLAT}" = "SunOS" ] +if [ "$OSTYPE[0,7]" = "solaris" ] then if [ ! -x ${HOME}/bin/nroff ] then diff --git a/tools/check_for_upgrade.sh b/tools/check_for_upgrade.sh index 1aba9a272..0e8845ab4 100644 --- a/tools/check_for_upgrade.sh +++ b/tools/check_for_upgrade.sh @@ -1,13 +1,9 @@ -#!/bin/sh +#!/usr/bin/env zsh + +zmodload zsh/datetime -PLAT=`uname -s` function _current_epoch() { - if [ "$PLAT" = "SunOS" ] - then - echo $(($(perl -e 'print time') / 60 / 60 / 24)) - else - echo $(($(date +%s) / 60 / 60 / 24)) - fi + echo $EPOCHSECONDS } function _update_zsh_update() { From 90762eee49efcdfd6b92ad5d5d9e5f43d113ae0b Mon Sep 17 00:00:00 2001 From: Moinak Ghosh Date: Wed, 17 Sep 2014 11:11:48 +0530 Subject: [PATCH 084/107] Convert epoch_target from days to seconds. --- tools/check_for_upgrade.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tools/check_for_upgrade.sh b/tools/check_for_upgrade.sh index 0e8845ab4..f49bb151f 100644 --- a/tools/check_for_upgrade.sh +++ b/tools/check_for_upgrade.sh @@ -22,6 +22,8 @@ if [[ -z "$epoch_target" ]]; then epoch_target=13 fi +epoch_target_seconds=$((epoch_target * 86400)) + [ -f ~/.profile ] && source ~/.profile # Cancel upgrade if the current user doesn't have write permissions for the @@ -37,7 +39,7 @@ then fi epoch_diff=$(($(_current_epoch) - $LAST_EPOCH)) - if [ $epoch_diff -gt $epoch_target ] + if [ $epoch_diff -gt $epoch_target_seconds ] then if [ "$DISABLE_UPDATE_PROMPT" = "true" ] then From 3a3973284534c318e2cb987a0db1121302d04e10 Mon Sep 17 00:00:00 2001 From: Moinak Ghosh Date: Tue, 14 Oct 2014 12:05:01 +0530 Subject: [PATCH 085/107] Change to epoch target in days instead of seconds. --- tools/check_for_upgrade.sh | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/tools/check_for_upgrade.sh b/tools/check_for_upgrade.sh index f49bb151f..a8ba4820c 100644 --- a/tools/check_for_upgrade.sh +++ b/tools/check_for_upgrade.sh @@ -3,7 +3,7 @@ zmodload zsh/datetime function _current_epoch() { - echo $EPOCHSECONDS + echo $(( $EPOCHSECONDS / 60 / 60 / 24 )) } function _update_zsh_update() { @@ -22,8 +22,6 @@ if [[ -z "$epoch_target" ]]; then epoch_target=13 fi -epoch_target_seconds=$((epoch_target * 86400)) - [ -f ~/.profile ] && source ~/.profile # Cancel upgrade if the current user doesn't have write permissions for the @@ -39,7 +37,7 @@ then fi epoch_diff=$(($(_current_epoch) - $LAST_EPOCH)) - if [ $epoch_diff -gt $epoch_target_seconds ] + if [ $epoch_diff -gt $epoch_target ] then if [ "$DISABLE_UPDATE_PROMPT" = "true" ] then From 71ee0d7b2bc717e815cddc9ee8e062f84587d2c4 Mon Sep 17 00:00:00 2001 From: Nikhil Gupta Date: Sun, 12 Oct 2014 08:30:08 +0530 Subject: [PATCH 086/107] added support for GNU version of `date` --- plugins/emoji-clock/emoji-clock.plugin.zsh | 28 ++++++++++++---------- 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/plugins/emoji-clock/emoji-clock.plugin.zsh b/plugins/emoji-clock/emoji-clock.plugin.zsh index a69446e3c..0a55528f0 100644 --- a/plugins/emoji-clock/emoji-clock.plugin.zsh +++ b/plugins/emoji-clock/emoji-clock.plugin.zsh @@ -8,21 +8,25 @@ # ----------------------------------------------------------------------------- function emoji-clock() { - hour=$(date -v '+15M' '+%I') - minutes=$(date -v '+15M' '+%M') + # Add 15 minutes to the current time and save the value as $minutes. + (( minutes = $(date '+%M') + 15 )) + (( hour = $(date '+%I') + minutes / 60 )) + # make sure minutes and hours don't exceed 60 nor 12 respectively + (( minutes %= 60 )); (( hour %= 12 )) + case $hour in - 01) clock="🕐"; [ $minutes -ge 30 ] && clock="🕜";; - 02) clock="🕑"; [ $minutes -ge 30 ] && clock="🕝";; - 03) clock="🕒"; [ $minutes -ge 30 ] && clock="🕞";; - 04) clock="🕓"; [ $minutes -ge 30 ] && clock="🕟";; - 05) clock="🕔"; [ $minutes -ge 30 ] && clock="🕠";; - 06) clock="🕕"; [ $minutes -ge 30 ] && clock="🕡";; - 07) clock="🕖"; [ $minutes -ge 30 ] && clock="🕢";; - 08) clock="🕗"; [ $minutes -ge 30 ] && clock="🕣";; - 09) clock="🕘"; [ $minutes -ge 30 ] && clock="🕤";; + 0) clock="🕛"; [ $minutes -ge 30 ] && clock="🕧";; + 1) clock="🕐"; [ $minutes -ge 30 ] && clock="🕜";; + 2) clock="🕑"; [ $minutes -ge 30 ] && clock="🕝";; + 3) clock="🕒"; [ $minutes -ge 30 ] && clock="🕞";; + 4) clock="🕓"; [ $minutes -ge 30 ] && clock="🕟";; + 5) clock="🕔"; [ $minutes -ge 30 ] && clock="🕠";; + 6) clock="🕕"; [ $minutes -ge 30 ] && clock="🕡";; + 7) clock="🕖"; [ $minutes -ge 30 ] && clock="🕢";; + 8) clock="🕗"; [ $minutes -ge 30 ] && clock="🕣";; + 9) clock="🕘"; [ $minutes -ge 30 ] && clock="🕤";; 10) clock="🕙"; [ $minutes -ge 30 ] && clock="🕥";; 11) clock="🕚"; [ $minutes -ge 30 ] && clock="🕦";; - 12) clock="🕛"; [ $minutes -ge 30 ] && clock="🕧";; *) clock="⌛";; esac echo $clock From d794a502f6e551c2ccb1479fc68dbae352c839f5 Mon Sep 17 00:00:00 2001 From: Neal Date: Tue, 14 Oct 2014 13:57:02 -0500 Subject: [PATCH 087/107] Update path for the iOS simulator. --- plugins/xcode/xcode.plugin.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/xcode/xcode.plugin.zsh b/plugins/xcode/xcode.plugin.zsh index e59bee8c7..3d7781bf9 100644 --- a/plugins/xcode/xcode.plugin.zsh +++ b/plugins/xcode/xcode.plugin.zsh @@ -16,4 +16,4 @@ function xcsel { alias xcb='xcodebuild' alias xcp='xcode-select --print-path' -alias simulator='open $(xcode-select -p)/Platforms/iPhoneSimulator.platform/Developer/Applications/iPhone\ Simulator.app' +alias simulator='open $(xcode-select -p)/Applications/iOS\ Simulator.app' From 6f1eb081e343208f881b19d1c9499e6e93b29e4b Mon Sep 17 00:00:00 2001 From: willmendesneto Date: Thu, 16 Oct 2014 23:32:42 -0300 Subject: [PATCH 088/107] Fix error using compass search alias --- plugins/frontend-search/frontend-search.plugin.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/frontend-search/frontend-search.plugin.zsh b/plugins/frontend-search/frontend-search.plugin.zsh index 38b1a80ea..f1d45b0d1 100644 --- a/plugins/frontend-search/frontend-search.plugin.zsh +++ b/plugins/frontend-search/frontend-search.plugin.zsh @@ -118,7 +118,7 @@ alias jquery='frontend jquery' alias mdn='frontend mdn' # pre processors frameworks -alias compass='frontend compass' +alias compassdoc='frontend compass' # important links alias html5please='frontend html5please' From 9f801ff48d46847e3c91e58b2ba2f5b61f6dcef8 Mon Sep 17 00:00:00 2001 From: Markus Faerevaag Date: Tue, 21 Oct 2014 09:51:13 +0200 Subject: [PATCH 089/107] [wd] fix space in path --- plugins/wd/wd.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/wd/wd.sh b/plugins/wd/wd.sh index d63e92472..5ecbdc503 100755 --- a/plugins/wd/wd.sh +++ b/plugins/wd/wd.sh @@ -139,7 +139,7 @@ wd_add() if [[ $point =~ "^[\.]+$" ]] then wd_exit_fail "Warp point cannot be just dots" - elif [[ $point =~ "(\s|\ )+" ]] + elif [[ $point =~ "[[:space:]]+" ]] then wd_exit_fail "Warp point should not contain whitespace" elif [[ $point == *:* ]] @@ -151,7 +151,7 @@ wd_add() elif [[ ${points[$2]} == "" ]] || $force then wd_remove $point > /dev/null - printf "%q:%q\n" "${point}" "${PWD}" >> $WD_CONFIG + printf "%q:%s\n" "${point}" "${PWD}" >> $WD_CONFIG wd_print_msg $WD_GREEN "Warp point added" From 36e05e95adf6218eb8c154706a5a101b687d6368 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Cornell=C3=A0?= Date: Wed, 22 Oct 2014 15:16:15 +0200 Subject: [PATCH 090/107] Don't set auto_name_dirs because it messes up prompts MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit From http://zsh.sourceforge.net/Doc/Release/Options.html#Completion-4 > AUTO_NAME_DIRS > Any parameter that is set to the absolute name of a directory immediately > becomes a name for that directory, that will be used by the ‘%~’ and > related prompt sequences, and will be available when completion is performed > on a word starting with ‘~’. > (Otherwise, the parameter must be used in the form ‘~param’ first.) Explained in more detail in https://github.com/wayneeseguin/rvm/issues/3091#issuecomment-60083194 Related issues: https://github.com/robbyrussell/oh-my-zsh/issues/2857 https://github.com/robbyrussell/oh-my-zsh/issues/3238 https://github.com/wayneeseguin/rvm/issues/3091 --- lib/directories.zsh | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/directories.zsh b/lib/directories.zsh index 1896945f4..02743e0c7 100644 --- a/lib/directories.zsh +++ b/lib/directories.zsh @@ -1,5 +1,4 @@ # Changing/making/removing directory -setopt auto_name_dirs setopt auto_pushd setopt pushd_ignore_dups setopt pushdminus From b9a11b16fec80c5d68f8a215565da3624748197f Mon Sep 17 00:00:00 2001 From: Andrii Kostenko Date: Sat, 6 Sep 2014 22:44:18 +0300 Subject: [PATCH 091/107] fixed URL on github.io github.io moved to https and http returns 301 redirect --- plugins/gitignore/gitignore.plugin.zsh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/gitignore/gitignore.plugin.zsh b/plugins/gitignore/gitignore.plugin.zsh index be037d87a..5bf302452 100644 --- a/plugins/gitignore/gitignore.plugin.zsh +++ b/plugins/gitignore/gitignore.plugin.zsh @@ -1,7 +1,7 @@ -function gi() { curl http://www.gitignore.io/api/$@ ;} +function gi() { curl https://www.gitignore.io/api/$@ ;} _gitignireio_get_command_list() { - curl -s http://www.gitignore.io/api/list | tr "," "\n" + curl -s https://www.gitignore.io/api/list | tr "," "\n" } _gitignireio () { From 69a0b280c7939406c930082469756e217d1bd789 Mon Sep 17 00:00:00 2001 From: Alex Shaindlin Date: Wed, 15 Oct 2014 09:33:49 -0400 Subject: [PATCH 092/107] Fix misspellings in gitignore plugin --- plugins/gitignore/gitignore.plugin.zsh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/plugins/gitignore/gitignore.plugin.zsh b/plugins/gitignore/gitignore.plugin.zsh index 5bf302452..3f2a6dec1 100644 --- a/plugins/gitignore/gitignore.plugin.zsh +++ b/plugins/gitignore/gitignore.plugin.zsh @@ -1,12 +1,12 @@ function gi() { curl https://www.gitignore.io/api/$@ ;} -_gitignireio_get_command_list() { +_gitignoreio_get_command_list() { curl -s https://www.gitignore.io/api/list | tr "," "\n" } -_gitignireio () { +_gitignoreio () { compset -P '*,' - compadd -S '' `_gitignireio_get_command_list` + compadd -S '' `_gitignoreio_get_command_list` } -compdef _gitignireio gi +compdef _gitignoreio gi From 04d1428fcbda05a96d54396679c6c74c7006b032 Mon Sep 17 00:00:00 2001 From: WooParadog Date: Thu, 9 Oct 2014 13:17:35 +0800 Subject: [PATCH 093/107] Fix gitignore curl, should follow redirects --- plugins/gitignore/gitignore.plugin.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/gitignore/gitignore.plugin.zsh b/plugins/gitignore/gitignore.plugin.zsh index 3f2a6dec1..484c6a699 100644 --- a/plugins/gitignore/gitignore.plugin.zsh +++ b/plugins/gitignore/gitignore.plugin.zsh @@ -1,4 +1,4 @@ -function gi() { curl https://www.gitignore.io/api/$@ ;} +function gi() { curl -L https://www.gitignore.io/api/$@ ;} _gitignoreio_get_command_list() { curl -s https://www.gitignore.io/api/list | tr "," "\n" From b452cafb163cde6619ac741027251bed2709f78e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Cornell=C3=A0?= Date: Wed, 15 Oct 2014 17:17:04 +0200 Subject: [PATCH 094/107] Follow-redirect and silent mode curl throughout gitignore This commit completes previous efforts and standardizes both curl commands into using silent mode and following redirects in case the URL changes again in the future. --- plugins/gitignore/gitignore.plugin.zsh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/gitignore/gitignore.plugin.zsh b/plugins/gitignore/gitignore.plugin.zsh index 484c6a699..481d487ba 100644 --- a/plugins/gitignore/gitignore.plugin.zsh +++ b/plugins/gitignore/gitignore.plugin.zsh @@ -1,7 +1,7 @@ -function gi() { curl -L https://www.gitignore.io/api/$@ ;} +function gi() { curl -sL https://www.gitignore.io/api/$@ ;} _gitignoreio_get_command_list() { - curl -s https://www.gitignore.io/api/list | tr "," "\n" + curl -sL https://www.gitignore.io/api/list | tr "," "\n" } _gitignoreio () { From 071de5fb39ff951bffe75a4d6f590d85f25871f3 Mon Sep 17 00:00:00 2001 From: Neal Date: Mon, 27 Oct 2014 22:17:11 -0500 Subject: [PATCH 095/107] Make the simulator alias work with older Xcode versions as well. --- plugins/xcode/xcode.plugin.zsh | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/plugins/xcode/xcode.plugin.zsh b/plugins/xcode/xcode.plugin.zsh index 3d7781bf9..b7b75cf93 100644 --- a/plugins/xcode/xcode.plugin.zsh +++ b/plugins/xcode/xcode.plugin.zsh @@ -16,4 +16,9 @@ function xcsel { alias xcb='xcodebuild' alias xcp='xcode-select --print-path' -alias simulator='open $(xcode-select -p)/Applications/iOS\ Simulator.app' + +if [[ -d $(xcode-select -p)/Platforms/iPhoneSimulator.platform/Developer/Applications/iPhone\ Simulator.app ]]; then + alias simulator='open $(xcode-select -p)/Platforms/iPhoneSimulator.platform/Developer/Applications/iPhone\ Simulator.app' +else + alias simulator='open $(xcode-select -p)/Applications/iOS\ Simulator.app' +fi From b6012bc2c32a124183d7c5713edee4e2341e1d3f Mon Sep 17 00:00:00 2001 From: Pavol Juhas Date: Wed, 2 Apr 2014 19:25:47 -0400 Subject: [PATCH 096/107] Update to the upstream smart-change-directory. Synced with the master branch pavoljuhas/smart-change-directory@20b5a80cf05f72c07e88a9b166593f52517029e4. --- plugins/scd/README.md | 15 +++--- plugins/scd/scd | 119 +++++++++++++++++++++++++++--------------- 2 files changed, 86 insertions(+), 48 deletions(-) diff --git a/plugins/scd/README.md b/plugins/scd/README.md index 197cea50a..86ab67203 100644 --- a/plugins/scd/README.md +++ b/plugins/scd/README.md @@ -11,12 +11,9 @@ the index. A selection menu is displayed in case of several matches, with a preference given to recently visited paths. `scd` can create permanent directory aliases, which appear as named directories in zsh session. -## INSTALLATION +## INSTALLATION NOTES -For oh-my-zsh, add `scd` to the `plugins` array in the ~/.zshrc file as in the -[template file](../../templates/zshrc.zsh-template#L45). - -Besides zsh, `scd` can be used with *bash*, *dash* or *tcsh* +Besides oh-my-zsh, `scd` can be used with *bash*, *dash* or *tcsh* shells and is also available as [Vim](http://www.vim.org/) plugin and [IPython](http://ipython.org/) extension. For installation details, see https://github.com/pavoljuhas/smart-change-directory. @@ -34,7 +31,7 @@ scd [options] [pattern1 pattern2 ...] add specified directories to the directory index.
--unindex
- remove specified directories from the index.
+ remove current or specified directories from the index.
-r, --recursive
apply options --add or --unindex recursively.
@@ -47,6 +44,10 @@ scd [options] [pattern1 pattern2 ...] remove ALIAS definition for the current or specified directory from ~/.scdalias.zsh.
+-A, --all
+ include all matching directories. Disregard matching by directory + alias and filtering of less likely paths.
+ --list
show matching directories and exit.
@@ -70,7 +71,7 @@ scd doc scd a b c # Change to a directory path that ends with "ts" -scd "ts(#e)" +scd "ts$" # Show selection menu and ranking of 20 most likely directories scd -v diff --git a/plugins/scd/scd b/plugins/scd/scd index 1567d2736..39b28237d 100755 --- a/plugins/scd/scd +++ b/plugins/scd/scd @@ -11,20 +11,22 @@ fi local DOC='scd -- smart change to a recently used directory usage: scd [options] [pattern1 pattern2 ...] Go to a directory path that contains all fixed string patterns. Prefer -recently visited directories and directories with patterns in their tail -component. Display a selection menu in case of multiple matches. +recent or frequently visited directories as found in the directory index. +Display a selection menu in case of multiple matches. Options: - -a, --add add specified directories to the directory index - --unindex remove specified directories from the index - -r, --recursive apply options --add or --unindex recursively + -a, --add add specified directories to the directory index. + --unindex remove current or specified directories from the index. + -r, --recursive apply options --add or --unindex recursively. --alias=ALIAS create alias for the current or specified directory and - store it in ~/.scdalias.zsh + store it in ~/.scdalias.zsh. --unalias remove ALIAS definition for the current or specified - directory from ~/.scdalias.zsh - --list show matching directories and exit - -v, --verbose display directory rank in the selection menu - -h, --help display this message and exit + directory from ~/.scdalias.zsh. + -A, --all include all matching directories. Disregard matching by + directory alias and filtering of less likely paths. + --list show matching directories and exit. + -v, --verbose display directory rank in the selection menu. + -h, --help display this message and exit. ' local SCD_HISTFILE=${SCD_HISTFILE:-${HOME}/.scdhistory} @@ -35,9 +37,9 @@ local SCD_THRESHOLD=${SCD_THRESHOLD:-0.005} local SCD_SCRIPT=${RUNNING_AS_COMMAND:+$SCD_SCRIPT} local SCD_ALIAS=~/.scdalias.zsh -local ICASE a d m p i tdir maxrank threshold +local ICASE a d m p i maxrank threshold local opt_help opt_add opt_unindex opt_recursive opt_verbose -local opt_alias opt_unalias opt_list +local opt_alias opt_unalias opt_all opt_list local -A drank dalias local dmatching local last_directory @@ -56,7 +58,8 @@ zmodload -i zsh/zutil zmodload -i zsh/datetime zparseopts -D -- a=opt_add -add=opt_add -unindex=opt_unindex \ r=opt_recursive -recursive=opt_recursive \ - -alias:=opt_alias -unalias=opt_unalias -list=opt_list \ + -alias:=opt_alias -unalias=opt_unalias \ + A=opt_all -all=opt_all -list=opt_list \ v=opt_verbose -verbose=opt_verbose h=opt_help -help=opt_help \ || $EXIT $? @@ -68,6 +71,11 @@ fi # load directory aliases if they exist [[ -r $SCD_ALIAS ]] && source $SCD_ALIAS +# Private internal functions are prefixed with _scd_Y19oug_. +# Clean them up when the scd function returns. +setopt localtraps +trap 'unfunction -m "_scd_Y19oug_*"' EXIT + # works faster than the (:a) modifier and is compatible with zsh 4.2.6 _scd_Y19oug_abspath() { set -A $1 ${(ps:\0:)"$( @@ -123,11 +131,52 @@ if [[ -n $opt_unalias ]]; then $EXIT $? fi +# The "compress" function collapses repeated directories to +# one entry with a time stamp that gives equivalent-probability. +_scd_Y19oug_compress() { + awk -v epochseconds=$EPOCHSECONDS -v meanlife=$SCD_MEANLIFE ' + BEGIN { FS = "[:;]"; } + length($0) < 4096 && $2 > 0 { + tau = 1.0 * ($2 - epochseconds) / meanlife; + if (tau < -6.9078) tau = -6.9078; + prob = exp(tau); + sub(/^[^;]*;/, ""); + if (NF) { + dlist[last[$0]] = ""; + dlist[NR] = $0; + last[$0] = NR; + ptot[$0] += prob; + } + } + END { + for (i = 1; i <= NR; ++i) { + d = dlist[i]; + if (d) { + ts = log(ptot[d]) * meanlife + epochseconds; + printf(": %.0f:0;%s\n", ts, d); + } + } + } + ' $* +} + # Rewrite directory index if it is at least 20% oversized if [[ -s $SCD_HISTFILE ]] && \ (( $(wc -l <$SCD_HISTFILE) > 1.2 * $SCD_HISTSIZE )); then - m=( ${(f)"$(<$SCD_HISTFILE)"} ) - print -lr -- ${m[-$SCD_HISTSIZE,-1]} >| ${SCD_HISTFILE} + # compress repeated entries + m=( ${(f)"$(_scd_Y19oug_compress $SCD_HISTFILE)"} ) + # purge non-existent directories + m=( ${(f)"$( + for a in $m; do + if [[ -d ${a#*;} ]]; then print -r -- $a; fi + done + )"} + ) + # cut old entries if still oversized + if [[ $#m -gt $SCD_HISTSIZE ]]; then + m=( ${m[-$SCD_HISTSIZE,-1]} ) + fi + print -lr -- $m >| ${SCD_HISTFILE} fi # Determine the last recorded directory @@ -135,7 +184,6 @@ if [[ -s ${SCD_HISTFILE} ]]; then last_directory=${"$(tail -1 ${SCD_HISTFILE})"#*;} fi -# Internal functions are prefixed with "_scd_Y19oug_". # The "record" function adds its arguments to the directory index. _scd_Y19oug_record() { while [[ -n $last_directory && $1 == $last_directory ]]; do @@ -217,7 +265,7 @@ _scd_Y19oug_action() { # set global arrays dmatching and drank _scd_Y19oug_match() { ## single argument that is an existing directory or directory alias - if [[ $# == 1 ]] && \ + if [[ -z $opt_all && $# == 1 ]] && \ [[ -d ${d::=$1} || -d ${d::=${nameddirs[$1]}} ]] && [[ -x $d ]]; then _scd_Y19oug_abspath dmatching $d @@ -227,6 +275,8 @@ _scd_Y19oug_match() { # ignore case unless there is an argument with an uppercase letter [[ "$*" == *[[:upper:]]* ]] || ICASE='(#i)' + # support "$" as an anchor for the directory name ending + argv=( ${argv/(#m)?[$](#e)/${MATCH[1]}(#e)} ) # calculate rank of all directories in the SCD_HISTFILE and keep it as drank # include a dummy entry for splitting of an empty string is buggy @@ -237,10 +287,10 @@ _scd_Y19oug_match() { BEGIN { FS = "[:;]"; } length($0) < 4096 && $2 > 0 { tau = 1.0 * ($2 - epochseconds) / meanlife; - if (tau < -4.61) tau = -4.61; - prec = exp(tau); + if (tau < -6.9078) tau = -6.9078; + prob = exp(tau); sub(/^[^;]*;/, ""); - if (NF) ptot[$0] += prec; + if (NF) ptot[$0] += prob; } END { for (di in ptot) { print di; print ptot[di]; } }' )"} @@ -249,9 +299,12 @@ _scd_Y19oug_match() { # filter drank to the entries that match all arguments for a; do - p=${ICASE}"*${a}*" + p=${ICASE}"*(${a})*" drank=( ${(kv)drank[(I)${~p}]} ) done + # require at least one argument matches the directory name + p=${ICASE}"*(${(j:|:)argv})[^/]#" + drank=( ${(kv)drank[(I)${~p}]} ) # build a list of matching directories reverse-sorted by their probabilities dmatching=( ${(f)"$( @@ -261,26 +314,6 @@ _scd_Y19oug_match() { )"} ) - # if some directory paths match all patterns in order, discard all others - p=${ICASE}"*${(j:*:)argv}*" - m=( ${(M)dmatching:#${~p}} ) - [[ -d ${m[1]} ]] && dmatching=( $m ) - # if some directory names match last pattern, discard all others - p=${ICASE}"*${(j:*:)argv}[^/]#" - m=( ${(M)dmatching:#${~p}} ) - [[ -d ${m[1]} ]] && dmatching=( $m ) - # if some directory names match all patterns, discard all others - m=( $dmatching ) - for a; do - p=${ICASE}"*/[^/]#${a}[^/]#" - m=( ${(M)m:#${~p}} ) - done - [[ -d ${m[1]} ]] && dmatching=( $m ) - # if some directory names match all patterns in order, discard all others - p=${ICASE}"/*${(j:[^/]#:)argv}[^/]#" - m=( ${(M)dmatching:#${~p}} ) - [[ -d ${m[1]} ]] && dmatching=( $m ) - # do not match $HOME or $PWD when run without arguments if [[ $# == 0 ]]; then dmatching=( ${dmatching:#(${HOME}|${PWD})} ) @@ -302,6 +335,9 @@ _scd_Y19oug_match() { # discard all directories below the rank threshold threshold=$(( maxrank * SCD_THRESHOLD )) + if [[ -n ${opt_all} ]]; then + threshold=0 + fi dmatching=( ${^dmatching}(Ne:'(( ${drank[$REPLY]} >= threshold ))':) ) } @@ -339,6 +375,7 @@ fi ## here we have multiple matches - display selection menu a=( {a-z} {A-Z} ) +a=( ${a[1,${#dmatching}]} ) p=( ) for i in {1..${#dmatching}}; do [[ -n ${a[i]} ]] || break From eae70054d15948cc6ddb3d8d4f252ff2c7cf6ad5 Mon Sep 17 00:00:00 2001 From: Jaap Broekhuizen Date: Mon, 3 Nov 2014 12:29:19 +0100 Subject: [PATCH 097/107] Added VIRTUAL_ENV_DISABLE_PROMPT to steeef.zsh-theme This stops the virtual env name from being printed before it is actually being used in the zsh prompt. --- themes/steeef.zsh-theme | 2 ++ 1 file changed, 2 insertions(+) diff --git a/themes/steeef.zsh-theme b/themes/steeef.zsh-theme index 9d27410b8..e38188d35 100644 --- a/themes/steeef.zsh-theme +++ b/themes/steeef.zsh-theme @@ -7,6 +7,8 @@ # git untracked files modification from Brian Carper: # http://briancarper.net/blog/570/git-info-in-your-zsh-prompt +export VIRTUAL_ENV_DISABLE_PROMPT=1 + function virtualenv_info { [ $VIRTUAL_ENV ] && echo '('$fg[blue]`basename $VIRTUAL_ENV`%{$reset_color%}') ' } From 74177c5320b2a1b2f8c4c695c05984b57fd7c6ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Cornell=C3=A0?= Date: Thu, 9 Oct 2014 13:44:54 +0200 Subject: [PATCH 098/107] Change all whoami calls for $USER variable This avoid spawning additional processes, as the $USER variable will **always** contain the current logged-in user. --- lib/completion.zsh | 4 ++-- plugins/systemadmin/systemadmin.plugin.zsh | 2 +- themes/adben.zsh-theme | 5 ++--- themes/agnoster.zsh-theme | 6 ++---- themes/flazz.zsh-theme | 2 +- themes/obraun.zsh-theme | 2 +- themes/re5et.zsh-theme | 2 +- themes/sunrise.zsh-theme | 2 +- themes/ys.zsh-theme | 2 +- 9 files changed, 12 insertions(+), 15 deletions(-) diff --git a/lib/completion.zsh b/lib/completion.zsh index 83b6efb66..3a19a4eba 100644 --- a/lib/completion.zsh +++ b/lib/completion.zsh @@ -27,9 +27,9 @@ zstyle ':completion:*:*:*:*:*' menu select zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#) ([0-9a-z-]#)*=01;34=0=01' if [ "$OSTYPE[0,7]" = "solaris" ] then - zstyle ':completion:*:*:*:*:processes' command "ps -u `whoami` -o pid,user,comm" + zstyle ':completion:*:*:*:*:processes' command "ps -u $USER -o pid,user,comm" else - zstyle ':completion:*:*:*:*:processes' command "ps -u `whoami` -o pid,user,comm -w -w" + zstyle ':completion:*:*:*:*:processes' command "ps -u $USER -o pid,user,comm -w -w" fi # disable named-directories autocompletion diff --git a/plugins/systemadmin/systemadmin.plugin.zsh b/plugins/systemadmin/systemadmin.plugin.zsh index f5e44c66f..e0b1773ad 100644 --- a/plugins/systemadmin/systemadmin.plugin.zsh +++ b/plugins/systemadmin/systemadmin.plugin.zsh @@ -30,7 +30,7 @@ function retlog() { } alias ping='ping -c 5' -alias clr='clear;echo "Currently logged in on $(tty), as $(whoami) in directory $(pwd)."' +alias clr='clear;echo "Currently logged in on $(tty), as $USER in directory $(pwd)."' alias path='echo -e ${PATH//:/\\n}' alias mkdir='mkdir -pv' # get top process eating memory diff --git a/themes/adben.zsh-theme b/themes/adben.zsh-theme index aa3093f64..6869c8a20 100644 --- a/themes/adben.zsh-theme +++ b/themes/adben.zsh-theme @@ -89,9 +89,8 @@ function precmd { # Context: user@directory or just directory prompt_context () { - local user=`whoami` - if [[ "$user" != "$DEFAULT_USER" || -n "$SSH_CLIENT" ]]; then - echo -n "${PR_RESET}${PR_RED}$user@%m${PR_RESET}${PR_BRIGHT_YELLOW}%~%<<${PR_RESET}" + if [[ "$USER" != "$DEFAULT_USER" || -n "$SSH_CLIENT" ]]; then + echo -n "${PR_RESET}${PR_RED}$USER@%m${PR_RESET}${PR_BRIGHT_YELLOW}%~%<<${PR_RESET}" else echo -n "${PR_RESET}${PR_BRIGHT_YELLOW}%~%<<${PR_RESET}" fi diff --git a/themes/agnoster.zsh-theme b/themes/agnoster.zsh-theme index 2b33c48bc..7a62bd860 100644 --- a/themes/agnoster.zsh-theme +++ b/themes/agnoster.zsh-theme @@ -60,10 +60,8 @@ prompt_end() { # Context: user@hostname (who am I and where am I) prompt_context() { - local user=`whoami` - - if [[ "$user" != "$DEFAULT_USER" || -n "$SSH_CLIENT" ]]; then - prompt_segment black default "%(!.%{%F{yellow}%}.)$user@%m" + if [[ "$USER" != "$DEFAULT_USER" || -n "$SSH_CLIENT" ]]; then + prompt_segment black default "%(!.%{%F{yellow}%}.)$USER@%m" fi } diff --git a/themes/flazz.zsh-theme b/themes/flazz.zsh-theme index 280794f2b..c0a7fb5d0 100644 --- a/themes/flazz.zsh-theme +++ b/themes/flazz.zsh-theme @@ -1,4 +1,4 @@ -if [ "$(whoami)" = "root" ] +if [ "$USER" = "root" ] then CARETCOLOR="red" else CARETCOLOR="blue" fi diff --git a/themes/obraun.zsh-theme b/themes/obraun.zsh-theme index 08d137665..7af44056f 100644 --- a/themes/obraun.zsh-theme +++ b/themes/obraun.zsh-theme @@ -1,4 +1,4 @@ -if [ "$(whoami)" = "root" ]; then CARETCOLOR="red"; else CARETCOLOR="blue"; fi +if [ "$USER" = "root" ]; then CARETCOLOR="red"; else CARETCOLOR="blue"; fi local return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})" diff --git a/themes/re5et.zsh-theme b/themes/re5et.zsh-theme index 5bded76a3..95af1e2ee 100644 --- a/themes/re5et.zsh-theme +++ b/themes/re5et.zsh-theme @@ -1,4 +1,4 @@ -if [ "$(whoami)" = "root" ]; then CARETCOLOR="red"; else CARETCOLOR="magenta"; fi +if [ "$USER" = "root" ]; then CARETCOLOR="red"; else CARETCOLOR="magenta"; fi local return_code="%(?..%{$fg_bold[red]%}:( %?%{$reset_color%})" diff --git a/themes/sunrise.zsh-theme b/themes/sunrise.zsh-theme index 4bea20a1b..28befd01b 100644 --- a/themes/sunrise.zsh-theme +++ b/themes/sunrise.zsh-theme @@ -10,7 +10,7 @@ Y=$fg_no_bold[yellow] B=$fg_no_bold[blue] RESET=$reset_color -if [ "$(whoami)" = "root" ]; then +if [ "$USER" = "root" ]; then PROMPTCOLOR="%{$R%}" PREFIX="-!-"; else PROMPTCOLOR="" PREFIX="---"; diff --git a/themes/ys.zsh-theme b/themes/ys.zsh-theme index a44f295f4..65448964d 100644 --- a/themes/ys.zsh-theme +++ b/themes/ys.zsh-theme @@ -33,7 +33,7 @@ ${git_info} \ %{$fg[white]%}[%*] %{$terminfo[bold]$fg[red]%}$ %{$reset_color%}" -if [[ "$(whoami)" == "root" ]]; then +if [[ "$USER" == "root" ]]; then PROMPT=" %{$terminfo[bold]$fg[blue]%}#%{$reset_color%} \ %{$bg[yellow]%}%{$fg[cyan]%}%n%{$reset_color%} \ From 4310a15de5d0587ef135f9e12857620c4788dec2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Cornell=C3=A0?= Date: Thu, 9 Oct 2014 13:55:50 +0200 Subject: [PATCH 099/107] Change all pwd calls for $PWD variable This avoids spawning additional processes as $PWD **always** contains the current working directory. --- plugins/dirhistory/dirhistory.plugin.zsh | 6 +++--- plugins/jump/jump.plugin.zsh | 6 +++--- plugins/pow/pow.plugin.zsh | 8 ++++---- plugins/svn/svn.plugin.zsh | 2 +- plugins/systemadmin/systemadmin.plugin.zsh | 2 +- plugins/vim-interaction/vim-interaction.plugin.zsh | 2 +- 6 files changed, 13 insertions(+), 13 deletions(-) diff --git a/plugins/dirhistory/dirhistory.plugin.zsh b/plugins/dirhistory/dirhistory.plugin.zsh index 504d7ec14..d101cfcae 100644 --- a/plugins/dirhistory/dirhistory.plugin.zsh +++ b/plugins/dirhistory/dirhistory.plugin.zsh @@ -3,7 +3,7 @@ # that the user has changed to in the past, and ALT-RIGHT undoes ALT-LEFT. # -dirhistory_past=(`pwd`) +dirhistory_past=($PWD) dirhistory_future=() export dirhistory_past export dirhistory_future @@ -50,7 +50,7 @@ function push_future() { # Called by zsh when directory changes function chpwd() { - push_past `pwd` + push_past $PWD # If DIRHISTORY_CD is not set... if [[ -z "${DIRHISTORY_CD+x}" ]]; then # ... clear future. @@ -73,7 +73,7 @@ function dirhistory_back() { pop_past cw if [[ "" == "$cw" ]]; then # Someone overwrote our variable. Recover it. - dirhistory_past=(`pwd`) + dirhistory_past=($PWD) return fi diff --git a/plugins/jump/jump.plugin.zsh b/plugins/jump/jump.plugin.zsh index 1b23b5d42..b16814fe4 100644 --- a/plugins/jump/jump.plugin.zsh +++ b/plugins/jump/jump.plugin.zsh @@ -14,12 +14,12 @@ jump() { mark() { if (( $# == 0 )); then - MARK=$(basename "$(pwd)") + MARK=$(basename "$PWD") else MARK="$1" fi - if read -q \?"Mark $(pwd) as ${MARK}? (y/n) "; then - mkdir -p "$MARKPATH"; ln -s "$(pwd)" "$MARKPATH/$MARK" + if read -q \?"Mark $PWD as ${MARK}? (y/n) "; then + mkdir -p "$MARKPATH"; ln -s "$PWD" "$MARKPATH/$MARK" fi } diff --git a/plugins/pow/pow.plugin.zsh b/plugins/pow/pow.plugin.zsh index d85c88777..ded3336a7 100644 --- a/plugins/pow/pow.plugin.zsh +++ b/plugins/pow/pow.plugin.zsh @@ -21,13 +21,13 @@ rack_root(){ setopt chaselinks - local orgdir="$(pwd)" - local basedir="$(pwd)" + local orgdir="$PWD" + local basedir="$PWD" while [[ $basedir != '/' ]]; do test -e "$basedir/config.ru" && break builtin cd ".." 2>/dev/null - basedir="$(pwd)" + basedir="$PWD" done builtin cd "$orgdir" 2>/dev/null @@ -56,7 +56,7 @@ kapow(){ compctl -W ~/.pow -/ kapow powit(){ - local basedir="$(pwd)" + local basedir="$PWD" local vhost=$1 [ ! -n "$vhost" ] && vhost=$(rack_root_detect) if [ ! -h ~/.pow/$vhost ] diff --git a/plugins/svn/svn.plugin.zsh b/plugins/svn/svn.plugin.zsh index ef6da5bd3..ba281d790 100644 --- a/plugins/svn/svn.plugin.zsh +++ b/plugins/svn/svn.plugin.zsh @@ -77,7 +77,7 @@ function svn_dirty() { function svn_dirty_choose_pwd () { if in_svn; then - root=`pwd` + root=$PWD if $(svn status $root 2> /dev/null | grep -Eq '^\s*[ACDIM!?L]'); then # Grep exits with 0 when "One or more lines were selected", return "dirty". echo $1 diff --git a/plugins/systemadmin/systemadmin.plugin.zsh b/plugins/systemadmin/systemadmin.plugin.zsh index e0b1773ad..4ae70dfa7 100644 --- a/plugins/systemadmin/systemadmin.plugin.zsh +++ b/plugins/systemadmin/systemadmin.plugin.zsh @@ -30,7 +30,7 @@ function retlog() { } alias ping='ping -c 5' -alias clr='clear;echo "Currently logged in on $(tty), as $USER in directory $(pwd)."' +alias clr='clear;echo "Currently logged in on $(tty), as $USER in directory $PWD."' alias path='echo -e ${PATH//:/\\n}' alias mkdir='mkdir -pv' # get top process eating memory diff --git a/plugins/vim-interaction/vim-interaction.plugin.zsh b/plugins/vim-interaction/vim-interaction.plugin.zsh index 5142f1f9b..b0b9414cd 100644 --- a/plugins/vim-interaction/vim-interaction.plugin.zsh +++ b/plugins/vim-interaction/vim-interaction.plugin.zsh @@ -9,7 +9,7 @@ function resolveFile if [ -f "$1" ]; then echo $(readlink -f "$1") elif [[ "${1#/}" == "$1" ]]; then - echo "$(pwd)/$1" + echo "$PWD/$1" else echo $1 fi From 95d795e8cad7d1a754dfad520309d7a41b69275f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Cornell=C3=A0?= Date: Thu, 9 Oct 2014 17:05:48 +0200 Subject: [PATCH 100/107] Change all hostname calls for $HOST or $SHORT_HOST --- plugins/profiles/profiles.plugin.zsh | 2 +- themes/candy-kingdom.zsh-theme | 2 +- themes/dieter.zsh-theme | 2 +- themes/fino-time.zsh-theme | 2 +- themes/fino.zsh-theme | 2 +- themes/kardan.zsh-theme | 2 +- themes/michelebologna.zsh-theme | 2 +- themes/ys.zsh-theme | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/plugins/profiles/profiles.plugin.zsh b/plugins/profiles/profiles.plugin.zsh index 8faae6b53..4b3d6a852 100644 --- a/plugins/profiles/profiles.plugin.zsh +++ b/plugins/profiles/profiles.plugin.zsh @@ -2,7 +2,7 @@ # This will look for a custom profile for the local machine and each domain or # subdomain it belongs to. (e.g. com, example.com and foo.example.com) -parts=(${(s:.:)$(hostname)}) +parts=(${(s:.:)$HOST}) for i in {${#parts}..1}; do profile=${(j:.:)${parts[$i,${#parts}]}} file=$ZSH_CUSTOM/profiles/$profile diff --git a/themes/candy-kingdom.zsh-theme b/themes/candy-kingdom.zsh-theme index 718977d90..889128758 100644 --- a/themes/candy-kingdom.zsh-theme +++ b/themes/candy-kingdom.zsh-theme @@ -13,7 +13,7 @@ patches: Date: Fri, 7 Nov 2014 10:47:27 +0100 Subject: [PATCH 101/107] Fixes the profiles-plugin An error was introduced with 7f75bb9, which uses special vars. This is the fix. --- plugins/profiles/profiles.plugin.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/profiles/profiles.plugin.zsh b/plugins/profiles/profiles.plugin.zsh index 4b3d6a852..5bc56cea0 100644 --- a/plugins/profiles/profiles.plugin.zsh +++ b/plugins/profiles/profiles.plugin.zsh @@ -2,7 +2,7 @@ # This will look for a custom profile for the local machine and each domain or # subdomain it belongs to. (e.g. com, example.com and foo.example.com) -parts=(${(s:.:)$HOST}) +parts=(${(s:.:)HOST}) for i in {${#parts}..1}; do profile=${(j:.:)${parts[$i,${#parts}]}} file=$ZSH_CUSTOM/profiles/$profile From d0f3fb3a4fdce51e1f59bdf4817c7adec80b0784 Mon Sep 17 00:00:00 2001 From: Jarin Udom Date: Tue, 10 Jun 2014 07:24:38 -0700 Subject: [PATCH 102/107] Merge simplified superjarin theme --- themes/superjarin.zsh-theme | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/themes/superjarin.zsh-theme b/themes/superjarin.zsh-theme index 2920d17a2..86fa9c706 100644 --- a/themes/superjarin.zsh-theme +++ b/themes/superjarin.zsh-theme @@ -1,11 +1,5 @@ -# Grab the current version of ruby in use (via RVM): [ruby-1.8.7] -if [ -e ~/.rvm/bin/rvm-prompt ]; then - JARIN_CURRENT_RUBY_="%{$fg[white]%}[%{$fg[red]%}\$(~/.rvm/bin/rvm-prompt i v)%{$fg[white]%}]%{$reset_color%}" -else - if which rbenv &> /dev/null; then - JARIN_CURRENT_RUBY_="%{$fg[white]%}[%{$fg[red]%}\$(rbenv version | sed -e 's/ (set.*$//')%{$fg[white]%}]%{$reset_color%}" - fi -fi +# Grab the current version of ruby in use: [ruby-1.8.7] +JARIN_CURRENT_RUBY_="%{$fg[white]%}[%{$fg[red]%}\$(ruby_prompt_info)%{$fg[white]%}]%{$reset_color%}" # Grab the current filepath, use shortcuts: ~/Desktop # Append the current git branch, if in a git repository From 923d2c85b40e14ea90d4342be1e1905bb238ea0b Mon Sep 17 00:00:00 2001 From: Geoffrey Washburn Date: Sun, 19 Jan 2014 14:10:16 -0500 Subject: [PATCH 103/107] Fix autojump script to support Nix installations --- plugins/autojump/autojump.plugin.zsh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/plugins/autojump/autojump.plugin.zsh b/plugins/autojump/autojump.plugin.zsh index 50a694764..652d22696 100644 --- a/plugins/autojump/autojump.plugin.zsh +++ b/plugins/autojump/autojump.plugin.zsh @@ -1,6 +1,8 @@ if [ $commands[autojump] ]; then # check if autojump is installed if [ -f $HOME/.autojump/etc/profile.d/autojump.zsh ]; then # manual user-local installation . $HOME/.autojump/etc/profile.d/autojump.zsh + elif [ -f $HOME/.nix-profile/etc/profile.d/autojump.zsh ]; then # nix installation + . $HOME/.nix-profile/etc/profile.d/autojump.zsh elif [ -f /usr/share/autojump/autojump.zsh ]; then # debian and ubuntu package . /usr/share/autojump/autojump.zsh elif [ -f /etc/profile.d/autojump.zsh ]; then # manual installation From 0c04470f6370c329ce8252371fe617673b515d45 Mon Sep 17 00:00:00 2001 From: "Kravchuk S.V" Date: Fri, 14 Nov 2014 13:05:11 +0300 Subject: [PATCH 104/107] [~] fix plugin pj https://github.com/robbyrussell/oh-my-zsh/commit/bce74975d055529cbd186782e2fd99e6da840460 --- plugins/pj/pj.plugin.zsh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/pj/pj.plugin.zsh b/plugins/pj/pj.plugin.zsh index f9cbddf1a..1572e9363 100644 --- a/plugins/pj/pj.plugin.zsh +++ b/plugins/pj/pj.plugin.zsh @@ -42,8 +42,8 @@ function _pj () { # might be possible to improve this using glob, without the basename trick typeset -a projects projects=($PROJECT_PATHS/*) - projects=$projects:t - _arguments '*:file:($projects)' + projects=$projects:t + _arguments "*:file:($projects)" } compdef _pj pj From a301f567e3a7ac2eb0b1f77d6ff97f50d63ba864 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Cornell=C3=A0?= Date: Wed, 19 Nov 2014 18:33:00 +0100 Subject: [PATCH 105/107] Switch back to oh-my-zsh.hide-dirty setting again Commit 81004dfaba509ff62a13ba303ab941938d619326 reverted the change in 9b811fb625c03c30a766191cdf65a1c7c1fd96b2 when editing the merge conflict from #2928. This commit fixes that so that we don't make the same mistake again. First seen in http://git.io/Cdaj5Q --- lib/git.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/git.zsh b/lib/git.zsh index aba095422..748520a6f 100644 --- a/lib/git.zsh +++ b/lib/git.zsh @@ -13,7 +13,7 @@ parse_git_dirty() { local STATUS='' local FLAGS FLAGS=('--porcelain') - if [[ "$(command git config --get oh-my-zsh.hide-status)" != "1" ]]; then + if [[ "$(command git config --get oh-my-zsh.hide-dirty)" != "1" ]]; then if [[ $POST_1_7_2_GIT -gt 0 ]]; then FLAGS+='--ignore-submodules=dirty' fi From b6b1dd3cd713751c5295b8346af071b420a99f87 Mon Sep 17 00:00:00 2001 From: Doan Truong Thi Date: Fri, 21 Nov 2014 10:07:23 +0900 Subject: [PATCH 106/107] Fix Yosemite broken zsh where $PATH var does not get appended correctly. Sourcing oh-my-zsh immediately after export PATH. --- templates/zshrc.zsh-template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/templates/zshrc.zsh-template b/templates/zshrc.zsh-template index a12eca2a0..763288dfd 100644 --- a/templates/zshrc.zsh-template +++ b/templates/zshrc.zsh-template @@ -47,13 +47,13 @@ ZSH_THEME="robbyrussell" # Add wisely, as too many plugins slow down shell startup. plugins=(git) -source $ZSH/oh-my-zsh.sh - # User configuration export PATH=$HOME/bin:/usr/local/bin:$PATH # export MANPATH="/usr/local/man:$MANPATH" +source $ZSH/oh-my-zsh.sh + # You may need to manually set your language environment # export LANG=en_US.UTF-8 From db8eacf6fd0570c8e49e59a44c214bd927479861 Mon Sep 17 00:00:00 2001 From: Will Boyce Date: Mon, 9 Jun 2014 18:04:16 +0100 Subject: [PATCH 107/107] use pigz if available in extract plugin --- plugins/extract/extract.plugin.zsh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/extract/extract.plugin.zsh b/plugins/extract/extract.plugin.zsh index a6e16ddf7..898d3d36e 100644 --- a/plugins/extract/extract.plugin.zsh +++ b/plugins/extract/extract.plugin.zsh @@ -38,7 +38,7 @@ function extract() { file_name="$( basename "$1" )" extract_dir="$( echo "$file_name" | sed "s/\.${1##*.}//g" )" case "$1" in - (*.tar.gz|*.tgz) tar xvzf "$1" ;; + (*.tar.gz|*.tgz) [ -z $commands[pigz] ] && tar zxvf "$1" || pigz -dc "$1" | tar xv ;; (*.tar.bz2|*.tbz|*.tbz2) tar xvjf "$1" ;; (*.tar.xz|*.txz) tar --xz --help &> /dev/null \ && tar --xz -xvf "$1" \ @@ -47,7 +47,7 @@ function extract() { && tar --lzma -xvf "$1" \ || lzcat "$1" | tar xvf - ;; (*.tar) tar xvf "$1" ;; - (*.gz) gunzip "$1" ;; + (*.gz) [ -z $commands[pigz] ] && gunzip "$1" || pigz -d "$1" ;; (*.bz2) bunzip2 "$1" ;; (*.xz) unxz "$1" ;; (*.lzma) unlzma "$1" ;;