From 78a129ca06cbe9f9dbfd171491d734249e91dc2c Mon Sep 17 00:00:00 2001 From: Adam Lindberg Date: Mon, 16 Jan 2012 16:39:28 +0100 Subject: [PATCH 01/69] Correct color and font issues on Ubuntu --- themes/sunrise.zsh-theme | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/themes/sunrise.zsh-theme b/themes/sunrise.zsh-theme index 88b371d79..acc6ed312 100644 --- a/themes/sunrise.zsh-theme +++ b/themes/sunrise.zsh-theme @@ -5,16 +5,15 @@ #------------------------------------------------------------------------------- # Color shortcuts -R=$fg[red] -G=$fg[green] -M=$fg[magenta] -RB=$fg_bold[red] -YB=$fg_bold[yellow] -BB=$fg_bold[blue] +R=$fg_no_bold[red] +G=$fg_no_bold[green] +M=$fg_no_bold[magenta] +Y=$fg_no_bold[yellow] +B=$fg_no_bold[blue] RESET=$reset_color if [ "$(whoami)" = "root" ]; then - PROMPTCOLOR="%{$RB%}" PREFIX="-!-"; + PROMPTCOLOR="%{$R%}" PREFIX="-!-"; else PROMPTCOLOR="" PREFIX="---"; fi @@ -73,13 +72,14 @@ function custom_git_prompt() { PROMPT='%B$PREFIX %2~ $(custom_git_prompt)%{$M%}%B»%b%{$RESET%} ' RPS1="${return_code}" -ZSH_THEME_GIT_PROMPT_PREFIX="%{$YB%}‹" -ZSH_THEME_GIT_PROMPT_SUFFIX="%{$YB%}›%{$RESET%} " +ZSH_THEME_GIT_PROMPT_PREFIX="%{$Y%}‹" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$Y%}›%{$RESET%} " ZSH_THEME_GIT_PROMPT_DIRTY="%{$R%}*" ZSH_THEME_GIT_PROMPT_CLEAN="" -ZSH_THEME_GIT_PROMPT_AHEAD="%{$BB%}➔" +ZSH_THEME_GIT_PROMPT_AHEAD="%{$B%}➔" + ZSH_THEME_GIT_STATUS_PREFIX=" " @@ -90,7 +90,7 @@ ZSH_THEME_GIT_PROMPT_STAGED_RENAMED="%{$G%}R" ZSH_THEME_GIT_PROMPT_STAGED_DELETED="%{$G%}D" # Not-staged -ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$R%}⁇" +ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$R%}?" ZSH_THEME_GIT_PROMPT_MODIFIED="%{$R%}M" ZSH_THEME_GIT_PROMPT_DELETED="%{$R%}D" ZSH_THEME_GIT_PROMPT_UNMERGED="%{$R%}UU" From 2916ef719444040528ffd1a56d91bdd1fb1b5aa5 Mon Sep 17 00:00:00 2001 From: Michael Nikitochkin Date: Mon, 25 Mar 2013 18:57:55 +0200 Subject: [PATCH 02/69] Use new style of rails command. --- plugins/rails3/rails3.plugin.zsh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/plugins/rails3/rails3.plugin.zsh b/plugins/rails3/rails3.plugin.zsh index 237d0594b..5ebaf32e3 100644 --- a/plugins/rails3/rails3.plugin.zsh +++ b/plugins/rails3/rails3.plugin.zsh @@ -4,7 +4,11 @@ function _rails_command () { if [ -e "script/server" ]; then ruby script/$@ else - ruby script/rails $@ + if [ -e "bin/rails" ]; then + bin/rails $@ + else + rails $@ + fi fi } From e4fb94306a91ea6b893ba0dad34ba8eb17c07f0a Mon Sep 17 00:00:00 2001 From: Marko Bauhardt Date: Wed, 3 Apr 2013 20:20:57 +0200 Subject: [PATCH 03/69] ohmyzsh plugin of the z project: https://github.com/rupa/z --- plugins/z/Makefile | 4 + plugins/z/README | 135 ++++++++++++++++++++++++ plugins/z/z.1 | 155 ++++++++++++++++++++++++++++ plugins/z/z.plugin.zsh | 6 ++ plugins/z/z.sh | 228 +++++++++++++++++++++++++++++++++++++++++ 5 files changed, 528 insertions(+) create mode 100644 plugins/z/Makefile create mode 100644 plugins/z/README create mode 100644 plugins/z/z.1 create mode 100644 plugins/z/z.plugin.zsh create mode 100644 plugins/z/z.sh diff --git a/plugins/z/Makefile b/plugins/z/Makefile new file mode 100644 index 000000000..dcf433d40 --- /dev/null +++ b/plugins/z/Makefile @@ -0,0 +1,4 @@ +readme: + @groff -man -Tascii z.1 | col -bx + +.PHONY: readme diff --git a/plugins/z/README b/plugins/z/README new file mode 100644 index 000000000..ec5abc6f5 --- /dev/null +++ b/plugins/z/README @@ -0,0 +1,135 @@ +Z(1) User Commands Z(1) + + + +NAME + z - jump around + +SYNOPSIS + z [-chlrt] [regex1 regex2 ... regexn] + +AVAILABILITY + bash, zsh + +DESCRIPTION + Tracks your most used directories, based on 'frecency'. + + After a short learning phase, z will take you to the most 'frecent' + directory that matches ALL of the regexes given on the command line. + +OPTIONS + -c restrict matches to subdirectories of the current directory. + + -h show a brief help message + + -l list only + + -r match by rank only + + -t match by recent access only + +EXAMPLES + z foo cd to most frecent dir matching foo + + z foo bar cd to most frecent dir matching foo and bar + + z -r foo cd to highest ranked dir matching foo + + z -t foo cd to most recently accessed dir matching foo + + z -l foo list all dirs matching foo (by frecency) + +NOTES + Installation: + Put something like this in your $HOME/.bashrc or $HOME/.zshrc: + + . /path/to/z.sh + + cd around for a while to build up the db. + + PROFIT!! + + Optionally: + Set $_Z_CMD to change the command name (default z). + Set $_Z_DATA to change the datafile (default $HOME/.z). + Set $_Z_NO_RESOLVE_SYMLINKS to prevent symlink resolution. + Set $_Z_NO_PROMPT_COMMAND to handle PROMPT_COMMAND/precmd your- + self. + Set $_Z_EXCLUDE_DIRS to an array of directories to exclude. + (These settings should go in .bashrc/.zshrc before the lines + added above.) + Install the provided man page z.1 somewhere like + /usr/local/man/man1. + + Aging: + The rank of directories maintained by z undergoes aging based on a sim- + ple formula. The rank of each entry is incremented every time it is + accessed. When the sum of ranks is greater than 6000, all ranks are + multiplied by 0.99. Entries with a rank lower than 1 are forgotten. + + Frecency: + Frecency is a portmantaeu of 'recent' and 'frequency'. It is a weighted + rank that depends on how often and how recently something occured. As + far as I know, Mozilla came up with the term. + + To z, a directory that has low ranking but has been accessed recently + will quickly have higher rank than a directory accessed frequently a + long time ago. + + Frecency is determined at runtime. + + Common: + When multiple directories match all queries, and they all have a common + prefix, z will cd to the shortest matching directory, without regard to + priority. This has been in effect, if undocumented, for quite some + time, but should probably be configurable or reconsidered. + + Tab Completion: + z supports tab completion. After any number of arguments, press TAB to + complete on directories that match each argument. Due to limitations of + the completion implementations, only the last argument will be com- + pleted in the shell. + + Internally, z decides you've requested a completion if the last argu- + ment passed is an absolute path to an existing directory. This may + cause unexpected behavior if the last argument to z begins with /. + +ENVIRONMENT + A function _z() is defined. + + The contents of the variable $_Z_CMD is aliased to _z 2>&1. If not set, + $_Z_CMD defaults to z. + + The environment variable $_Z_DATA can be used to control the datafile + location. If it is not defined, the location defaults to $HOME/.z. + + The environment variable $_Z_NO_RESOLVE_SYMLINKS can be set to prevent + resolving of symlinks. If it is not set, symbolic links will be + resolved when added to the datafile. + + In bash, z prepends a command to the PROMPT_COMMAND environment vari- + able to maintain its database. In zsh, z appends a function _z_precmd + to the precmd_functions array. + + The environment variable $_Z_NO_PROMPT_COMMAND can be set if you want + to handle PROMPT_COMMAND or precmd yourself. + + The environment variable $_Z_EXCLUDE_DIRS can be set to an array of + directories to exclude from tracking. $HOME is always excluded. Direc- + tories must be full paths without trailing slashes. + +FILES + Data is stored in $HOME/.z. This can be overridden by setting the + $_Z_DATA environment variable. When initialized, z will raise an error + if this path is a directory, and not function correctly. + + A man page (z.1) is provided. + +SEE ALSO + regex(7), pushd, popd, autojump, cdargs + + Please file bugs at https://github.com/rupa/z/ + + + +z January 2013 Z(1) diff --git a/plugins/z/z.1 b/plugins/z/z.1 new file mode 100644 index 000000000..022a4b35d --- /dev/null +++ b/plugins/z/z.1 @@ -0,0 +1,155 @@ +.TH "Z" "1" "January 2013" "z" "User Commands" +.SH +NAME +z \- jump around +.SH +SYNOPSIS +z [\-chlrt] [regex1 regex2 ... regexn] +.SH +AVAILABILITY +bash, zsh +.SH +DESCRIPTION +Tracks your most used directories, based on 'frecency'. +.P +After a short learning phase, \fBz\fR will take you to the most 'frecent' +directory that matches ALL of the regexes given on the command line. +.SH +OPTIONS +.TP +\fB\-c\fR +restrict matches to subdirectories of the current directory. +.TP +\fB\-h\fR +show a brief help message +.TP +\fB\-l\fR +list only +.TP +\fB\-r\fR +match by rank only +.TP +\fB\-t\fR +match by recent access only +.SH EXAMPLES +.TP 14 +\fBz foo\fR +cd to most frecent dir matching foo +.TP 14 +\fBz foo bar\fR +cd to most frecent dir matching foo and bar +.TP 14 +\fBz -r foo\fR +cd to highest ranked dir matching foo +.TP 14 +\fBz -t foo\fR +cd to most recently accessed dir matching foo +.TP 14 +\fBz -l foo\fR +list all dirs matching foo (by frecency) +.SH +NOTES +.SS +Installation: +.P +Put something like this in your \fB$HOME/.bashrc\fR or \fB$HOME/.zshrc\fR: +.RS +.P +\fB. /path/to/z.sh\fR +.RE +.P +\fBcd\fR around for a while to build up the db. +.P +PROFIT!! +.P +Optionally: +.RS +Set \fB$_Z_CMD\fR to change the command name (default \fBz\fR). +.RE +.RS +Set \fB$_Z_DATA\fR to change the datafile (default \fB$HOME/.z\fR). +.RE +.RS +Set \fB$_Z_NO_RESOLVE_SYMLINKS\fR to prevent symlink resolution. +.RE +.RS +Set \fB$_Z_NO_PROMPT_COMMAND\fR to handle \fBPROMPT_COMMAND/precmd\fR yourself. +.RE +.RS +Set \fB$_Z_EXCLUDE_DIRS\fR to an array of directories to exclude. +.RE +.RS +(These settings should go in .bashrc/.zshrc before the lines added above.) +.RE +.RS +Install the provided man page \fBz.1\fR somewhere like \fB/usr/local/man/man1\fR. +.RE +.SS +Aging: +The rank of directories maintained by \fBz\fR undergoes aging based on a simple +formula. The rank of each entry is incremented every time it is accessed. When +the sum of ranks is greater than 6000, all ranks are multiplied by 0.99. Entries +with a rank lower than 1 are forgotten. +.SS +Frecency: +Frecency is a portmantaeu of 'recent' and 'frequency'. It is a weighted rank +that depends on how often and how recently something occured. As far as I +know, Mozilla came up with the term. +.P +To \fBz\fR, a directory that has low ranking but has been accessed recently +will quickly have higher rank than a directory accessed frequently a long time +ago. +.P +Frecency is determined at runtime. +.SS +Common: +When multiple directories match all queries, and they all have a common prefix, +\fBz\fR will cd to the shortest matching directory, without regard to priority. +This has been in effect, if undocumented, for quite some time, but should +probably be configurable or reconsidered. +.SS +Tab Completion: +\fBz\fR supports tab completion. After any number of arguments, press TAB to +complete on directories that match each argument. Due to limitations of the +completion implementations, only the last argument will be completed in the +shell. +.P +Internally, \fBz\fR decides you've requested a completion if the last argument +passed is an absolute path to an existing directory. This may cause unexpected +behavior if the last argument to \fBz\fR begins with \fB/\fR. +.SH +ENVIRONMENT +A function \fB_z()\fR is defined. +.P +The contents of the variable \fB$_Z_CMD\fR is aliased to \fB_z 2>&1\fR. If not +set, \fB$_Z_CMD\fR defaults to \fBz\fR. +.P +The environment variable \fB$_Z_DATA\fR can be used to control the datafile +location. If it is not defined, the location defaults to \fB$HOME/.z\fR. +.P +The environment variable \fB$_Z_NO_RESOLVE_SYMLINKS\fR can be set to prevent +resolving of symlinks. If it is not set, symbolic links will be resolved when +added to the datafile. +.P +In bash, \fBz\fR prepends a command to the \fBPROMPT_COMMAND\fR environment +variable to maintain its database. In zsh, \fBz\fR appends a function +\fB_z_precmd\fR to the \fBprecmd_functions\fR array. +.P +The environment variable \fB$_Z_NO_PROMPT_COMMAND\fR can be set if you want to +handle \fBPROMPT_COMMAND\fR or \fBprecmd\fR yourself. +.P +The environment variable \fB$_Z_EXCLUDE_DIRS\fR can be set to an array of +directories to exclude from tracking. \fB$HOME\fR is always excluded. +Directories must be full paths without trailing slashes. +.SH +FILES +Data is stored in \fB$HOME/.z\fR. This can be overridden by setting the +\fB$_Z_DATA\fR environment variable. When initialized, \fBz\fR will raise an +error if this path is a directory, and not function correctly. +.P +A man page (\fBz.1\fR) is provided. +.SH +SEE ALSO +regex(7), pushd, popd, autojump, cdargs +.P +Please file bugs at https://github.com/rupa/z/ diff --git a/plugins/z/z.plugin.zsh b/plugins/z/z.plugin.zsh new file mode 100644 index 000000000..196b88b12 --- /dev/null +++ b/plugins/z/z.plugin.zsh @@ -0,0 +1,6 @@ +_load_z() { + source $1/z.sh +} + +[[ -f $ZSH_CUSTOM/plugins/z/z.plugin.zsh ]] && _load_z $ZSH_CUSTOM/plugins/z +[[ -f $ZSH/plugins/z/z.plugin.zsh ]] && _load_z $ZSH/plugins/z diff --git a/plugins/z/z.sh b/plugins/z/z.sh new file mode 100644 index 000000000..7e444ef46 --- /dev/null +++ b/plugins/z/z.sh @@ -0,0 +1,228 @@ +# Copyright (c) 2009 rupa deadwyler under the WTFPL license + +# maintains a jump-list of the directories you actually use +# +# INSTALL: +# * put something like this in your .bashrc/.zshrc: +# . /path/to/z.sh +# * cd around for a while to build up the db +# * PROFIT!! +# * optionally: +# set $_Z_CMD in .bashrc/.zshrc to change the command (default z). +# set $_Z_DATA in .bashrc/.zshrc to change the datafile (default ~/.z). +# set $_Z_NO_RESOLVE_SYMLINKS to prevent symlink resolution. +# set $_Z_NO_PROMPT_COMMAND if you're handling PROMPT_COMMAND yourself. +# set $_Z_EXCLUDE_DIRS to an array of directories to exclude. +# +# USE: +# * z foo # cd to most frecent dir matching foo +# * z foo bar # cd to most frecent dir matching foo and bar +# * z -r foo # cd to highest ranked dir matching foo +# * z -t foo # cd to most recently accessed dir matching foo +# * z -l foo # list matches instead of cd +# * z -c foo # restrict matches to subdirs of $PWD + +case $- in + *i*) ;; + *) echo 'ERROR: z.sh is meant to be sourced, not directly executed.' +esac + +[ -d "${_Z_DATA:-$HOME/.z}" ] && { + echo "ERROR: z.sh's datafile (${_Z_DATA:-$HOME/.z}) is a directory." +} + +_z() { + + local datafile="${_Z_DATA:-$HOME/.z}" + + # bail out if we don't own ~/.z (we're another user but our ENV is still set) + [ -f "$datafile" -a ! -O "$datafile" ] && return + + # add entries + if [ "$1" = "--add" ]; then + shift + + # $HOME isn't worth matching + [ "$*" = "$HOME" ] && return + + # don't track excluded dirs + local exclude + for exclude in "${_Z_EXCLUDE_DIRS[@]}"; do + [ "$*" = "$exclude" ] && return + done + + # maintain the file + local tempfile + tempfile="$(mktemp "$datafile.XXXXXX")" || return + while read line; do + [ -d "${line%%\|*}" ] && echo $line + done < "$datafile" | awk -v path="$*" -v now="$(date +%s)" -F"|" ' + BEGIN { + rank[path] = 1 + time[path] = now + } + $2 >= 1 { + if( $1 == path ) { + rank[$1] = $2 + 1 + time[$1] = now + } else { + rank[$1] = $2 + time[$1] = $3 + } + count += $2 + } + END { + if( count > 6000 ) { + for( i in rank ) print i "|" 0.99*rank[i] "|" time[i] # aging + } else for( i in rank ) print i "|" rank[i] "|" time[i] + } + ' 2>/dev/null >| "$tempfile" + if [ $? -ne 0 -a -f "$datafile" ]; then + env rm -f "$tempfile" + else + env mv -f "$tempfile" "$datafile" + fi + + # tab completion + elif [ "$1" = "--complete" ]; then + while read line; do + [ -d "${line%%\|*}" ] && echo $line + done < "$datafile" | awk -v q="$2" -F"|" ' + BEGIN { + if( q == tolower(q) ) nocase = 1 + split(substr(q,3),fnd," ") + } + { + if( nocase ) { + for( i in fnd ) tolower($1) !~ tolower(fnd[i]) && $1 = "" + } else { + for( i in fnd ) $1 !~ fnd[i] && $1 = "" + } + if( $1 ) print $1 + } + ' 2>/dev/null + + else + # list/go + while [ "$1" ]; do case "$1" in + --) while [ "$1" ]; do shift; local fnd="$fnd $1";done;; + -*) local opt=${1:1}; while [ "$opt" ]; do case ${opt:0:1} in + c) local fnd="^$PWD $fnd";; + h) echo "${_Z_CMD:-z} [-chlrt] args" >&2; return;; + l) local list=1;; + r) local typ="rank";; + t) local typ="recent";; + esac; opt=${opt:1}; done;; + *) local fnd="$fnd $1";; + esac; local last=$1; shift; done + [ "$fnd" -a "$fnd" != "^$PWD " ] || local list=1 + + # if we hit enter on a completion just go there + case "$last" in + # completions will always start with / + /*) [ -z "$list" -a -d "$last" ] && cd "$last" && return;; + esac + + # no file yet + [ -f "$datafile" ] || return + + local cd + cd="$(while read line; do + [ -d "${line%%\|*}" ] && echo $line + done < "$datafile" | awk -v t="$(date +%s)" -v list="$list" -v typ="$typ" -v q="$fnd" -F"|" ' + function frecent(rank, time) { + dx = t-time + if( dx < 3600 ) return rank*4 + if( dx < 86400 ) return rank*2 + if( dx < 604800 ) return rank/2 + return rank/4 + } + function output(files, toopen, override) { + if( list ) { + cmd = "sort -n >&2" + for( i in files ) if( files[i] ) printf "%-10s %s\n", files[i], i | cmd + if( override ) printf "%-10s %s\n", "common:", override > "/dev/stderr" + } else { + if( override ) toopen = override + print toopen + } + } + function common(matches) { + # shortest match + for( i in matches ) { + if( matches[i] && (!short || length(i) < length(short)) ) short = i + } + if( short == "/" ) return + # shortest match must be common to each match. escape special characters in + # a copy when testing, so we can return the original. + clean_short = short + gsub(/[\(\)\[\]\|]/, "\\\\&", clean_short) + for( i in matches ) if( matches[i] && i !~ clean_short ) return + return short + } + BEGIN { split(q, a, " "); oldf = noldf = -9999999999 } + { + if( typ == "rank" ) { + f = $2 + } else if( typ == "recent" ) { + f = $3-t + } else f = frecent($2, $3) + wcase[$1] = nocase[$1] = f + for( i in a ) { + if( $1 !~ a[i] ) delete wcase[$1] + if( tolower($1) !~ tolower(a[i]) ) delete nocase[$1] + } + if( wcase[$1] && wcase[$1] > oldf ) { + cx = $1 + oldf = wcase[$1] + } else if( nocase[$1] && nocase[$1] > noldf ) { + ncx = $1 + noldf = nocase[$1] + } + } + END { + if( cx ) { + output(wcase, cx, common(wcase)) + } else if( ncx ) output(nocase, ncx, common(nocase)) + } + ')" + [ $? -gt 0 ] && return + [ "$cd" ] && cd "$cd" + fi +} + +alias ${_Z_CMD:-z}='_z 2>&1' + +[ "$_Z_NO_RESOLVE_SYMLINKS" ] || _Z_RESOLVE_SYMLINKS="-P" + +if compctl &> /dev/null; then + [ "$_Z_NO_PROMPT_COMMAND" ] || { + # zsh populate directory list, avoid clobbering any other precmds + if [ "$_Z_NO_RESOLVE_SYMLINKS" ]; then + _z_precmd() { + _z --add "${PWD:a}" + } + else + _z_precmd() { + _z --add "${PWD:A}" + } + fi + precmd_functions+=(_z_precmd) + } + # zsh tab completion + _z_zsh_tab_completion() { + local compl + read -l compl + reply=(${(f)"$(_z --complete "$compl")"}) + } + compctl -U -K _z_zsh_tab_completion _z +elif complete &> /dev/null; then + # bash tab completion + complete -o filenames -C '_z --complete "$COMP_LINE"' ${_Z_CMD:-z} + [ "$_Z_NO_PROMPT_COMMAND" ] || { + # bash populate directory list. avoid clobbering other PROMPT_COMMANDs. + echo $PROMPT_COMMAND | grep -q "_z --add" || { + PROMPT_COMMAND='_z --add "$(pwd '$_Z_RESOLVE_SYMLINKS' 2>/dev/null)" 2>/dev/null;'"$PROMPT_COMMAND" + } + } +fi From 2f7479b5cb58ebd006f4a7a023a86cad0da2ce0d Mon Sep 17 00:00:00 2001 From: Joni Chandra Date: Fri, 26 Apr 2013 11:31:02 +0700 Subject: [PATCH 04/69] Update the wrong variable used in rb20 function. Fixes #1762 Signed-off-by: Joni Chandra --- 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 cdd0a7847..68485a577 100644 --- a/plugins/rvm/rvm.plugin.zsh +++ b/plugins/rvm/rvm.plugin.zsh @@ -31,7 +31,7 @@ compdef _rb19 rb19 function rb20 { if [ -z "$1" ]; then - rvm use "$ruby" + rvm use "$ruby20" else rvm use "$ruby20@$1" fi From cf3a03d45e6b4eb642238bbd7b6aeca1fd1bc868 Mon Sep 17 00:00:00 2001 From: simlegate Date: Sun, 5 May 2013 16:35:40 +0800 Subject: [PATCH 05/69] rm alias gcm='git checkout master' and add alias gcm='git commit -m' --- plugins/git/git.plugin.zsh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/plugins/git/git.plugin.zsh b/plugins/git/git.plugin.zsh index 6c016aa6b..5277abc99 100644 --- a/plugins/git/git.plugin.zsh +++ b/plugins/git/git.plugin.zsh @@ -22,9 +22,10 @@ alias gca='git commit -v -a' compdef _git gc=git-commit alias gca!='git commit -v -a --amend' compdef _git gca!=git-commit +alias gcm='git commit -m' +compdef _git gcm=git-commit alias gco='git checkout' compdef _git gco=git-checkout -alias gcm='git checkout master' alias gr='git remote' compdef _git gr=git-remote alias grv='git remote -v' From b36c42b76d5bb06e1a19b534177ad4980bc3b025 Mon Sep 17 00:00:00 2001 From: simlegate Date: Wed, 8 May 2013 17:03:07 +0800 Subject: [PATCH 06/69] rename gcm to gcmsg and stand for 'git commit -m' --- plugins/git/git.plugin.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/git/git.plugin.zsh b/plugins/git/git.plugin.zsh index 5277abc99..bcbd0897c 100644 --- a/plugins/git/git.plugin.zsh +++ b/plugins/git/git.plugin.zsh @@ -22,7 +22,7 @@ alias gca='git commit -v -a' compdef _git gc=git-commit alias gca!='git commit -v -a --amend' compdef _git gca!=git-commit -alias gcm='git commit -m' +alias gcmsg='git commit -m' compdef _git gcm=git-commit alias gco='git checkout' compdef _git gco=git-checkout From 29e696d902b4cf665e237969aa333a5e176a59f5 Mon Sep 17 00:00:00 2001 From: simlegate Date: Wed, 8 May 2013 17:03:07 +0800 Subject: [PATCH 07/69] rename gcm to gcmsg and stand for 'git commit -m' #1790 --- plugins/git/git.plugin.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/git/git.plugin.zsh b/plugins/git/git.plugin.zsh index 5277abc99..bcbd0897c 100644 --- a/plugins/git/git.plugin.zsh +++ b/plugins/git/git.plugin.zsh @@ -22,7 +22,7 @@ alias gca='git commit -v -a' compdef _git gc=git-commit alias gca!='git commit -v -a --amend' compdef _git gca!=git-commit -alias gcm='git commit -m' +alias gcmsg='git commit -m' compdef _git gcm=git-commit alias gco='git checkout' compdef _git gco=git-checkout From 22dce9e71594d1cf191cd41cef845a34621826f8 Mon Sep 17 00:00:00 2001 From: simlegate Date: Thu, 9 May 2013 12:57:32 +0800 Subject: [PATCH 08/69] add git alias 'gcmsg' and stand for 'git commit -m' --- plugins/git/git.plugin.zsh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/plugins/git/git.plugin.zsh b/plugins/git/git.plugin.zsh index bcbd0897c..b30c4b99a 100644 --- a/plugins/git/git.plugin.zsh +++ b/plugins/git/git.plugin.zsh @@ -23,9 +23,10 @@ compdef _git gc=git-commit alias gca!='git commit -v -a --amend' compdef _git gca!=git-commit alias gcmsg='git commit -m' -compdef _git gcm=git-commit +compdef _git gcmsg=git-commit alias gco='git checkout' compdef _git gco=git-checkout +alias gcm='git checkout master' alias gr='git remote' compdef _git gr=git-remote alias grv='git remote -v' From a9111488e4945a29b8afa9a4eab12ee2e6fc9a0e Mon Sep 17 00:00:00 2001 From: yleo77 Date: Fri, 17 May 2013 17:48:06 +0800 Subject: [PATCH 09/69] add search by filename and file content feature --- .gitignore | 5 ++--- custom/plugins/sfffe/sfffe.plugin.zsh | 28 +++++++++++++++++++++++++++ 2 files changed, 30 insertions(+), 3 deletions(-) create mode 100644 custom/plugins/sfffe/sfffe.plugin.zsh diff --git a/.gitignore b/.gitignore index 51a5ee6c3..5db11ce5c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,9 +1,8 @@ locals.zsh log/.zsh_history projects.zsh -custom/* -!custom/example -!custom/example.zsh +custom/example +custom/example.zsh *.swp !custom/example.zshcache cache/ diff --git a/custom/plugins/sfffe/sfffe.plugin.zsh b/custom/plugins/sfffe/sfffe.plugin.zsh new file mode 100644 index 000000000..a0f034908 --- /dev/null +++ b/custom/plugins/sfffe/sfffe.plugin.zsh @@ -0,0 +1,28 @@ +# ------------------------------------------------------------------------------ +# FILE: sfffe.plugin.zsh +# DESCRIPTION: search file for FE +# AUTHOR: yleo77 (ylep77@gmail.com) +# VERSION: 0.1 +# REQUIRE: ack +# ------------------------------------------------------------------------------ + +if [ ! -x $(which ack) ]; then + echo \'ack\' is not installed! + exit -1 +fi + +ajs() { + ack "$@" --type js +} + +acss() { + ack "$@" --type css +} + +fjs() { + find ./ -name "$@*" -type f | grep '\.js' +} + +fcss() { + find ./ -name "$@*" -type f | grep '\.css' +} From d2fe03d7549558745f999865ea0e348cb44e818f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20Ho=CC=88ltje?= Date: Fri, 17 May 2013 11:17:33 -0400 Subject: [PATCH 10/69] Create the zcompdump based on version and host This will prevent lots of subtle problems that happen when people upgrade ZSH or use NFS mounted home directories. The ZSH_COMPDUMP variable can also be used to implement `zcompile` and other fun features in the future. --- oh-my-zsh.sh | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/oh-my-zsh.sh b/oh-my-zsh.sh index 93c10e3d2..15c1dce44 100644 --- a/oh-my-zsh.sh +++ b/oh-my-zsh.sh @@ -38,10 +38,20 @@ for plugin ($plugins); do fi done +# Figure out the SHORT hostname +if [ -n "$commands[scutil]" ]; then + # OS X + SHORT_HOST=$(scutil --get ComputerName) +else + SHORT_HOST=${HOST/.*/} +fi + +# Save the location of the current completion dump file. +ZSH_COMPDUMP="${ZDOTDIR:-${HOME}}/.zcompdump-${SHORT_HOST}-${ZSH_VERSION}" + # Load and run compinit autoload -U compinit -compinit -i - +compinit -i -d "${ZSH_COMPDUMP}" # Load all of the plugins that were defined in ~/.zshrc for plugin ($plugins); do From 00848cd8b7347e9b793a2ac6170498e6592dde56 Mon Sep 17 00:00:00 2001 From: yleo77 Date: Wed, 22 May 2013 17:00:08 +0800 Subject: [PATCH 11/69] add gf alias for git flow --- plugins/git-flow/git-flow.plugin.zsh | 3 +++ plugins/git/git.plugin.zsh | 5 ++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/plugins/git-flow/git-flow.plugin.zsh b/plugins/git-flow/git-flow.plugin.zsh index ab9c0c848..58c31d756 100644 --- a/plugins/git-flow/git-flow.plugin.zsh +++ b/plugins/git-flow/git-flow.plugin.zsh @@ -20,6 +20,9 @@ # c. Or, use this file as a oh-my-zsh plugin. # +#Alias +alias gf='git flow' + _git-flow () { local curcontext="$curcontext" state line diff --git a/plugins/git/git.plugin.zsh b/plugins/git/git.plugin.zsh index 6c016aa6b..af0189fdc 100644 --- a/plugins/git/git.plugin.zsh +++ b/plugins/git/git.plugin.zsh @@ -63,7 +63,10 @@ compdef _git gm=git-merge alias grh='git reset HEAD' alias grhh='git reset HEAD --hard' alias gwc='git whatchanged -p --abbrev-commit --pretty=medium' -alias gf='git ls-files | grep' + +#remove the gf alias +#alias gf='git ls-files | grep' + alias gpoat='git push origin --all && git push origin --tags' # Will cd into the top of the current repository From 6b832b93588567cb00b9a9e8170a5ebf539dea51 Mon Sep 17 00:00:00 2001 From: yleo77 Date: Thu, 6 Jun 2013 12:39:14 +0800 Subject: [PATCH 12/69] add some alias for git flow --- plugins/git-flow/git-flow.plugin.zsh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/plugins/git-flow/git-flow.plugin.zsh b/plugins/git-flow/git-flow.plugin.zsh index 58c31d756..b9ea06844 100644 --- a/plugins/git-flow/git-flow.plugin.zsh +++ b/plugins/git-flow/git-flow.plugin.zsh @@ -22,6 +22,9 @@ #Alias alias gf='git flow' +alias gcd='git checkout develop' +alias gch='git checkout hotfix' +alias gcr='git checkout release' _git-flow () { From c26facb582eed3b63642665864258862aa49392b Mon Sep 17 00:00:00 2001 From: Alexandre Joly Date: Fri, 5 Jul 2013 00:58:05 +0200 Subject: [PATCH 13/69] first few lines for the autocompletion of cocoapods --- plugins/pod/_pod | 82 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 plugins/pod/_pod diff --git a/plugins/pod/_pod b/plugins/pod/_pod new file mode 100644 index 000000000..2c183635d --- /dev/null +++ b/plugins/pod/_pod @@ -0,0 +1,82 @@ +#compdef pod + +# ----------------------------------------------------------------------------- +# FILE: pod.plugin.zsh +# DESCRIPTION: Cocoapods autocomplete plugin for Oh-My-Zsh +# AUTHOR: Alexandre Joly (alexandre.joly@mekanics.ch) +# GITHUB: https://github.com/mekanics +# VERSION: 0.0.1 +# ----------------------------------------------------------------------------- + +_pod_all_repos() { + repos=(`ls ~/.cocoapods`) +} + +local -a _1st_arguments +_1st_arguments=( + 'help:Show help for the given command.' + 'install:Install project dependencies' + 'ipc:Inter-process communication' + 'lib:Develop pods' + 'list:List pods' + 'outdated:Show outdated project dependencies' + 'podfile-info:Shows information on installed Pods' + 'push:Push new specifications to a spec-repo' + 'repo:Manage spec-repositories' + 'search:Searches for pods' + 'setup:Setup the CocoaPods environment' + 'spec:Manage pod specs' + 'update:Update outdated project dependencies' +) + +_arguments '*:: :->command' + +if (( CURRENT == 1 )); then + _describe -t commands "pod command" _1st_arguments + return +fi + +local -a _command_args +case "$words[1]" in + install) + _command_args=( + '(--no-clean)--no-clean[Leave SCM dirs like `.git` and `.svn` intact after downloading]' \ + '(--no-integrate)--no-integrate[Skip integration of the Pods libraries in the Xcode project(s)]' \ + '(--no-repo-update)--no-repo-update[Skip running `pod repo update before install]' + ) + ;; + update) + _command_args=( + '(--no-clean)--no-clean[Leave SCM dirs like `.git` and `.svn intact after downloading]' \ + '(--no-integrate)--no-integrate[Skip integration of the Pods libraries in the Xcode project(s)]' \ + '(--no-repo-update)--no-repo-update[Skip running `pod repo update before install]' + ) + ;; + outdated) + _command_args=( + '(--no-repo-update)--no-repo-update[Skip running `pod repo update before install]' + ) + ;; + search) + _command_args=( + '(--full)--full[Search by name, summary, and description]' \ + '(--stats)--stats[Show additional stats (like GitHub watchers and forks)]' \ + '(--ios)--ios[Restricts the search to Pods supported on iOS]' \ + '(--osx)--osx[Restricts the search to Pods supported on OS X]' + ) + ;; + update) + _command_args=( + '(--update)--update[Run `pod repo update before listing]' + ) + ;; +esac + +_arguments \ + $_command_args \ + '(--silent)--silent[Show nothing]' \ + '(--version)--version[Show the version of CocoaPods]' \ + '(--no-color)--no-color[Show output without color]' \ + '(--verbose)--verbose[Show more debugging information]' \ + '(--help)--help[Show help banner of specified command]' \ + && return 0 \ No newline at end of file From cf5ca2f4f3e6d98a4d4d4938be0e421645722fb2 Mon Sep 17 00:00:00 2001 From: Alexandre Joly Date: Fri, 5 Jul 2013 11:07:29 +0200 Subject: [PATCH 14/69] commands and subcommands --- plugins/pod/_pod | 219 ++++++++++++++++++++++++++++++++++++----------- 1 file changed, 168 insertions(+), 51 deletions(-) diff --git a/plugins/pod/_pod b/plugins/pod/_pod index 2c183635d..ce8882d42 100644 --- a/plugins/pod/_pod +++ b/plugins/pod/_pod @@ -1,16 +1,29 @@ #compdef pod +#autoload # ----------------------------------------------------------------------------- # FILE: pod.plugin.zsh # DESCRIPTION: Cocoapods autocomplete plugin for Oh-My-Zsh +# http://cocoapods.org # AUTHOR: Alexandre Joly (alexandre.joly@mekanics.ch) # GITHUB: https://github.com/mekanics +# TWITTER: @jolyAlexandre # VERSION: 0.0.1 +# LICENSE: MIT # ----------------------------------------------------------------------------- -_pod_all_repos() { - repos=(`ls ~/.cocoapods`) -} +#------------------ +# TODO: +# - Parameters for +# - install +# - update +# - outdated +# - search +# - list +# - push +# - podfile-info +# - setup +#------------------ local -a _1st_arguments _1st_arguments=( @@ -29,54 +42,158 @@ _1st_arguments=( 'update:Update outdated project dependencies' ) -_arguments '*:: :->command' +local -a _repo_arguments +_repo_arguments=( + 'add:Add a spec repo' + 'lint:Validates all specs in a repo' + 'update:Update a spec repo' +) -if (( CURRENT == 1 )); then - _describe -t commands "pod command" _1st_arguments - return -fi +local -a _spec_arguments +_spec_arguments=( + 'cat:Prints a spec file' + 'create:Create spec file stub' + 'edit:Edit a spec file' + 'lint:Validates a spec file' + 'which:Prints the path of the given spec' +) -local -a _command_args -case "$words[1]" in - install) - _command_args=( - '(--no-clean)--no-clean[Leave SCM dirs like `.git` and `.svn` intact after downloading]' \ - '(--no-integrate)--no-integrate[Skip integration of the Pods libraries in the Xcode project(s)]' \ - '(--no-repo-update)--no-repo-update[Skip running `pod repo update before install]' - ) - ;; - update) - _command_args=( - '(--no-clean)--no-clean[Leave SCM dirs like `.git` and `.svn intact after downloading]' \ - '(--no-integrate)--no-integrate[Skip integration of the Pods libraries in the Xcode project(s)]' \ - '(--no-repo-update)--no-repo-update[Skip running `pod repo update before install]' - ) - ;; - outdated) - _command_args=( - '(--no-repo-update)--no-repo-update[Skip running `pod repo update before install]' - ) - ;; - search) - _command_args=( - '(--full)--full[Search by name, summary, and description]' \ - '(--stats)--stats[Show additional stats (like GitHub watchers and forks)]' \ - '(--ios)--ios[Restricts the search to Pods supported on iOS]' \ - '(--osx)--osx[Restricts the search to Pods supported on OS X]' - ) - ;; - update) - _command_args=( - '(--update)--update[Run `pod repo update before listing]' - ) - ;; +local -a _ipc_arguments +_ipc_arguments=( + 'list:Lists the specifications know to CocoaPods' + 'podfile:Converts a Podfile to YAML' + 'repl:The repl listens to commands on standard input' + 'spec:Converts a podspec to YAML' + 'update-search-index:Updates the search index' +) + +local -a _list_arguments +_list_arguments=( + 'new:Lists pods introduced in the master spec-repo since the last check' +) + +__first_command_list () +{ + local expl + declare -a tasks + + tasks=(install ipc lib list outdated podfile-info push repo search setup spec update) + + _wanted tasks expl 'help' compadd $tasks +} + +__repo_list() { + _wanted application expl 'command' compadd $(command ls -1 ~/.cocoapods 2>/dev/null | sed -e 's/ /\\ /g') +} + +__pod-repo() { + local curcontext="$curcontext" state line + typeset -A opt_args + + _arguments -C \ + ':command:->command' \ + '*::options:->options' + + case $state in + (command) + _describe -t commands "gem subcommand" _repo_arguments + return + ;; + + (options) + case $line[1] in + (update|lint) + _arguments ':feature:__repo_list' + ;; + esac + ;; + esac +} + +__pod-spec() { + local curcontext="$curcontext" state line + typeset -A opt_args + + _arguments -C \ + ':command:->command' \ + '*::options:->options' + + case $state in + (command) + _describe -t commands "gem subcommand" _spec_arguments + return + ;; + + (options) + #todo + return + ;; + esac +} + +__pod-ipc() { + local curcontext="$curcontext" state line + typeset -A opt_args + + _arguments -C \ + ':command:->command' \ + '*::options:->options' + + case $state in + (command) + _describe -t commands "gem subcommand" _ipc_arguments + return + ;; + + (options) + #todo + return + ;; + esac +} + + + +local expl +#local -a boxes installed_boxes + +local curcontext="$curcontext" state line +typeset -A opt_args + +_arguments -C \ + ':command:->command' \ + '*::options:->options' + +case $state in + (command) + _describe -t commands "gem subcommand" _1st_arguments + return + ;; + + (options) + case $line[1] in + (help) + _arguments ':feature:__first_command_list' + ;; + + (repo) + __pod-repo + ;; + + (spec) + __pod-spec + ;; + + (ipc) + __pod-ipc + ;; + + (list) + __pod-list + ;; + + (install|lib|outdated|podfile-info|push|search|setup|update) + #_arguments ':feature:__repo_list' + esac + ;; esac - -_arguments \ - $_command_args \ - '(--silent)--silent[Show nothing]' \ - '(--version)--version[Show the version of CocoaPods]' \ - '(--no-color)--no-color[Show output without color]' \ - '(--verbose)--verbose[Show more debugging information]' \ - '(--help)--help[Show help banner of specified command]' \ - && return 0 \ No newline at end of file From 1d636fe8ab4a7258eddbe120d462cdda3d8adbaf Mon Sep 17 00:00:00 2001 From: Alexandre Joly Date: Fri, 5 Jul 2013 11:17:33 +0200 Subject: [PATCH 15/69] pod-list pod-lib removed. whyever I described it... --- plugins/pod/_pod | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/plugins/pod/_pod b/plugins/pod/_pod index ce8882d42..1decb8872 100644 --- a/plugins/pod/_pod +++ b/plugins/pod/_pod @@ -30,7 +30,6 @@ _1st_arguments=( 'help:Show help for the given command.' 'install:Install project dependencies' 'ipc:Inter-process communication' - 'lib:Develop pods' 'list:List pods' 'outdated:Show outdated project dependencies' 'podfile-info:Shows information on installed Pods' @@ -77,7 +76,7 @@ __first_command_list () local expl declare -a tasks - tasks=(install ipc lib list outdated podfile-info push repo search setup spec update) + tasks=(install ipc list outdated podfile-info push repo search setup spec update) _wanted tasks expl 'help' compadd $tasks } @@ -152,6 +151,27 @@ __pod-ipc() { esac } +__pod-list() { + local curcontext="$curcontext" state line + typeset -A opt_args + + _arguments -C \ + ':command:->command' \ + '*::options:->options' + + case $state in + (command) + _describe -t commands "gem subcommand" _list_arguments + return + ;; + + (options) + #todo + return + ;; + esac +} + local expl @@ -192,7 +212,7 @@ case $state in __pod-list ;; - (install|lib|outdated|podfile-info|push|search|setup|update) + (install|outdated|podfile-info|push|search|setup|update) #_arguments ':feature:__repo_list' esac ;; From c48822b3a3a3f25922c184d1804fc11aea2b6432 Mon Sep 17 00:00:00 2001 From: Alexandre Joly Date: Fri, 5 Jul 2013 11:28:00 +0200 Subject: [PATCH 16/69] show repos on pod push --- plugins/pod/_pod | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/plugins/pod/_pod b/plugins/pod/_pod index 1decb8872..78644745b 100644 --- a/plugins/pod/_pod +++ b/plugins/pod/_pod @@ -196,6 +196,10 @@ case $state in _arguments ':feature:__first_command_list' ;; + (push) + _arguments ':feature:__repo_list' + ;; + (repo) __pod-repo ;; @@ -212,7 +216,7 @@ case $state in __pod-list ;; - (install|outdated|podfile-info|push|search|setup|update) + (install|outdated|podfile-info|search|setup|update) #_arguments ':feature:__repo_list' esac ;; From 0892bce00b73fdf75d70e554b1fd64ae0fd5e61a Mon Sep 17 00:00:00 2001 From: Alexandre Joly Date: Tue, 9 Jul 2013 14:41:41 +0200 Subject: [PATCH 17/69] supplemented with options --- plugins/pod/_pod | 239 ++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 197 insertions(+), 42 deletions(-) diff --git a/plugins/pod/_pod b/plugins/pod/_pod index 78644745b..bb4f782b3 100644 --- a/plugins/pod/_pod +++ b/plugins/pod/_pod @@ -12,19 +12,6 @@ # LICENSE: MIT # ----------------------------------------------------------------------------- -#------------------ -# TODO: -# - Parameters for -# - install -# - update -# - outdated -# - search -# - list -# - push -# - podfile-info -# - setup -#------------------ - local -a _1st_arguments _1st_arguments=( 'help:Show help for the given command.' @@ -71,6 +58,92 @@ _list_arguments=( 'new:Lists pods introduced in the master spec-repo since the last check' ) +local -a _inherited_options +_inherited_options=( + '(--silent)--silent[Show nothing]' \ + '(--version)--version[Show the version of CocoaPods]' \ + '(--no-color)--no-color[Show output without color]' \ + '(--verbose)--verbose[Show more debugging information]' \ + '(--help)--help[Show help banner of specified command]' +) + +local -a _install_options +_install_options=( + '(--no-clean)--no-clean[Leave SCM dirs like `.git` and `.svn` intact after downloading]' \ + '(--no-integrate)--no-integrate[Skip integration of the Pods libraries in the Xcode project(s)]' \ + '(--no-repo-update)--no-repo-update[Skip running `pod repo update` before install]' +) + +local -a _update_options +_update_options=( + '(--no-clean)--no-clean[Leave SCM dirs like `.git` and `.svn intact after downloading]' \ + '(--no-integrate)--no-integrate[Skip integration of the Pods libraries in the Xcode project(s)]' \ + '(--no-repo-update)--no-repo-update[Skip running `pod repo update before install]' +) + +local -a _outdated_options +_outdated_options=( + '(--no-repo-update)--no-repo-update[Skip running `pod repo update` before install]' +) + +local -a _search_options +_search_options=( + '(--full)--full[Search by name, summary, and description]' \ + '(--stats)--stats[Show additional stats (like GitHub watchers and forks)]' \ + '(--ios)--ios[Restricts the search to Pods supported on iOS]' \ + '(--osx)--osx[Restricts the search to Pods supported on OS X]' +) + +local -a _list_options +_list_options=( + '(--update)--update[Run `pod repo update` before listing]' +) + +local -a _podfile_info_options +_podfile_info_options=( + '(--all)--all[Show information about all Pods with dependencies that are used in a project]' \ + '(--md)--md[Output information in Markdown format]' +) + +local -a _push_options +_push_options=( + '(--allow-warnings)--allow-warnings[Allows pushing even if there are warnings]' \ + '(--local-only)--local-only[Does not perform the step of pushing REPO to its remote]' +) + +local -a _repo_lint_options +_repo_lint_options=( + '(--only-errors)--only-errors[Lint presents only the errors]' +) + +local -a _setup_options +_setup_options=( + '(--push)--push[Use this option to enable push access once granted]' +) + +local -a _spec_lint_options +_spec_lint_options=( + '(--quick)--quick[Lint skips checks that would require to download and build the spec]' \ + '(--only-errors)--only-errors[Lint validates even if warnings are present]' \ + '(--no-clean)--no-clean[Lint leaves the build directory intact for inspection]' +) + +local -a _spec_cat_options +_spec_cat_options=( + '(--show-all)--show-all[Pick from all versions of the given podspec]' +) + +local -a _spec_which_options +_spec_which_options=( + '(--show-all)--show-all[Print all versions of the given podspec]' +) + +local -a _spec_edit_options +_spec_edit_options=( + '(--show-all)--show-all[Pick which spec to edit from all available versions of the given podspec]' +) + + __first_command_list () { local expl @@ -82,7 +155,7 @@ __first_command_list () } __repo_list() { - _wanted application expl 'command' compadd $(command ls -1 ~/.cocoapods 2>/dev/null | sed -e 's/ /\\ /g') + _wanted application expl 'repo' compadd $(command ls -1 ~/.cocoapods 2>/dev/null | sed -e 's/ /\\ /g') } __pod-repo() { @@ -93,19 +166,32 @@ __pod-repo() { ':command:->command' \ '*::options:->options' - case $state in - (command) - _describe -t commands "gem subcommand" _repo_arguments - return - ;; + case $state in + (command) + _describe -t commands "pod repo" _repo_arguments + return + ;; - (options) - case $line[1] in - (update|lint) - _arguments ':feature:__repo_list' - ;; - esac - ;; + (options) + case $line[1] in + (lint) + _arguments \ + $_inherited_options \ + $_repo_lint_options \ + ':feature:__repo_list' + ;; + + (update) + _arguments \ + $_inherited_options \ + ':feature:__repo_list' + ;; + + (add) + _arguments \ + $_inherited_options + esac + ;; esac } @@ -119,12 +205,41 @@ __pod-spec() { case $state in (command) - _describe -t commands "gem subcommand" _spec_arguments + _describe -t commands "pod spec" _spec_arguments return ;; (options) - #todo + case $line[1] in + (create) + _arguments \ + $_inherited_options + ;; + + (lint) + _arguments \ + $_inherited_options \ + $_spec_lint_options + ;; + + (cat) + _arguments \ + $_inherited_options \ + $_spec_cat_options + ;; + + (which) + _arguments \ + $_inherited_options \ + $_spec_which_options + ;; + + (edit) + _arguments \ + $_inherited_options \ + $_spec_edit_options + ;; + esac return ;; esac @@ -140,12 +255,13 @@ __pod-ipc() { case $state in (command) - _describe -t commands "gem subcommand" _ipc_arguments + _describe -t commands "pod ipc" _ipc_arguments return ;; (options) - #todo + _arguments -C \ + $_inherited_options return ;; esac @@ -156,48 +272,53 @@ __pod-list() { typeset -A opt_args _arguments -C \ + $_inherited_options \ + $_list_options \ ':command:->command' \ '*::options:->options' case $state in (command) - _describe -t commands "gem subcommand" _list_arguments + _describe -t commands "pod list" _list_arguments return ;; (options) - #todo + _arguments -C \ + $_inherited_options \ + $_list_options return ;; esac } - - -local expl -#local -a boxes installed_boxes - local curcontext="$curcontext" state line typeset -A opt_args _arguments -C \ + $_inherited_options \ ':command:->command' \ '*::options:->options' case $state in (command) - _describe -t commands "gem subcommand" _1st_arguments + _describe -t commands "pod" _1st_arguments return ;; (options) case $line[1] in (help) - _arguments ':feature:__first_command_list' + _arguments \ + $_inherited_options \ + ':help:__first_command_list' ;; (push) - _arguments ':feature:__repo_list' + _arguments \ + $_inherited_options \ + $_push_options \ + ':repo:__repo_list' ;; (repo) @@ -216,8 +337,42 @@ case $state in __pod-list ;; - (install|outdated|podfile-info|search|setup|update) - #_arguments ':feature:__repo_list' + (install) + _arguments \ + $_inherited_options \ + $_install_options + ;; + + (update) + _arguments \ + $_inherited_options \ + $_update_options + ;; + + (outdated) + _arguments \ + $_inherited_options \ + $_outdated_options + ;; + + (search) + _arguments \ + $_inherited_options \ + $_search_options + ;; + + (podfile-info) + _arguments \ + $_inherited_options \ + $_podfile_info_options + ;; + + (setup) + _arguments \ + $_inherited_options \ + $_setup_options + ;; + esac ;; esac From 45314ee5b7ad2d7daafe940b801ddacd151d7017 Mon Sep 17 00:00:00 2001 From: mekanics Date: Wed, 10 Jul 2013 00:14:08 +0200 Subject: [PATCH 18/69] correct filename in the comments --- plugins/pod/_pod | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/pod/_pod b/plugins/pod/_pod index bb4f782b3..c1eb86b5e 100644 --- a/plugins/pod/_pod +++ b/plugins/pod/_pod @@ -2,7 +2,7 @@ #autoload # ----------------------------------------------------------------------------- -# FILE: pod.plugin.zsh +# FILE: _pod # DESCRIPTION: Cocoapods autocomplete plugin for Oh-My-Zsh # http://cocoapods.org # AUTHOR: Alexandre Joly (alexandre.joly@mekanics.ch) From 05d8fdf3d54af3243e5891d13969a766bd9570a1 Mon Sep 17 00:00:00 2001 From: Brent Theisen Date: Tue, 9 Jul 2013 23:15:43 -0500 Subject: [PATCH 19/69] Copy and paste of two functions from Ubuntu 13.04's version of /usr/share/zsh/functions/Completion/Unix/_git that were referenced in 46f0d8d. Fixes #1952. --- plugins/git/_git-branch | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/plugins/git/_git-branch b/plugins/git/_git-branch index 86d03bc30..6b9c1a483 100644 --- a/plugins/git/_git-branch +++ b/plugins/git/_git-branch @@ -60,3 +60,24 @@ _git-branch () "($l $c $m -d)-D[delete a branch]" \ $dependent_deletion_args } + +(( $+functions[__git_ignore_line] )) || +__git_ignore_line () { + declare -a ignored + ignored=() + ((CURRENT > 1)) && + ignored+=(${line[1,CURRENT-1]//(#m)[\[\]()\\*?#<>~\^]/\\$MATCH}) + ((CURRENT < $#line)) && + ignored+=(${line[CURRENT+1,-1]//(#m)[\[\]()\\*?#<>~\^]/\\$MATCH}) + $* -F ignored +} + +(( $+functions[__git_ignore_line_inside_arguments] )) || +__git_ignore_line_inside_arguments () { + declare -a compadd_opts + + zparseopts -D -E -a compadd_opts V: J: 1 2 n f X: M: P: S: r: R: q F: + + __git_ignore_line $* $compadd_opts +} + From 3d204883a69355b95248b72e8c2078718fb07802 Mon Sep 17 00:00:00 2001 From: Sukant Hajra Date: Thu, 11 Jul 2013 01:36:50 -0500 Subject: [PATCH 20/69] fix gpg-agent "running already" check The GPG_ENV file is sourced before doing the gpg-connect-agent check, but this file (unlike the SSH_ENV file) doesn't export GPG_AGENT_INFO, so the check always fails. This results in new gpg-agents continuously being spawned. All this commit does is put in the single export to fix the problem. --- plugins/gpg-agent/gpg-agent.plugin.zsh | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/gpg-agent/gpg-agent.plugin.zsh b/plugins/gpg-agent/gpg-agent.plugin.zsh index 4071334cb..b6992479d 100644 --- a/plugins/gpg-agent/gpg-agent.plugin.zsh +++ b/plugins/gpg-agent/gpg-agent.plugin.zsh @@ -19,6 +19,7 @@ if ! gpg-connect-agent --quiet /bye > /dev/null 2> /dev/null; then # source settings of old agent, if applicable if [ -f "${GPG_ENV}" ]; then . ${GPG_ENV} > /dev/null + export GPG_AGENT_INFO fi # check again if another agent is running using the newly sourced settings From 57a2327ddff8ed88492dd32cc57ccd5fd5c6e9ac Mon Sep 17 00:00:00 2001 From: Tehmasp Chaudhri Date: Fri, 12 Jul 2013 12:03:44 -0600 Subject: [PATCH 21/69] Added a 'git diff --cached' alias -> 'gdc' --- 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 2ecc74eb6..3522703ef 100644 --- a/plugins/git/git.plugin.zsh +++ b/plugins/git/git.plugin.zsh @@ -5,6 +5,8 @@ alias gst='git status' compdef _git gst=git-status alias gd='git diff' compdef _git gd=git-diff +alias gdc='git diff --cached' +compdef _git gdc=git-diff alias gl='git pull' compdef _git gl=git-pull alias gup='git pull --rebase' From 849c80b02ddb52a3f28edaca875e154a9daacd01 Mon Sep 17 00:00:00 2001 From: fff Date: Mon, 15 Jul 2013 09:25:18 +0800 Subject: [PATCH 22/69] fixed typo in tmux plugin --- plugins/tmux/tmux.plugin.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/tmux/tmux.plugin.zsh b/plugins/tmux/tmux.plugin.zsh index 3ecc2ac69..96fab80a6 100644 --- a/plugins/tmux/tmux.plugin.zsh +++ b/plugins/tmux/tmux.plugin.zsh @@ -38,7 +38,7 @@ if which tmux &> /dev/null fi # Set the correct local config file to use. - if [[ "$ZSH_TMUX_ITERM2" == "false" ]] && (( [[ -f $HOME/.tmux.conf ]] || -h $HOME/.tmux.conf ]] )) + if [[ "$ZSH_TMUX_ITERM2" == "false" ]] && [[ -f $HOME/.tmux.conf || -h $HOME/.tmux.conf ]] then #use this when they have a ~/.tmux.conf export _ZSH_TMUX_FIXED_CONFIG="$zsh_tmux_plugin_path/tmux.extra.conf" From ba7fe6df62236dfa03a360a8707ebd0c0b1a645a Mon Sep 17 00:00:00 2001 From: Alexandre Joly Date: Mon, 15 Jul 2013 14:37:31 +0200 Subject: [PATCH 23/69] show file liste on 'pod push [REPO]' and tab, 'pod spec lint' and 'pod podfile-info' --- plugins/pod/_pod | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/plugins/pod/_pod b/plugins/pod/_pod index c1eb86b5e..563fa5e66 100644 --- a/plugins/pod/_pod +++ b/plugins/pod/_pod @@ -102,13 +102,15 @@ _list_options=( local -a _podfile_info_options _podfile_info_options=( '(--all)--all[Show information about all Pods with dependencies that are used in a project]' \ - '(--md)--md[Output information in Markdown format]' + '(--md)--md[Output information in Markdown format]' \ + '*:script or directory:_files' ) local -a _push_options _push_options=( '(--allow-warnings)--allow-warnings[Allows pushing even if there are warnings]' \ - '(--local-only)--local-only[Does not perform the step of pushing REPO to its remote]' + '(--local-only)--local-only[Does not perform the step of pushing REPO to its remote]' \ + '*:script or directory:_files' ) local -a _repo_lint_options @@ -125,7 +127,8 @@ local -a _spec_lint_options _spec_lint_options=( '(--quick)--quick[Lint skips checks that would require to download and build the spec]' \ '(--only-errors)--only-errors[Lint validates even if warnings are present]' \ - '(--no-clean)--no-clean[Lint leaves the build directory intact for inspection]' + '(--no-clean)--no-clean[Lint leaves the build directory intact for inspection]' \ + '*:script or directory:_files' ) local -a _spec_cat_options From cf8d76094c2e0032ebe5cc1d579e393521ed3b86 Mon Sep 17 00:00:00 2001 From: Sukant Hajra Date: Mon, 15 Jul 2013 08:51:08 -0500 Subject: [PATCH 24/69] PLUGIN: gpg-agent: export SSH_* environment variables too If using the gpg-agent with --enable-ssh-support, the SSH_AUTH_SOCK and SSH_AGENT_PID environment variables need to be exported once sourced from GPG_ENV. Otherwise, we get no benefit from the persisting these values to GPG_ENV; subsequent openned terminals don't see the existent gpg-agent as a process for an SSH daemon. --- plugins/gpg-agent/gpg-agent.plugin.zsh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/plugins/gpg-agent/gpg-agent.plugin.zsh b/plugins/gpg-agent/gpg-agent.plugin.zsh index b6992479d..3e6a34f42 100644 --- a/plugins/gpg-agent/gpg-agent.plugin.zsh +++ b/plugins/gpg-agent/gpg-agent.plugin.zsh @@ -20,6 +20,8 @@ if ! gpg-connect-agent --quiet /bye > /dev/null 2> /dev/null; then if [ -f "${GPG_ENV}" ]; then . ${GPG_ENV} > /dev/null export GPG_AGENT_INFO + export SSH_AUTH_SOCK + export SSH_AGENT_PID fi # check again if another agent is running using the newly sourced settings From 6041e4938cc559b908d83b5664166cc1fd02f31e Mon Sep 17 00:00:00 2001 From: yleo77 Date: Tue, 16 Jul 2013 16:54:54 +0800 Subject: [PATCH 25/69] set default value `--max-count=10` --- plugins/git/git.plugin.zsh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/git/git.plugin.zsh b/plugins/git/git.plugin.zsh index 3bdf0c30f..9087a14ea 100644 --- a/plugins/git/git.plugin.zsh +++ b/plugins/git/git.plugin.zsh @@ -52,9 +52,9 @@ compdef gcount=git alias gcl='git config --list' alias gcp='git cherry-pick' compdef _git gcp=git-cherry-pick -alias glg='git log --stat --max-count=5' +alias glg='git log --stat --max-count=10' compdef _git glg=git-log -alias glgg='git log --graph --max-count=5' +alias glgg='git log --graph --max-count=10' compdef _git glgg=git-log alias glgga='git log --graph --decorate --all' compdef _git glgga=git-log From cbbdc0dfeb579474e320a6acf46077bac8c78c28 Mon Sep 17 00:00:00 2001 From: Andrey Janzen Date: Sat, 20 Jul 2013 10:12:06 +0700 Subject: [PATCH 26/69] Added 'reinstall' command to brew completion --- plugins/brew/_brew | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/brew/_brew b/plugins/brew/_brew index e43ba2900..3ead022dc 100644 --- a/plugins/brew/_brew +++ b/plugins/brew/_brew @@ -28,6 +28,7 @@ _1st_arguments=( 'missing:check all installed formuale for missing dependencies.' 'outdated:list formulas for which a newer version is available' 'prune:remove dead links' + 'reinstall:reinstall a formula' 'remove:remove a formula' 'search:search for a formula (/regex/ or string)' 'server:start a local web app that lets you browse formulae (requires Sinatra)' From c8dbadd3da204bbe3c15c870818aeb34800e26a2 Mon Sep 17 00:00:00 2001 From: Andrey Janzen Date: Tue, 23 Jul 2013 21:32:55 +0700 Subject: [PATCH 27/69] Added completion for second argument for 'brew reinstall' --- plugins/brew/_brew | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/brew/_brew b/plugins/brew/_brew index 3ead022dc..bf0a286c1 100644 --- a/plugins/brew/_brew +++ b/plugins/brew/_brew @@ -76,7 +76,7 @@ case "$words[1]" in install|home|homepage|log|info|abv|uses|cat|deps|edit|options|versions) _brew_all_formulae _wanted formulae expl 'all formulae' compadd -a formulae ;; - remove|rm|uninstall|unlink|cleanup|link|ln) + reinstall|remove|rm|uninstall|unlink|cleanup|link|ln) _brew_installed_formulae _wanted installed_formulae expl 'installed formulae' compadd -a installed_formulae ;; esac From 25913cf14402dbf71a95c56cae69008bcec71b69 Mon Sep 17 00:00:00 2001 From: stibinator Date: Fri, 26 Jul 2013 11:49:40 +1000 Subject: [PATCH 28/69] added duckduckgo to web-search --- plugins/web-search/web-search.plugin.zsh | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/plugins/web-search/web-search.plugin.zsh b/plugins/web-search/web-search.plugin.zsh index 6b6de2b15..ebd133a0a 100644 --- a/plugins/web-search/web-search.plugin.zsh +++ b/plugins/web-search/web-search.plugin.zsh @@ -11,7 +11,7 @@ function web_search() { fi # check whether the search engine is supported - if [[ ! $1 =~ '(google|bing|yahoo)' ]]; + if [[ ! $1 =~ '(google|bing|yahoo|duckduckgo)' ]]; then echo "Search engine $1 not supported." return 1 @@ -24,8 +24,12 @@ function web_search() { $open_cmd "$url" return fi - - url="${url}/search?q=" + if [[ $1 == 'duckduckgo' ]]; then + #slightly different search syntax for DDG + url="${url}/?q=" + else + url="${url}/search?q=" + fi shift # shift out $1 while [[ $# -gt 0 ]]; do @@ -34,10 +38,19 @@ function web_search() { done url="${url%?}" # remove the last '+' - + $open_cmd "$url" } + alias bing='web_search bing' alias google='web_search google' alias yahoo='web_search yahoo' +alias duck='web_search duckduckgo' +#add your own !bang searches here +alias wiki='web_search duckduckgo \!w' +alias news='web_search duckduckgo \!n' +alias youtube='web_search duckduckgo \!yt' +alias map='web_search duckduckgo \!m' +alias image='web_search duckduckgo \!i' +alias ducky='web_search duckduckgo \!' \ No newline at end of file From 0456664463374f4872200ffc057c741433eba4f6 Mon Sep 17 00:00:00 2001 From: stibinator Date: Fri, 26 Jul 2013 11:53:53 +1000 Subject: [PATCH 29/69] added duckduckgo to web-search --- plugins/web-search/web-search.plugin.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/web-search/web-search.plugin.zsh b/plugins/web-search/web-search.plugin.zsh index ebd133a0a..d06585ae5 100644 --- a/plugins/web-search/web-search.plugin.zsh +++ b/plugins/web-search/web-search.plugin.zsh @@ -53,4 +53,4 @@ alias news='web_search duckduckgo \!n' alias youtube='web_search duckduckgo \!yt' alias map='web_search duckduckgo \!m' alias image='web_search duckduckgo \!i' -alias ducky='web_search duckduckgo \!' \ No newline at end of file +alias ducky='web_search duckduckgo \!' From 619ecb5f4fcec9ceb3769f4697fcbb2cbe3f2a7a Mon Sep 17 00:00:00 2001 From: Ahmed Azaan Date: Wed, 7 Aug 2013 21:19:21 +0530 Subject: [PATCH 30/69] add docker autocomplete plugin --- plugins/docker/README.md | 0 plugins/docker/_docker | 290 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 290 insertions(+) create mode 100644 plugins/docker/README.md create mode 100644 plugins/docker/_docker diff --git a/plugins/docker/README.md b/plugins/docker/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/plugins/docker/_docker b/plugins/docker/_docker new file mode 100644 index 000000000..e8d2885c9 --- /dev/null +++ b/plugins/docker/_docker @@ -0,0 +1,290 @@ +#compdef docker + +# Docker autocompletion for oh-my-zsh +# Requires: Docker installed +# Author : Azaan (@aeonazaan) + + +# ----- Helper functions +# Output a selectable list of all running docker containers +__docker_containers() { + declare -a cont_cmd + cont_cmd=($(docker ps | awk 'NR>1{print $1":[CON("$1")"$2"("$3")]"}')) + _describe 'containers' cont_cmd +} + +# output a selectable list of all docker images +__docker_images() { + declare -a img_cmd + img_cmd=($(docker images | awk 'NR>1{print $1}')) + _describe 'images' img_cmd +} + +# ----- Commands +# Seperate function for each command, makes extension easier later +# --------------------------- +__attach() { + __docker_containers +} + +__build() { + _arguments \ + '-q=false[Suppress verbose build output]' \ + '-t="[fuck to be applied to the resulting image in case of success]' \ + ' *:files:_files' +} + +__commit() { + _arguments \ + '-author="[Author]' \ + '-m="[Commit message]' \ + '-run="[Config automatically applied when the image is run.\n]' + __docker_containers +} + +__diff() { + __docker_containers +} + +__export() { + __docker_containers +} + + +__history() { + __docker_images +} + +__images() { + _arguments \ + '-a[show all images]' \ + '-notrunc[dont truncate output]' \ + '-q[only show numeric IDs]' \ + '-viz[output graph in graphviz format' + __docker_images +} + +__import() { + _arguments '*:files:_files' +} + +__info() { + # no arguments +} + +__insert() { + __docker_images + _arguments '*:files:_files' +} + +__inspect() { + __docker_images + __docker_containers +} + +__kill() { + __docker_containers +} + +__login() { + _arguments \ + '-e="[email]' \ + '-p="[password]' \ + '-u="[username]' \ +} + +__logs() { + __docker_containers +} + +__port() { + __docker_containers +} + +__top() { + __docker_containers +} + +__ps() { + _arguments \ + '-a[Show all containers. Only running containers are shown by default.]' \ + '-beforeId="[Show only container created before Id, include non-running ones.]' \ + '-l[Show only the latest created container, include non-running ones.]' \ + '-n=[Show n last created containers, include non-running ones.]' \ + '-notrurrrrnc[Dont truncate output]' \ + '-q[Only display numeric IDs]' \ + '-s[Display sizes]' \ + '-sinceId="[Show only containers created since Id, include non-running ones.]' +} + +__pull() { + _arguments '-t="[Download tagged image in repository]' +} + +__push() { + +} + +__restart() { + _arguments '-t=[number of seconds to try to stop before killing]' + __docker_containers +} + +__rm() { + _arguments '-v[Remove the volumes associated to the container]' + __docker_containers +} + +__rmi() { + __docker_images +} + +__run() { + _arguments \ + '-a=[Attach to stdin, stdout or stderr.]' \ + '-c=[CPU shares (relative weight)]' \ + '-d[Detached mode: leave the container running in the background]' \ + '-dns=[Set custom dns servers]' \ + '-e=[Set environment variables]' \ + '-entrypoint="[Overwrite the default entrypoint of the image]' \ + '-h="[Container host name]' \ + '-i[Keep stdin open even if not attached]' \ + '-m=[Memory limit (in bytes)]' \ + '-p=[Expose a containers port to the host (use docker port to see the actual mapping)]' \ + '-t[Allocate a pseudo-tty]' \ + '-u="[Username or UID]' \ + '-v=[Bind mount a volume (e.g. from the host: -v /host:/container, from docker: -v /container)]' \ + '-volumes-from="[Mount volumes from the specified container]' + __docker_images +} + +__search() { + arguments '-notrunc[Dont truncate output]' +} + +__start() { + __docker_container +} + +__stop() { + __arguments '-t=[number of seconds to try to stop before killing]' + __docker_containers +} + +__tag() { + __arguments '-f[Force]' + __docker_images +} + +__version() { + +} + +__wait() { + __docker_container +} + +# end commands --------- +# ---------------------- + +local -a _1st_arguments +_1st_arguments=( + "attach":"Attach to a running container" + "build":"Build a container from a Dockerfile" + "commit":"Create a new image from a container's changes" + "diff":"Inspect changes on a container's filesystem" + "export":"Stream the contents of a container as a tar archive" + "history":"Show the history of an image" + "images":"List images" + "import":"Create a new filesystem image from the contents of a tarball" + "info":"Display system-wide information" + "insert":"Insert a file in an image" + "inspect":"Return low-level information on a container" + "kill":"Kill a running container" + "login":"Register or Login to the docker registry server" + "logs":"Fetch the logs of a container" + "port":"Lookup the public-facing port which is NAT-ed to PRIVATE_PORT" + "top":"Lookup the running processes of a container" + "ps":"List containers" + "pull":"Pull an image or a repository from the docker registry server" + "push":"Push an image or a repository to the docker registry server" + "restart":"Restart a running container" + "rm":"Remove one or more containers" + "rmi":"Remove one or more images" + "run":"Run a command in a new container" + "search":"Search for an image in the docker index" + "start":"Start a stopped container" + "stop":"Stop a running container" + "tag":"Tag an image into a repository" + "version":"Show the docker version information" + "wait":"Block until a container stops, then print its exit code" +) + +_arguments '*:: :->command' + +if (( CURRENT == 1 )); then + _describe -t commands "docker command" _1st_arguments + return +fi + +local -a _command_args +case "$words[1]" in + attach) + __docker_containers ;; + build) + __build ;; + commit) + __commit ;; + diff) + __diff ;; + export) + __export ;; + history) + __history ;; + images) + __images ;; + import) + __import ;; + info) + __info ;; + insert) + __insert ;; + inspect) + __inspect ;; + kill) + __kill ;; + login) + __login ;; + logs) + __logs ;; + port) + __port ;; + top) + __top ;; + ps) + __ps ;; + pull) + __pull ;; + push) + __push ;; + restart) + __restart ;; + rm) + __rm ;; + rmi) + __rmi ;; + run) + __run ;; + search) + __search ;; + start) + __start ;; + stop) + __stop ;; + tag) + __tag ;; + version) + __version ;; + wait) + __wait ;; +esac From 0a62f6636d6fc749b13a45b3d032f3616f2c828d Mon Sep 17 00:00:00 2001 From: Ahmed Aeon Axan Date: Wed, 7 Aug 2013 21:29:53 +0530 Subject: [PATCH 31/69] Update README.md --- plugins/docker/README.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/plugins/docker/README.md b/plugins/docker/README.md index e69de29bb..231a6dcf5 100644 --- a/plugins/docker/README.md +++ b/plugins/docker/README.md @@ -0,0 +1,19 @@ +## Docker autocomplete plugin + +- Adds autocomplete options for all docker commands. +- Will also show containerIDs and Image names where applicable + +####Shows help for all commands +![General Help](http://i.imgur.com/tUBO9jh.png "Help for all commands") + + +####Shows your downloaded images where applicable +![Images](http://i.imgur.com/R8ZsWO1.png "Images") + + +####Shows your running containers where applicable +![Containers](http://i.imgur.com/WQtbheg.png "Containers") + + + +Maintainer : Ahmed Azaan ([@aeonazaan](https://twitter.com/aeonazaan)) From 2d1a07a3f72353a59ed9ecda88969093406699f7 Mon Sep 17 00:00:00 2001 From: Ahmed Azaan Date: Wed, 7 Aug 2013 22:11:49 +0530 Subject: [PATCH 32/69] fixed minor errors --- plugins/docker/_docker | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/plugins/docker/_docker b/plugins/docker/_docker index e8d2885c9..f13f876cf 100644 --- a/plugins/docker/_docker +++ b/plugins/docker/_docker @@ -31,7 +31,7 @@ __build() { _arguments \ '-q=false[Suppress verbose build output]' \ '-t="[fuck to be applied to the resulting image in case of success]' \ - ' *:files:_files' + '*:files:_files' } __commit() { @@ -60,7 +60,7 @@ __images() { '-a[show all images]' \ '-notrunc[dont truncate output]' \ '-q[only show numeric IDs]' \ - '-viz[output graph in graphviz format' + '-viz[output graph in graphviz format]' __docker_images } @@ -159,20 +159,20 @@ __run() { } __search() { - arguments '-notrunc[Dont truncate output]' + _arguments '-notrunc[Dont truncate output]' } __start() { - __docker_container + __docker_containers } __stop() { - __arguments '-t=[number of seconds to try to stop before killing]' + _arguments '-t=[number of seconds to try to stop before killing]' __docker_containers } __tag() { - __arguments '-f[Force]' + _arguments '-f[Force]' __docker_images } @@ -181,7 +181,7 @@ __version() { } __wait() { - __docker_container + __docker_containers } # end commands --------- From b9474c411b84c3a7985143060393619b459b0162 Mon Sep 17 00:00:00 2001 From: stibinator Date: Wed, 14 Aug 2013 14:04:06 +1000 Subject: [PATCH 33/69] changed duck to ddg for alias --- plugins/web-search/web-search.plugin.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/web-search/web-search.plugin.zsh b/plugins/web-search/web-search.plugin.zsh index d06585ae5..8eedb90ee 100644 --- a/plugins/web-search/web-search.plugin.zsh +++ b/plugins/web-search/web-search.plugin.zsh @@ -46,7 +46,7 @@ function web_search() { alias bing='web_search bing' alias google='web_search google' alias yahoo='web_search yahoo' -alias duck='web_search duckduckgo' +alias ddg='web_search duckduckgo' #add your own !bang searches here alias wiki='web_search duckduckgo \!w' alias news='web_search duckduckgo \!n' From e4d0b2b385113aa7fb89efe14c5d022fb646f261 Mon Sep 17 00:00:00 2001 From: Brandon W Maister Date: Wed, 14 Aug 2013 23:19:16 -0400 Subject: [PATCH 34/69] Improve pip plugin options support * -r, --record now looks for a local file instead of trying to cache the entire package index * add --editable because it's useful * add --single-version-externally-managed because it is too long * add --record and --root because they're required by --single-version-externally-managed --- plugins/pip/_pip | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/plugins/pip/_pip b/plugins/pip/_pip index df53ba5ce..fb8765c7e 100644 --- a/plugins/pip/_pip +++ b/plugins/pip/_pip @@ -6,8 +6,8 @@ _pip_all() { # we cache the list of packages (originally from the macports plugin) if (( ! $+piplist )); then - echo -n " (caching package index...)" - piplist=($(pip search * | cut -d ' ' -f 1 | tr '[A-Z]' '[a-z]')) + echo -n " (caching package index...)" + piplist=($(pip search * | cut -d ' ' -f 1 | tr '[A-Z]' '[a-z]')) fi } @@ -62,8 +62,13 @@ case "$words[1]" in '(--no-install)--no-install[only download packages]' \ '(--no-download)--no-download[only install downloaded packages]' \ '(--install-option)--install-option[extra arguments to be supplied to the setup.py]' \ + '(--single-version-externally-managed)--single-version-externally-managed[do not download/install dependencies. requires --record or --root]'\ + '(--root)--root[treat this path as a fake chroot, installing into it. implies --single-version-externally-managed]'\ + '(--record)--record[file to record all installed files to.]'\ + '(-r --requirement)'{-r,--requirement}'[requirements file]: :_files'\ + '(-e --editable)'{-e,--editable}'[path of or url to source to link to instead of installing.]: :_files -/'\ '1: :->packages' && return 0 - + if [[ "$state" == packages ]]; then _pip_all _wanted piplist expl 'packages' compadd -a piplist From e368bf1d4aea6ac08ae46d60308e0492e9ab3b85 Mon Sep 17 00:00:00 2001 From: Jeroen Janssens Date: Thu, 15 Aug 2013 10:32:01 -0400 Subject: [PATCH 35/69] Add jump plugin, which allows you to easily jump around the file system --- plugins/jump/jump.plugin.zsh | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 plugins/jump/jump.plugin.zsh diff --git a/plugins/jump/jump.plugin.zsh b/plugins/jump/jump.plugin.zsh new file mode 100644 index 000000000..b792f544c --- /dev/null +++ b/plugins/jump/jump.plugin.zsh @@ -0,0 +1,21 @@ +# Easily jump around the file system by manually adding marks +# marks are stored as symbolic links in the directory $MARKPATH (default $HOME/.marks) +# +# jump FOO: jump to a mark named FOO +# mark FOO: create a mark named FOO +# unmark FOO: delete a mark +# marks: lists all marks +# +export MARKPATH=$HOME/.marks +function jump { + cd -P $MARKPATH/$1 2>/dev/null || echo "No such mark: $1" +} +function mark { + mkdir -p $MARKPATH; ln -s $(pwd) $MARKPATH/$1 +} +function unmark { + rm -i $MARKPATH/$1 +} +function marks { + ls -l $MARKPATH | sed 's/ / /g' | cut -d' ' -f9- | sed 's/ -/\t-/g' && echo +} From 73c22c146c57afe5c9ce341cff876abf00571463 Mon Sep 17 00:00:00 2001 From: Jeroen Janssens Date: Sun, 18 Aug 2013 14:16:26 -0400 Subject: [PATCH 36/69] Add tab completion for jump plugin --- plugins/jump/jump.plugin.zsh | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/plugins/jump/jump.plugin.zsh b/plugins/jump/jump.plugin.zsh index b792f544c..349d3e01f 100644 --- a/plugins/jump/jump.plugin.zsh +++ b/plugins/jump/jump.plugin.zsh @@ -8,14 +8,21 @@ # export MARKPATH=$HOME/.marks function jump { - cd -P $MARKPATH/$1 2>/dev/null || echo "No such mark: $1" + cd -P "$MARKPATH/$1" 2>/dev/null || echo "No such mark: $1" } function mark { - mkdir -p $MARKPATH; ln -s $(pwd) $MARKPATH/$1 + mkdir -p "$MARKPATH"; ln -s "$(pwd)" $MARKPATH/$1 } function unmark { - rm -i $MARKPATH/$1 + rm -i "$MARKPATH/$1" } function marks { - ls -l $MARKPATH | sed 's/ / /g' | cut -d' ' -f9- | sed 's/ -/\t-/g' && echo + ls -l "$MARKPATH" | sed 's/ / /g' | cut -d' ' -f9- | sed 's/ -/\t-/g' && echo } + +function _completemarks { + reply=($(ls $MARKPATH)) +} + +compctl -K _completemarks jump +compctl -K _completemarks unmark From f11934e00c711a09876e1cf776d04c231339ff18 Mon Sep 17 00:00:00 2001 From: Aaron Mills Date: Mon, 19 Aug 2013 16:28:09 -0600 Subject: [PATCH 37/69] Add support for mosh (remote-shell) tab completion. --- plugins/mosh/mosh.plugin.zsh | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 plugins/mosh/mosh.plugin.zsh diff --git a/plugins/mosh/mosh.plugin.zsh b/plugins/mosh/mosh.plugin.zsh new file mode 100644 index 000000000..ea36b7ee9 --- /dev/null +++ b/plugins/mosh/mosh.plugin.zsh @@ -0,0 +1,2 @@ +# Allow SSH tab completion for mosh hostnames +compdef mosh=ssh From 300118ec05e6a88d8331c007d076ec1fbf9c5e9c Mon Sep 17 00:00:00 2001 From: dchusovitin Date: Sat, 24 Aug 2013 13:12:03 +0400 Subject: [PATCH 38/69] Fixed opening documentation on Linux (node) --- plugins/node/node.plugin.zsh | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/plugins/node/node.plugin.zsh b/plugins/node/node.plugin.zsh index 3bbed6f04..2d78f2b4c 100644 --- a/plugins/node/node.plugin.zsh +++ b/plugins/node/node.plugin.zsh @@ -1,5 +1,13 @@ # Open the node api for your current version to the optional section. # TODO: Make the section part easier to use. function node-docs { - open "http://nodejs.org/docs/$(node --version)/api/all.html#all_$1" + # get the open command + local open_cmd + if [[ $(uname -s) == 'Darwin' ]]; then + open_cmd='open' + else + open_cmd='xdg-open' + fi + + $open_cmd "http://nodejs.org/docs/$(node --version)/api/all.html#all_$1" } From baffc3b0bd2594b789316cb135ba84fb54f50dd9 Mon Sep 17 00:00:00 2001 From: Mr Prud Date: Thu, 29 Aug 2013 14:07:09 +0200 Subject: [PATCH 39/69] Replace no unicode glyph on hexa string --- themes/agnoster.zsh-theme | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/themes/agnoster.zsh-theme b/themes/agnoster.zsh-theme index c7a59ad0d..8b5f4ef7a 100644 --- a/themes/agnoster.zsh-theme +++ b/themes/agnoster.zsh-theme @@ -26,7 +26,7 @@ # A few utility functions to make it easy and re-usable to draw segmented prompts CURRENT_BG='NONE' -SEGMENT_SEPARATOR='' +SEGMENT_SEPARATOR='\u2b80' # Begin a segment # Takes two arguments, background and foreground. Both can be omitted, @@ -90,7 +90,7 @@ prompt_git() { zstyle ':vcs_info:*' formats ' %u%c' zstyle ':vcs_info:*' actionformats '%u%c' vcs_info - echo -n "${ref/refs\/heads\// }${vcs_info_msg_0_}" + echo -n "${ref/refs\/heads\//\u2b60 }${vcs_info_msg_0_}" fi } @@ -110,7 +110,7 @@ prompt_hg() { # if working copy is clean prompt_segment green black fi - echo -n $(hg prompt " {rev}@{branch}") $st + echo -n $(hg prompt "\u2b60 {rev}@{branch}") $st else st="" rev=$(hg id -n 2>/dev/null | sed 's/[^-0-9]//g') @@ -124,7 +124,7 @@ prompt_hg() { else prompt_segment green black fi - echo -n " $rev@$branch" $st + echo -n "\u2b60 $rev@$branch" $st fi fi } From 958c847f54a0c9101b4e0bc8c29b539a42c263ad Mon Sep 17 00:00:00 2001 From: Alexander Gronemann Date: Thu, 29 Aug 2013 16:20:40 +0200 Subject: [PATCH 40/69] Update bundler.plugin.zsh Added taps to bundled_commands --- plugins/bundler/bundler.plugin.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/bundler/bundler.plugin.zsh b/plugins/bundler/bundler.plugin.zsh index c01241409..d76639f30 100644 --- a/plugins/bundler/bundler.plugin.zsh +++ b/plugins/bundler/bundler.plugin.zsh @@ -7,7 +7,7 @@ alias bu="bundle update" # The following is based on https://github.com/gma/bundler-exec -bundled_commands=(annotate berks cap capify cucumber foodcritic foreman guard jekyll kitchen knife middleman nanoc rackup rainbows rake rspec ruby shotgun spec spin spork strainer tailor thin thor unicorn unicorn_rails puma) +bundled_commands=(annotate berks cap capify cucumber foodcritic foreman guard jekyll kitchen knife middleman nanoc rackup rainbows rake rspec ruby shotgun spec spin spork strainer tailor taps thin thor unicorn unicorn_rails puma) ## Functions From e3c02bfeba64b655ca506d0d46eca724f2889a87 Mon Sep 17 00:00:00 2001 From: Paul Melnikow Date: Wed, 4 Sep 2013 18:07:58 -0400 Subject: [PATCH 41/69] Plugin for Node Version Manager --- plugins/nvm/_nvm | 24 ++++++++++++++++++++++++ plugins/nvm/nvm.plugin.zsh | 3 +++ 2 files changed, 27 insertions(+) create mode 100644 plugins/nvm/_nvm create mode 100644 plugins/nvm/nvm.plugin.zsh diff --git a/plugins/nvm/_nvm b/plugins/nvm/_nvm new file mode 100644 index 000000000..038196a6e --- /dev/null +++ b/plugins/nvm/_nvm @@ -0,0 +1,24 @@ +#compdef nvm +#autoload + +local -a _1st_arguments +_1st_arguments=( + 'help:show help' + 'install:download and install a version' + 'uninstall:uninstall a version' + 'use:modify PATH to use version' + 'run:run version with given arguments' + 'ls:list installed versions or versions matching a given description' + 'ls-remote:list remote versions available for install' + 'deactivate:undo effects of NVM on current shell' + 'alias:show or set aliases' + 'unalias:deletes an alias' + 'copy-packages:install global NPM packages to current version' +) + +_arguments -C '*:: :->subcmds' && return 0 + +if (( CURRENT == 1 )); then + _describe -t commands "nvm subcommand" _1st_arguments + return +fi \ No newline at end of file diff --git a/plugins/nvm/nvm.plugin.zsh b/plugins/nvm/nvm.plugin.zsh new file mode 100644 index 000000000..9709719fe --- /dev/null +++ b/plugins/nvm/nvm.plugin.zsh @@ -0,0 +1,3 @@ +# The addition 'nvm install' attempts in ~/.profile + +[[ -s ~/.nvm/nvm.sh ]] && . ~/.nvm/nvm.sh From 5bf20572cc303cd02a915c91ffa91f96a26bba39 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torsten=20B=C3=BChl?= Date: Thu, 5 Sep 2013 14:37:37 +0200 Subject: [PATCH 42/69] Add commonly used git stash aliases --- plugins/git/git.plugin.zsh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/plugins/git/git.plugin.zsh b/plugins/git/git.plugin.zsh index 6b91b4a72..9596931eb 100644 --- a/plugins/git/git.plugin.zsh +++ b/plugins/git/git.plugin.zsh @@ -80,7 +80,11 @@ compdef _git gm=git-mergetool alias gg='git gui citool' alias gga='git gui citool --amend' alias gk='gitk --all --branches' + alias gsts='git stash show --text' +alias gsta='git stash' +alias gstp='git stash pop' +alias gstd='git stash drop' # Will cd into the top of the current repository # or submodule. From 3007f96090e0f5a9e6430575afc7dfa92b235bc9 Mon Sep 17 00:00:00 2001 From: Paul Melnikow Date: Thu, 5 Sep 2013 10:09:19 -0400 Subject: [PATCH 43/69] NVM: Avoid providing completions when nvm is not installed --- plugins/nvm/_nvm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/plugins/nvm/_nvm b/plugins/nvm/_nvm index 038196a6e..a95c9e375 100644 --- a/plugins/nvm/_nvm +++ b/plugins/nvm/_nvm @@ -1,6 +1,8 @@ #compdef nvm #autoload +[[ -s ~/.nvm/nvm.sh ]] || return 0 + local -a _1st_arguments _1st_arguments=( 'help:show help' From 4da4d12d33eb7d36552fa1ffb0797380793970d1 Mon Sep 17 00:00:00 2001 From: Paul Melnikow Date: Thu, 5 Sep 2013 10:12:12 -0400 Subject: [PATCH 44/69] Sublime Text: Harmonize alias with the Sublime Text install instructions The typical command is `subl`, not `st`. Leaving both for backward compatibility. See http://www.sublimetext.com/docs/2/osx_command_line.html --- plugins/sublime/sublime.plugin.zsh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/plugins/sublime/sublime.plugin.zsh b/plugins/sublime/sublime.plugin.zsh index 82faf87c9..72f56754c 100755 --- a/plugins/sublime/sublime.plugin.zsh +++ b/plugins/sublime/sublime.plugin.zsh @@ -21,7 +21,8 @@ elif [[ $('uname') == 'Darwin' ]]; then for _sublime_path in $_sublime_darwin_paths; do if [[ -a $_sublime_path ]]; then - alias st="'$_sublime_path'" + alias subl="'$_sublime_path'" + alias st=subl break fi done From 128cd3f5661d42f10ef3bae742ae3416f401c7ad Mon Sep 17 00:00:00 2001 From: Justin Aiken <60tonangel@gmail.com> Date: Thu, 5 Sep 2013 09:39:22 -0600 Subject: [PATCH 45/69] Filter out missing links with jump autocomplete --- plugins/jump/jump.plugin.zsh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/plugins/jump/jump.plugin.zsh b/plugins/jump/jump.plugin.zsh index 349d3e01f..8f1468206 100644 --- a/plugins/jump/jump.plugin.zsh +++ b/plugins/jump/jump.plugin.zsh @@ -7,13 +7,13 @@ # marks: lists all marks # export MARKPATH=$HOME/.marks -function jump { +function jump { cd -P "$MARKPATH/$1" 2>/dev/null || echo "No such mark: $1" } -function mark { +function mark { mkdir -p "$MARKPATH"; ln -s "$(pwd)" $MARKPATH/$1 } -function unmark { +function unmark { rm -i "$MARKPATH/$1" } function marks { @@ -21,7 +21,7 @@ function marks { } function _completemarks { - reply=($(ls $MARKPATH)) + reply=($(ls $MARKPATH/**/*(-) | grep : | sed -E 's/(.*)\/([a-z]*):$/\2/g')) } compctl -K _completemarks jump From a265acee4f991dfd96fb3a9057309e9c1a345a2c Mon Sep 17 00:00:00 2001 From: Justin Aiken <60tonangel@gmail.com> Date: Thu, 5 Sep 2013 10:00:14 -0600 Subject: [PATCH 46/69] Better filename matching --- plugins/jump/jump.plugin.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/jump/jump.plugin.zsh b/plugins/jump/jump.plugin.zsh index 8f1468206..60eae85ad 100644 --- a/plugins/jump/jump.plugin.zsh +++ b/plugins/jump/jump.plugin.zsh @@ -21,7 +21,7 @@ function marks { } function _completemarks { - reply=($(ls $MARKPATH/**/*(-) | grep : | sed -E 's/(.*)\/([a-z]*):$/\2/g')) + reply=($(ls $MARKPATH/**/*(-) | grep : | sed -E 's/(.*)\/([_\da-zA-Z\-]*):$/\2/g')) } compctl -K _completemarks jump From 69ce2362d6b4c46450a07d9ffdb3deabc48b5ffd Mon Sep 17 00:00:00 2001 From: Stanislav Mekhonoshin Date: Thu, 5 Sep 2013 20:22:46 +0400 Subject: [PATCH 47/69] Support of parallel bundle install --- plugins/bundler/bundler.plugin.zsh | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/plugins/bundler/bundler.plugin.zsh b/plugins/bundler/bundler.plugin.zsh index c01241409..1e70db6af 100644 --- a/plugins/bundler/bundler.plugin.zsh +++ b/plugins/bundler/bundler.plugin.zsh @@ -1,10 +1,17 @@ alias be="bundle exec" -alias bi="bundle install" alias bl="bundle list" alias bp="bundle package" alias bo="bundle open" alias bu="bundle update" +if [[ "$(uname)" == 'Darwin' ]] +then + local cores_num="$(sysctl hw.ncpu | awk '{print $2}')" +else + local cores_num="$(nproc)" +fi +eval "alias bi='bundle install --jobs=$cores_num'" + # The following is based on https://github.com/gma/bundler-exec bundled_commands=(annotate berks cap capify cucumber foodcritic foreman guard jekyll kitchen knife middleman nanoc rackup rainbows rake rspec ruby shotgun spec spin spork strainer tailor thin thor unicorn unicorn_rails puma) @@ -42,3 +49,4 @@ for cmd in $bundled_commands; do compdef _$cmd bundled_$cmd=$cmd fi done + From 4517db6acc6e4217a25aa353da37fb8de617bfc4 Mon Sep 17 00:00:00 2001 From: Jeroen Janssens Date: Fri, 6 Sep 2013 09:34:27 -0400 Subject: [PATCH 48/69] Add _completemarks function as suggested by pielgrzym in https://github.com/robbyrussell/oh-my-zsh/pull/2045#issuecomment-22826540 --- plugins/jump/jump.plugin.zsh | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/plugins/jump/jump.plugin.zsh b/plugins/jump/jump.plugin.zsh index 60eae85ad..1035191ac 100644 --- a/plugins/jump/jump.plugin.zsh +++ b/plugins/jump/jump.plugin.zsh @@ -7,15 +7,19 @@ # marks: lists all marks # export MARKPATH=$HOME/.marks + function jump { cd -P "$MARKPATH/$1" 2>/dev/null || echo "No such mark: $1" } + function mark { mkdir -p "$MARKPATH"; ln -s "$(pwd)" $MARKPATH/$1 } + function unmark { rm -i "$MARKPATH/$1" } + function marks { ls -l "$MARKPATH" | sed 's/ / /g' | cut -d' ' -f9- | sed 's/ -/\t-/g' && echo } @@ -23,6 +27,13 @@ function marks { function _completemarks { reply=($(ls $MARKPATH/**/*(-) | grep : | sed -E 's/(.*)\/([_\da-zA-Z\-]*):$/\2/g')) } - compctl -K _completemarks jump compctl -K _completemarks unmark + +_mark_expansion() { + setopt extendedglob + autoload -U modify-current-argument + modify-current-argument '$(readlink "$MARKPATH/$ARG")' +} +zle -N _mark_expansion +bindkey "^g" _mark_expansion From 55d4873f91b8cebbb2e6df5f3a405022e76e0c2c Mon Sep 17 00:00:00 2001 From: Jeroen Janssens Date: Fri, 6 Sep 2013 09:40:44 -0400 Subject: [PATCH 49/69] Change marks function and remove 'function' keyword as suggested by pielgrzym in https://github.com/robbyrussell/oh-my-zsh/pull/2045#issuecomment-22820224 --- plugins/jump/jump.plugin.zsh | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/plugins/jump/jump.plugin.zsh b/plugins/jump/jump.plugin.zsh index 1035191ac..c6f266ae5 100644 --- a/plugins/jump/jump.plugin.zsh +++ b/plugins/jump/jump.plugin.zsh @@ -8,24 +8,30 @@ # export MARKPATH=$HOME/.marks -function jump { +jump() { cd -P "$MARKPATH/$1" 2>/dev/null || echo "No such mark: $1" } -function mark { +mark() { mkdir -p "$MARKPATH"; ln -s "$(pwd)" $MARKPATH/$1 } -function unmark { +unmark() { rm -i "$MARKPATH/$1" } -function marks { - ls -l "$MARKPATH" | sed 's/ / /g' | cut -d' ' -f9- | sed 's/ -/\t-/g' && echo +autoload colors +marks() { + for link in $MARKPATH/*(@); do + local markname="$fg[cyan]${link:t}$reset_color" + local markpath="$fg[blue]$(readlink $link)$reset_color" + printf "%s\t" $markname + printf "-> %s \t\n" $markpath + done } -function _completemarks { - reply=($(ls $MARKPATH/**/*(-) | grep : | sed -E 's/(.*)\/([_\da-zA-Z\-]*):$/\2/g')) +_completemarks() { + reply=($(ls $MARKPATH/**/*(-) | grep : | sed -E 's/(.*)\/([_\da-zA-Z\-]*):$/\2/g')) } compctl -K _completemarks jump compctl -K _completemarks unmark From 255b0c4f5e16465ace326ddf1884ea2e7c1f3df1 Mon Sep 17 00:00:00 2001 From: Jeroen Janssens Date: Fri, 6 Sep 2013 09:55:43 -0400 Subject: [PATCH 50/69] Mark function asks for confirmation and uses basename of directory when no argument is given --- plugins/jump/jump.plugin.zsh | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/plugins/jump/jump.plugin.zsh b/plugins/jump/jump.plugin.zsh index c6f266ae5..e32a5a0b4 100644 --- a/plugins/jump/jump.plugin.zsh +++ b/plugins/jump/jump.plugin.zsh @@ -13,7 +13,15 @@ jump() { } mark() { - mkdir -p "$MARKPATH"; ln -s "$(pwd)" $MARKPATH/$1 + DIR="$(pwd)" + if (( $# == 0 )); then + MARK=$(basename $DIR) + else + MARK=$1 + fi + if read -q \?"Mark ${DIR} as ${MARK}? (y/n) "; then + mkdir -p "$MARKPATH"; ln -s "${DIR}" "$MARKPATH/$MARK" + fi } unmark() { From d3e005d6b42995021ad6f1009734a55cb65be6ce Mon Sep 17 00:00:00 2001 From: Jeroen Janssens Date: Fri, 6 Sep 2013 15:29:14 -0400 Subject: [PATCH 51/69] Fix aliasing pwd --- plugins/jump/jump.plugin.zsh | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/plugins/jump/jump.plugin.zsh b/plugins/jump/jump.plugin.zsh index e32a5a0b4..a3c5cf8c3 100644 --- a/plugins/jump/jump.plugin.zsh +++ b/plugins/jump/jump.plugin.zsh @@ -13,14 +13,13 @@ jump() { } mark() { - DIR="$(pwd)" if (( $# == 0 )); then - MARK=$(basename $DIR) + MARK=$(basename "$(pwd)") else - MARK=$1 + MARK="$1" fi - if read -q \?"Mark ${DIR} as ${MARK}? (y/n) "; then - mkdir -p "$MARKPATH"; ln -s "${DIR}" "$MARKPATH/$MARK" + if read -q \?"Mark $(pwd) as ${MARK}? (y/n) "; then + mkdir -p "$MARKPATH"; ln -s "$(pwd)" "$MARKPATH/$MARK" fi } From dff966afad231f66f6e7345383412682992f9e84 Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Fri, 6 Sep 2013 16:00:24 -0700 Subject: [PATCH 52/69] Logo draft 1... --- README.textile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.textile b/README.textile index 1916d9f4e..86dd5da22 100644 --- a/README.textile +++ b/README.textile @@ -1,3 +1,5 @@ +!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... bq. "OH MY ZSHELL!" From 0fcb7dd55e02871f2280db5cabecc803e522ec0a Mon Sep 17 00:00:00 2001 From: Gaetan Semet Date: Tue, 10 Sep 2013 11:28:31 +0200 Subject: [PATCH 53/69] Display right prompt in theme chooser I didn't found the way to right-align the right prompt properly. Signed-off-by: Gaetan Semet --- tools/theme_chooser.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tools/theme_chooser.sh b/tools/theme_chooser.sh index 4d7047444..2c2a379ba 100755 --- a/tools/theme_chooser.sh +++ b/tools/theme_chooser.sh @@ -24,7 +24,8 @@ function theme_preview() { THEME_NAME=`echo $THEME | sed s/\.zsh-theme$//` print "$fg[blue]${(l.((${COLUMNS}-${#THEME_NAME}-5))..─.)}$reset_color $THEME_NAME $fg[blue]───$reset_color" source "$THEMES_DIR/$THEME" - print -P $PROMPT + cols=$(tput cols) + print -P "$PROMPT $RPROMPT" } function banner() { From 9d2b5c841e251840d7965163f4eb9797bc0db49f Mon Sep 17 00:00:00 2001 From: David Strawn Date: Sat, 14 Sep 2013 12:26:33 -0600 Subject: [PATCH 54/69] Fixed comments in zshrc.zsh-template about disabling auto updates. Previously they did not make sense nor were they accurate. --- templates/zshrc.zsh-template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/zshrc.zsh-template b/templates/zshrc.zsh-template index d4dded73a..1dfb6998c 100644 --- a/templates/zshrc.zsh-template +++ b/templates/zshrc.zsh-template @@ -14,7 +14,7 @@ ZSH_THEME="robbyrussell" # Set to this to use case-sensitive completion # CASE_SENSITIVE="true" -# Comment this out to disable bi-weekly auto-update checks +# Uncomment this to disable bi-weekly auto-update checks # DISABLE_AUTO_UPDATE="true" # Uncomment to change how often before auto-updates occur? (in days) From 91b6a6b5a496d7e7f3702040401cd99fd609514d Mon Sep 17 00:00:00 2001 From: Thomas Hipp Date: Wed, 18 Sep 2013 13:37:36 +0200 Subject: [PATCH 55/69] jump plugin: fix autocompletion with single mark Autocompletion fails if there's only one mark, since the ls command will not display the parent directory with the trailing colon. Handling the single mark case separately and validating the symlink explicitly, resolves the issue. --- plugins/jump/jump.plugin.zsh | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/plugins/jump/jump.plugin.zsh b/plugins/jump/jump.plugin.zsh index a3c5cf8c3..5096879d8 100644 --- a/plugins/jump/jump.plugin.zsh +++ b/plugins/jump/jump.plugin.zsh @@ -38,7 +38,13 @@ marks() { } _completemarks() { - reply=($(ls $MARKPATH/**/*(-) | grep : | sed -E 's/(.*)\/([_\da-zA-Z\-]*):$/\2/g')) + if [[ $(ls "${MARKPATH}" | wc -l) -gt 1 ]]; then + reply=($(ls $MARKPATH/**/*(-) | grep : | sed -E 's/(.*)\/([_\da-zA-Z\-]*):$/\2/g')) + else + if readlink -e "${MARKPATH}"/* &>/dev/null; then + reply=($(ls "${MARKPATH}")) + fi + fi } compctl -K _completemarks jump compctl -K _completemarks unmark From 095a01d92adf6af6d33647b61718e4ad0a4cce2b Mon Sep 17 00:00:00 2001 From: Maxime Chaisse-Leal Date: Wed, 18 Sep 2013 21:54:23 +0200 Subject: [PATCH 56/69] Added WIP (work in progress) feature to git.plugin --- plugins/git/git.plugin.zsh | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/plugins/git/git.plugin.zsh b/plugins/git/git.plugin.zsh index 6b91b4a72..bd11d796f 100644 --- a/plugins/git/git.plugin.zsh +++ b/plugins/git/git.plugin.zsh @@ -126,3 +126,17 @@ function _git_log_prettily(){ } alias glp="_git_log_prettily" compdef _git glp=git-log + +# Work In Progress (wip) +# These features allow to pause a branch development and switch to another one (wip) +# When you want to go back to work, just unwip it +# +# This function return a warning if the current branch is a wip +function work_in_progress() { + if $(git log -n 1 | grep -q -c wip); then + echo "WIP!!" + fi +} +# these alias commit and uncomit wip branches +alias gwip='git add -A; git ls-files --deleted -z | xargs -0 git rm; git commit -m "wip"' +alias gunwip='git log -n 1 | grep -q -c wip && git reset HEAD~1' \ No newline at end of file From 4dbe4378db658d29c10841791a95b8c57e7c77e5 Mon Sep 17 00:00:00 2001 From: Maxime Chaisse-Leal Date: Wed, 18 Sep 2013 21:56:10 +0200 Subject: [PATCH 57/69] Added WIP alert to the gallois' theme --- themes/gallois.zsh-theme | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/themes/gallois.zsh-theme b/themes/gallois.zsh-theme index 3eac14867..d624e3afc 100644 --- a/themes/gallois.zsh-theme +++ b/themes/gallois.zsh-theme @@ -7,12 +7,12 @@ ZSH_THEME_GIT_PROMPT_CLEAN="" git_custom_status() { local cb=$(current_branch) if [ -n "$cb" ]; then - echo "$(parse_git_dirty)$ZSH_THEME_GIT_PROMPT_PREFIX$(current_branch)$ZSH_THEME_GIT_PROMPT_SUFFIX" + echo "$(parse_git_dirty)%{$fg_bold[yellow]%}$(work_in_progress)%{$reset_color%}$ZSH_THEME_GIT_PROMPT_PREFIX$(current_branch)$ZSH_THEME_GIT_PROMPT_SUFFIX" fi } #RVM and git settings -if [[ -s ~/.rvm/scripts/rvm ]] ; then +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 From 61e3951e4be2f496d8ce8022afc58817c06e5dee Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Thu, 19 Sep 2013 13:18:16 -0700 Subject: [PATCH 58/69] Revert "Replace no unicode glyph on hexa string" This reverts commit baffc3b0bd2594b789316cb135ba84fb54f50dd9. --- themes/agnoster.zsh-theme | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/themes/agnoster.zsh-theme b/themes/agnoster.zsh-theme index 8b5f4ef7a..c7a59ad0d 100644 --- a/themes/agnoster.zsh-theme +++ b/themes/agnoster.zsh-theme @@ -26,7 +26,7 @@ # A few utility functions to make it easy and re-usable to draw segmented prompts CURRENT_BG='NONE' -SEGMENT_SEPARATOR='\u2b80' +SEGMENT_SEPARATOR='' # Begin a segment # Takes two arguments, background and foreground. Both can be omitted, @@ -90,7 +90,7 @@ prompt_git() { zstyle ':vcs_info:*' formats ' %u%c' zstyle ':vcs_info:*' actionformats '%u%c' vcs_info - echo -n "${ref/refs\/heads\//\u2b60 }${vcs_info_msg_0_}" + echo -n "${ref/refs\/heads\// }${vcs_info_msg_0_}" fi } @@ -110,7 +110,7 @@ prompt_hg() { # if working copy is clean prompt_segment green black fi - echo -n $(hg prompt "\u2b60 {rev}@{branch}") $st + echo -n $(hg prompt " {rev}@{branch}") $st else st="" rev=$(hg id -n 2>/dev/null | sed 's/[^-0-9]//g') @@ -124,7 +124,7 @@ prompt_hg() { else prompt_segment green black fi - echo -n "\u2b60 $rev@$branch" $st + echo -n " $rev@$branch" $st fi fi } From e8c3619486289fc21158ecd63d7fd91e3576c75c Mon Sep 17 00:00:00 2001 From: Maxim Dobryakov Date: Tue, 24 Sep 2013 13:58:48 +0400 Subject: [PATCH 59/69] Check bundler version to avoid error with unsupported command line arguments --- plugins/bundler/bundler.plugin.zsh | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/plugins/bundler/bundler.plugin.zsh b/plugins/bundler/bundler.plugin.zsh index 5bd28cbdc..2e657e5a8 100644 --- a/plugins/bundler/bundler.plugin.zsh +++ b/plugins/bundler/bundler.plugin.zsh @@ -4,13 +4,18 @@ alias bp="bundle package" alias bo="bundle open" alias bu="bundle update" -if [[ "$(uname)" == 'Darwin' ]] -then - local cores_num="$(sysctl hw.ncpu | awk '{print $2}')" +bundler_version=`bundle version | cut -d' ' -f3` +if [[ $bundler_version > '1.4.0' || $bundler_version = '1.4.0' ]]; then + if [[ "$(uname)" == 'Darwin' ]] + then + local cores_num="$(sysctl hw.ncpu | awk '{print $2}')" + else + local cores_num="$(nproc)" + fi + eval "alias bi='bundle install --jobs=$cores_num'" else - local cores_num="$(nproc)" + alias bi='bundle install' fi -eval "alias bi='bundle install --jobs=$cores_num'" # The following is based on https://github.com/gma/bundler-exec From 2be4158d8fc5f8e4999ddcbcd100c129ab7e9147 Mon Sep 17 00:00:00 2001 From: kaving Date: Wed, 2 Oct 2013 10:51:21 +0200 Subject: [PATCH 60/69] Add support for ForkLift 2 to the ForkLift plugin The ForkLift plugin now supports ForkLift 2 as well as ForkLift 1. If ForkLift is not running it also waits for it to be running before trying to switch to the specified directory --- plugins/forklift/forklift.plugin.zsh | 35 ++++++++++++++++++++++++---- 1 file changed, 30 insertions(+), 5 deletions(-) diff --git a/plugins/forklift/forklift.plugin.zsh b/plugins/forklift/forklift.plugin.zsh index 056069d36..b0e60a434 100644 --- a/plugins/forklift/forklift.plugin.zsh +++ b/plugins/forklift/forklift.plugin.zsh @@ -1,5 +1,6 @@ -# Open folder in ForkLift.app from console +# Open folder in ForkLift.app of ForkLift2.app from console # Author: Adam Strzelecki nanoant.com, modified by Bodo Tasche bitboxer.de +# Updated to support ForkLift2 by Johan Kaving # # Usage: # fl [] @@ -22,9 +23,33 @@ function fl { fi fi osascript 2>&1 1>/dev/null < Date: Wed, 2 Oct 2013 23:24:21 +0200 Subject: [PATCH 61/69] More expressive symbols for git and mercurial. --- themes/agnoster.zsh-theme | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/themes/agnoster.zsh-theme b/themes/agnoster.zsh-theme index c7a59ad0d..7df4ec1e8 100644 --- a/themes/agnoster.zsh-theme +++ b/themes/agnoster.zsh-theme @@ -90,7 +90,7 @@ prompt_git() { zstyle ':vcs_info:*' formats ' %u%c' zstyle ':vcs_info:*' actionformats '%u%c' vcs_info - echo -n "${ref/refs\/heads\// }${vcs_info_msg_0_}" + echo -n "${ref/refs\/heads\//± }${vcs_info_msg_0_}" fi } @@ -110,7 +110,7 @@ prompt_hg() { # if working copy is clean prompt_segment green black fi - echo -n $(hg prompt " {rev}@{branch}") $st + echo -n $(hg prompt "☿ {rev}@{branch}") $st else st="" rev=$(hg id -n 2>/dev/null | sed 's/[^-0-9]//g') From 387de3a57e1927b1db210419b87e2404f8f809de Mon Sep 17 00:00:00 2001 From: Timo Sand Date: Thu, 3 Oct 2013 09:48:49 +0300 Subject: [PATCH 62/69] Added '.war' extension to unzip --- plugins/extract/extract.plugin.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/extract/extract.plugin.zsh b/plugins/extract/extract.plugin.zsh index 23e86c593..6e26b54c0 100644 --- a/plugins/extract/extract.plugin.zsh +++ b/plugins/extract/extract.plugin.zsh @@ -52,7 +52,7 @@ function extract() { (*.xz) unxz "$1" ;; (*.lzma) unlzma "$1" ;; (*.Z) uncompress "$1" ;; - (*.zip) unzip "$1" -d $extract_dir ;; + (*.zip|*.war) unzip "$1" -d $extract_dir ;; (*.rar) unrar x -ad "$1" ;; (*.7z) 7za x "$1" ;; (*.deb) From 671db71d211e5596cb64c6185ac183c3d6930274 Mon Sep 17 00:00:00 2001 From: Timo Sand Date: Thu, 3 Oct 2013 13:00:12 +0300 Subject: [PATCH 63/69] Added '.jar' --- plugins/extract/extract.plugin.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/extract/extract.plugin.zsh b/plugins/extract/extract.plugin.zsh index 6e26b54c0..7352e5bad 100644 --- a/plugins/extract/extract.plugin.zsh +++ b/plugins/extract/extract.plugin.zsh @@ -52,7 +52,7 @@ function extract() { (*.xz) unxz "$1" ;; (*.lzma) unlzma "$1" ;; (*.Z) uncompress "$1" ;; - (*.zip|*.war) unzip "$1" -d $extract_dir ;; + (*.zip|*.war|*.jar) unzip "$1" -d $extract_dir ;; (*.rar) unrar x -ad "$1" ;; (*.7z) 7za x "$1" ;; (*.deb) From 33b1a3bcfed1d52d48a3a467f81da1599d2fa883 Mon Sep 17 00:00:00 2001 From: futjikato Date: Fri, 4 Oct 2013 22:29:33 +0200 Subject: [PATCH 64/69] Added gitignore plugin ( for gitignore.io ) --- custom/plugins/gitignore/gitignore.plugin.zsh | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 custom/plugins/gitignore/gitignore.plugin.zsh diff --git a/custom/plugins/gitignore/gitignore.plugin.zsh b/custom/plugins/gitignore/gitignore.plugin.zsh new file mode 100644 index 000000000..1b866c0d0 --- /dev/null +++ b/custom/plugins/gitignore/gitignore.plugin.zsh @@ -0,0 +1,11 @@ +function gi() { curl http://gitignore.io/api/$@ ;} + +_gitignireio_get_command_list() { + curl -s http://gitignore.io/api/list | tr "," "\n" +} + +_gitignireio () { + compadd `_gitignireio_get_command_list` +} + +compdef _gitignireio gi \ No newline at end of file From 9afb139d20f12f93c086140db3e9bfd4913f15a0 Mon Sep 17 00:00:00 2001 From: futjikato Date: Sat, 5 Oct 2013 00:56:17 +0200 Subject: [PATCH 65/69] Updated completion to work with comma seperated list --- custom/plugins/gitignore/gitignore.plugin.zsh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/custom/plugins/gitignore/gitignore.plugin.zsh b/custom/plugins/gitignore/gitignore.plugin.zsh index 1b866c0d0..332497cec 100644 --- a/custom/plugins/gitignore/gitignore.plugin.zsh +++ b/custom/plugins/gitignore/gitignore.plugin.zsh @@ -5,7 +5,8 @@ _gitignireio_get_command_list() { } _gitignireio () { - compadd `_gitignireio_get_command_list` + compset -P '*,' + compadd -S '' `_gitignireio_get_command_list` } compdef _gitignireio gi \ No newline at end of file From a7693b096f2573dfcf47f47a8f99c2ccd2690cbf Mon Sep 17 00:00:00 2001 From: Kaiwen Xu Date: Sun, 13 Oct 2013 15:49:24 -0400 Subject: [PATCH 66/69] gitignore fix for custom folder. --- .gitignore | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 5db11ce5c..c2b47bba7 100644 --- a/.gitignore +++ b/.gitignore @@ -1,8 +1,9 @@ locals.zsh log/.zsh_history projects.zsh -custom/example -custom/example.zsh +-custom/* +-!custom/example +-!custom/example.zsh *.swp !custom/example.zshcache cache/ From c5902d3f3498f9cd7553f358f2bf741b0784dbd0 Mon Sep 17 00:00:00 2001 From: Kaiwen Xu Date: Mon, 14 Oct 2013 07:39:59 -0400 Subject: [PATCH 67/69] Moved misplaced plugins. --- {custom/plugins => plugins}/gitignore/gitignore.plugin.zsh | 0 {custom/plugins => plugins}/sfffe/sfffe.plugin.zsh | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename {custom/plugins => plugins}/gitignore/gitignore.plugin.zsh (100%) rename {custom/plugins => plugins}/sfffe/sfffe.plugin.zsh (100%) diff --git a/custom/plugins/gitignore/gitignore.plugin.zsh b/plugins/gitignore/gitignore.plugin.zsh similarity index 100% rename from custom/plugins/gitignore/gitignore.plugin.zsh rename to plugins/gitignore/gitignore.plugin.zsh diff --git a/custom/plugins/sfffe/sfffe.plugin.zsh b/plugins/sfffe/sfffe.plugin.zsh similarity index 100% rename from custom/plugins/sfffe/sfffe.plugin.zsh rename to plugins/sfffe/sfffe.plugin.zsh From 0f9db24f9f4c4e6d6882d5857e94da810b8f243d Mon Sep 17 00:00:00 2001 From: Jacob Magnusson Date: Sun, 20 Oct 2013 16:07:19 +0200 Subject: [PATCH 68/69] Fix: Agnoster theme added venv name even if disabled See http://www.virtualenv.org/en/latest/index.html\?highlight\=virtual_env_disable_prompt\#activate-script for info regarding this. --- themes/agnoster.zsh-theme | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/themes/agnoster.zsh-theme b/themes/agnoster.zsh-theme index c7a59ad0d..3ad4eff1f 100644 --- a/themes/agnoster.zsh-theme +++ b/themes/agnoster.zsh-theme @@ -137,7 +137,7 @@ prompt_dir() { # Virtualenv: current working virtualenv prompt_virtualenv() { local virtualenv_path="$VIRTUAL_ENV" - if [[ -n $virtualenv_path ]]; then + if [[ -n $virtualenv_path && -z $VIRTUAL_ENV_DISABLE_PROMPT ]]; then prompt_segment blue black "(`basename $virtualenv_path`)" fi } From d01ca03635e50c10b8d3fac0253da9cdfe5bb093 Mon Sep 17 00:00:00 2001 From: Kevin Traver Date: Wed, 23 Oct 2013 23:17:43 -0700 Subject: [PATCH 69/69] Add tmux aliases --- plugins/tmux/tmux.plugin.zsh | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/plugins/tmux/tmux.plugin.zsh b/plugins/tmux/tmux.plugin.zsh index 96fab80a6..626c41f3d 100644 --- a/plugins/tmux/tmux.plugin.zsh +++ b/plugins/tmux/tmux.plugin.zsh @@ -1,3 +1,11 @@ +# +# Aliases +# + +alias ta='tmux attach -t' +alias ts='tmux new-session -s' +alias tl='tmux list-sessions' + # Only run if tmux is actually installed if which tmux &> /dev/null then