From 5f907817836ea1186120b9165556d7894f2c8481 Mon Sep 17 00:00:00 2001 From: Andrew Janke Date: Thu, 19 Feb 2015 23:53:48 -0500 Subject: [PATCH 01/75] plugins/chucknorris: Add automatic updating of the compiled fortune data file. Use local variable for readability, and anonymous function to provide a scope for the local variable. --- plugins/chucknorris/chucknorris.plugin.zsh | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/plugins/chucknorris/chucknorris.plugin.zsh b/plugins/chucknorris/chucknorris.plugin.zsh index 096364633..fd52f2b78 100644 --- a/plugins/chucknorris/chucknorris.plugin.zsh +++ b/plugins/chucknorris/chucknorris.plugin.zsh @@ -1,6 +1,12 @@ -if [ ! -f $ZSH/plugins/chucknorris/fortunes/chucknorris.dat ]; then - strfile $ZSH/plugins/chucknorris/fortunes/chucknorris $ZSH/plugins/chucknorris/fortunes/chucknorris.dat -fi +() { + # Automatically generate or update Chuck's compiled fortune data file + local fdir=$ZSH/plugins/chucknorris/fortunes + if [[ ! -f $fdir/chucknorris.dat ]] || [[ $fdir/chucknorris.dat -ot $fdir/chucknorris ]]; then + strfile $fdir/chucknorris $fdir/chucknorris.dat + fi + + # Aliases + alias chuck="fortune -a $fdir" + alias chuck_cow="chuck | cowthink" +} -alias chuck="fortune -a $ZSH/plugins/chucknorris/fortunes" -alias chuck_cow="chuck | cowthink" From cb0718c14785de7cf808ef4e2d7ddf5ab3eda8e0 Mon Sep 17 00:00:00 2001 From: Andrew Janke Date: Sat, 21 Feb 2015 18:24:07 -0500 Subject: [PATCH 02/75] chucknorris: locate plugin dir using $0 instead of hardcoded $ZSH --- plugins/chucknorris/chucknorris.plugin.zsh | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/plugins/chucknorris/chucknorris.plugin.zsh b/plugins/chucknorris/chucknorris.plugin.zsh index fd52f2b78..1cdc945d1 100644 --- a/plugins/chucknorris/chucknorris.plugin.zsh +++ b/plugins/chucknorris/chucknorris.plugin.zsh @@ -1,12 +1,11 @@ -() { - # Automatically generate or update Chuck's compiled fortune data file - local fdir=$ZSH/plugins/chucknorris/fortunes - if [[ ! -f $fdir/chucknorris.dat ]] || [[ $fdir/chucknorris.dat -ot $fdir/chucknorris ]]; then - strfile $fdir/chucknorris $fdir/chucknorris.dat - fi +# Automatically generate or update Chuck's compiled fortune data file +DIR=${0:h}/fortunes +if [[ ! -f $DIR/chucknorris.dat ]] || [[ $DIR/chucknorris.dat -ot $DIR/chucknorris ]]; then + strfile $DIR/chucknorris $DIR/chucknorris.dat +fi - # Aliases - alias chuck="fortune -a $fdir" - alias chuck_cow="chuck | cowthink" -} +# Aliases +alias chuck="fortune -a $DIR" +alias chuck_cow="chuck | cowthink" +unset DIR \ No newline at end of file From a2e01e9a87c0d120482cc7bbe21ccab21bf71fb1 Mon Sep 17 00:00:00 2001 From: Andrew Janke Date: Thu, 2 Jul 2015 20:27:48 -0400 Subject: [PATCH 03/75] chucknorris: check for strfile dependency Gives a better error message than "command not found: strfile", because it's not obvious to many users that strfile is part of fortune. Also handles the weird /usr/sbin install location for strfile on Cygwin. --- plugins/chucknorris/chucknorris.plugin.zsh | 23 +++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/plugins/chucknorris/chucknorris.plugin.zsh b/plugins/chucknorris/chucknorris.plugin.zsh index 1cdc945d1..1dbb04ef0 100644 --- a/plugins/chucknorris/chucknorris.plugin.zsh +++ b/plugins/chucknorris/chucknorris.plugin.zsh @@ -1,11 +1,28 @@ +# chucknorris: Chuck Norris fortunes + # Automatically generate or update Chuck's compiled fortune data file -DIR=${0:h}/fortunes +# $0 must be used outside a local function. This variable name is unlikly to collide. +CHUCKNORRIS_PLUGIN_DIR=${0:h} + +() { +local DIR=$CHUCKNORRIS_PLUGIN_DIR/fortunes if [[ ! -f $DIR/chucknorris.dat ]] || [[ $DIR/chucknorris.dat -ot $DIR/chucknorris ]]; then - strfile $DIR/chucknorris $DIR/chucknorris.dat + # For some reason, Cygwin puts strfile in /usr/sbin, which is not on the path by default + local strfile=strfile + if ! which strfile &>/dev/null && [[ -f /usr/sbin/strfile ]]; then + strfile=/usr/sbin/strfile + fi + if which $strfile &> /dev/null; then + $strfile $DIR/chucknorris $DIR/chucknorris.dat >/dev/null + else + echo "[oh-my-zsh] chucknorris depends on strfile, which is not installed" >&2 + echo "[oh-my-zsh] strfile is often provided as part of the 'fortune' package" >&2 + fi fi # Aliases alias chuck="fortune -a $DIR" alias chuck_cow="chuck | cowthink" +} -unset DIR \ No newline at end of file +unset CHUCKNORRIS_PLUGIN_DIR From b7617b35ffd56243fa6d310886d8effe9f27bfc1 Mon Sep 17 00:00:00 2001 From: Jonathan Cremin Date: Fri, 10 Jul 2015 14:03:55 +0100 Subject: [PATCH 04/75] Check for autoenv_init function before trying to source autoenv. --- plugins/autoenv/autoenv.plugin.zsh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/autoenv/autoenv.plugin.zsh b/plugins/autoenv/autoenv.plugin.zsh index a8271849e..edc16a4ca 100644 --- a/plugins/autoenv/autoenv.plugin.zsh +++ b/plugins/autoenv/autoenv.plugin.zsh @@ -1,7 +1,7 @@ # Activates autoenv or reports its failure -if ! source $HOME/.autoenv/activate.sh 2>/dev/null; then +if ! type autoenv_init &>/dev/null && ! source $HOME/.autoenv/activate.sh 2>/dev/null; then echo '-------- AUTOENV ---------' - echo 'Could not find ~/.autoenv/activate.sh.' + echo 'Could not find autoenv_init function or ~/.autoenv/activate.sh.' echo 'Please check if autoenv is correctly installed.' echo 'In the meantime the autoenv plugin is DISABLED.' echo '--------------------------' From 775ac3ad9fefd524f217dedaf09f7fb40a18b6ee Mon Sep 17 00:00:00 2001 From: Bin Huang Date: Sat, 11 Jul 2015 09:32:05 +0800 Subject: [PATCH 05/75] The executable command on Mac OSX is 'ack' rather than 'ack-grep'. --- lib/misc.zsh | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/misc.zsh b/lib/misc.zsh index 6d1a64e8d..9d458ab28 100644 --- a/lib/misc.zsh +++ b/lib/misc.zsh @@ -18,7 +18,12 @@ alias _='sudo' alias please='sudo' ## more intelligent acking for ubuntu users -alias afind='ack-grep -il' +if which ack-grep > /dev/null; +then + alias afind='ack-grep -il' +else + alias afind='ack -il' +fi # only define LC_CTYPE if undefined if [[ -z "$LC_CTYPE" && -z "$LC_ALL" ]]; then From 800af047d7e5b2980c72bb5a444c1edeafc026e4 Mon Sep 17 00:00:00 2001 From: Juraj Fiala Date: Sat, 1 Aug 2015 17:45:00 +0200 Subject: [PATCH 06/75] Add sc-launch as a shortcut for start & enable I've heard many people requesting systemd to add this functionality. It's very handy under Arch. --- plugins/systemd/systemd.plugin.zsh | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/systemd/systemd.plugin.zsh b/plugins/systemd/systemd.plugin.zsh index 7d3db0f8e..503f7c138 100644 --- a/plugins/systemd/systemd.plugin.zsh +++ b/plugins/systemd/systemd.plugin.zsh @@ -9,3 +9,4 @@ sudo_commands=( for c in $user_commands; do; alias sc-$c="systemctl $c"; done for c in $sudo_commands; do; alias sc-$c="sudo systemctl $c"; done +alias sc-launch="sudo systemctl start $c && sudo systemctl enable $c" From 9c741284063aff4fe6f122431c7df8b0b43c1bb5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pavel=20Sedl=C3=A1k?= Date: Tue, 4 Aug 2015 16:01:06 +0200 Subject: [PATCH 07/75] chucknorris: add missing line/quote delimiters few quotes were missing the '%' line delimiters, so some of the quotes were appearing at once merged together --- plugins/chucknorris/fortunes/chucknorris | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/plugins/chucknorris/fortunes/chucknorris b/plugins/chucknorris/fortunes/chucknorris index b8edf9ac3..e705d1c13 100644 --- a/plugins/chucknorris/fortunes/chucknorris +++ b/plugins/chucknorris/fortunes/chucknorris @@ -17,9 +17,11 @@ Chuck Norris' blood type is AK+. Ass-Kicking Positive. It is compatible only wit Chuck Norris is 1/8th Cherokee. This has nothing to do with ancestry, the man ate a fucking Indian. % In fine print on the last page of the Guinness Book of World Records it notes that all world records are held by Chuck Norris, and those listed in the book are simply the closest anyone else has ever gotten. +% There is no chin behind Chuck Norris' beard. There is only another fist. % Chuck Norris does not teabag the ladies. He potato-sacks them. +% Pluto is actually an orbiting group of British soldiers from the American Revolution who entered space after the Chuck gave them a roundhouse kick to the face. % When Chuck Norris goes to donate blood, he declines the syringe, and instead requests a hand gun and a bucket. @@ -127,6 +129,7 @@ Chuck Norris can drink an entire gallon of milk in thirty-seven seconds. Little known medical fact: Chuck Norris invented the Caesarean section when he roundhouse-kicked his way out of his monther's womb. % Chuck Norris doesn't bowl strikes, he just knocks down one pin and the other nine faint. +% The show Survivor had the original premise of putting people on an island with Chuck Norris. There were no survivors, and nobody is brave enough to go to the island to retrieve the footage. % It takes Chuck Norris 20 minutes to watch 60 Minutes. @@ -281,6 +284,7 @@ In a recent survey it was discovered the 94% of American women lost their virgin Chuck Norris invented a language that incorporates karate and roundhouse kicks. So next time Chuck Norris is kicking your ass, don't be offended or hurt, he may be just trying to tell you he likes your hat. % If at first you don't succeed, you're not Chuck Norris. +% If Chuck Norris were a calendar, every month would be named Chucktober, and every day he'd kick your ass. % Fear is not the only emotion Chuck Norris can smell. He can also detect hope, as in "I hope I don't get a roundhouse kick from Chuck Norris." @@ -349,7 +353,7 @@ As President Roosevelt said: "We have nothing to fear but fear itself. And Chuck % Chuck Norris just says "no" to drugs. If he said "yes", it would collapse Colombia's infrastructure. % -Since 1940, the year Chuck Norris was born, roundhouse-kick related deaths have increased 13,000 percent.  +Since 1940, the year Chuck Norris was born, roundhouse-kick related deaths have increased 13,000 percent.? % Crime does not pay - unless you are an undertaker following Walker, Texas Ranger, on a routine patrol. % @@ -497,7 +501,8 @@ When Chuck Norris works out on the Total Gym, the Total Gym feels like it's been % Chuck Norris can skeletize a cow in two minutes. % -The only sure things are Death and Taxes?and when Chuck Norris goes to work for the IRS, they'll be the same thing. +The only sure things are Death and Taxes, and when Chuck Norris goes to work for the IRS, they'll be the same thing. +% Chuck Norris' first job was as a paperboy. There were no survivors. % With the rising cost of gasoline, Chuck Norris is beginning to worry about his drinking habit. @@ -527,8 +532,6 @@ Chuck Norris uses 8'x10' sheets of plywood as toilet paper. Noah was the only man notified before Chuck Norris relieved himself in the Atlantic Ocean. % Chuck Norris once invited all of the other badasses from TV to duke it out in order to see who was the supreme badass. Only two showed up-- Jack Bauer and MacGyver. -% - % MacGyver immediately tried to make a bomb out of some Q-Tips and Gatorade, but Chuck Norris roundhouse-kicked him in the solar plexus. MacGyver promptly threw up his own heart. % From 5c8b0cc0c1782b34790548498018fb9e0300992b Mon Sep 17 00:00:00 2001 From: Andrew Janke Date: Mon, 17 Aug 2015 22:53:45 -0400 Subject: [PATCH 08/75] Add clipcopy() and clippaste() generic cross-platform CLI clipboard functions. Change copydir, copyfile, and coffee plugins to use them, instead of the Mac-only `pbcopy` command. --- lib/clipboard.zsh | 67 ++++++++++++++++++++++++++++ plugins/coffee/coffee.plugin.zsh | 10 ++--- plugins/copydir/copydir.plugin.zsh | 4 +- plugins/copyfile/copyfile.plugin.zsh | 8 ++-- 4 files changed, 80 insertions(+), 9 deletions(-) create mode 100644 lib/clipboard.zsh diff --git a/lib/clipboard.zsh b/lib/clipboard.zsh new file mode 100644 index 000000000..24b7380f7 --- /dev/null +++ b/lib/clipboard.zsh @@ -0,0 +1,67 @@ +# System clipboard integration +# +# This file has support for doing system clipboard copy and paste operations +# from the command line in a generic cross-platform fashion. +# +# On OS X and Windows, the main system clipboard or "pasteboard" is used. On other +# Unix-like OSes, this considers the X Windows CLIPBOARD selection to be the +# "system clipboard", and the X Windows `xclip` command must be installed. + +# clipcopy - Copy data to clipboard +# +# Usage: +# +# | clipcopy - copies stdin to clipboard +# +# clipcopy - copies a file's contents to clipboard +# +function clipcopy() { + emulate -L zsh + local file=$1 + if [[ $OSTYPE == darwin* ]]; then + if [[ -z $file ]]; then + pbcopy + else + cat $file | pbcopy + fi + elif [[ $OSTYPE == cygwin* ]]; then + if [[ -z $file ]]; then + cat > /dev/clipboard + else + cat $file > /dev/clipboard + fi + else + which xclip &>/dev/null + if [[ $? != 0 ]]; then + print "clipcopy: Platform $OSTYPE not supported or xclip not installed" >&2 + return 1 + fi + if [[ -z $file ]]; then + xclip -in -selection clipboard + else + xclip -in -selection clipboard $file + fi + fi +} + +# clippaste - "Paste" data from clipboard to stdout +# +# Usage: +# +# clippaste - writes clipboard's contents to stdout +# +function clippaste() { + emulate -L zsh + if [[ $OSTYPE == darwin* ]]; then + pbpaste + elif [[ $OSTYPE == cygwin* ]]; then + cat /dev/clipboard + else + which xclip &>/dev/null + if [[ $? != 0 ]]; then + print "clipcopy: Platform $OSTYPE not supported or xclip not installed" >&2 + return 1 + fi + xclip -out -selection clipboard + fi +} \ No newline at end of file diff --git a/plugins/coffee/coffee.plugin.zsh b/plugins/coffee/coffee.plugin.zsh index 1a7bedd87..c7b486a6b 100644 --- a/plugins/coffee/coffee.plugin.zsh +++ b/plugins/coffee/coffee.plugin.zsh @@ -6,11 +6,11 @@ cf () { } # compile & copy to clipboard cfc () { - cf $1 | pbcopy + cf $1 | clipcopy } -# compile from pasteboard & print -alias cfp='coffeeMe "$(pbpaste)"' +# compile from clipboard & print +alias cfp='coffeeMe "$(clippaste)"' -# compile from pasteboard and copy to clipboard -alias cfpc='cfp | pbcopy' +# compile from clipboard and copy to clipboard +alias cfpc='cfp | clipcopy' diff --git a/plugins/copydir/copydir.plugin.zsh b/plugins/copydir/copydir.plugin.zsh index 37bb5e086..4b918e815 100644 --- a/plugins/copydir/copydir.plugin.zsh +++ b/plugins/copydir/copydir.plugin.zsh @@ -1,3 +1,5 @@ +# Copies the pathname of the current directory to the system or X Windows clipboard function copydir { - pwd | tr -d "\r\n" | pbcopy + emulate -L zsh + print -n $PWD | clipcopy } \ No newline at end of file diff --git a/plugins/copyfile/copyfile.plugin.zsh b/plugins/copyfile/copyfile.plugin.zsh index 944a903c6..f4eca5acf 100644 --- a/plugins/copyfile/copyfile.plugin.zsh +++ b/plugins/copyfile/copyfile.plugin.zsh @@ -1,5 +1,7 @@ +# Copies the contents of a given file to the system or X Windows clipboard +# +# copyfile function copyfile { - [[ "$#" != 1 ]] && return 1 - local file_to_copy=$1 - cat $file_to_copy | pbcopy + emulate -L zsh + clipcopy $1 } From 502f08b5e19716d43a7ec8b006178a7b017f68cd Mon Sep 17 00:00:00 2001 From: Andrew Janke Date: Fri, 27 Feb 2015 23:11:00 -0500 Subject: [PATCH 09/75] Add Cygwin support to installer. * Balk at incompatible Windows/MSYS git * Test for chsh presence before trying to use it * Replace non-portable `[[ ... ]]` and `[ x = *pattern* ]` constructs --- tools/install.sh | 23 ++++++++++++++++++++--- tools/uninstall.sh | 12 ++++++++---- 2 files changed, 28 insertions(+), 7 deletions(-) diff --git a/tools/install.sh b/tools/install.sh index c83a6f23d..1da261cf9 100755 --- a/tools/install.sh +++ b/tools/install.sh @@ -10,9 +10,21 @@ if [ -d "$ZSH" ]; then fi echo "\033[0;34mCloning Oh My Zsh...\033[0m" -hash git >/dev/null 2>&1 && env git clone --depth=1 https://github.com/robbyrussell/oh-my-zsh.git $ZSH || { - echo "git not installed" - exit +hash git >/dev/null 2>&1 || { + echo "Error: git is not installed" + exit 1 +} +# The Windows (MSYS) Git is not compatible with normal use on cygwin +if [ "$OSTYPE" = cygwin ]; then + if git --version | grep msysgit > /dev/null; then + echo "Error: Windows/MSYS Git is not supported on Cygwin" + echo "Error: Make sure the Cygwin git package is installed and is first on the path" + exit 1 + fi +fi +env git clone --depth=1 https://github.com/robbyrussell/oh-my-zsh.git $ZSH || { + echo "Error: git clone of oh-my-zsh repo failed" + exit 1 } echo "\033[0;34mLooking for an existing zsh config...\033[0m" @@ -34,8 +46,13 @@ export PATH=\"$PATH\" TEST_CURRENT_SHELL=$(expr "$SHELL" : '.*/\(.*\)') if [ "$TEST_CURRENT_SHELL" != "zsh" ]; then + if hash chsh >/dev/null 2>&1; then echo "\033[0;34mTime to change your default shell to zsh!\033[0m" chsh -s $(grep /zsh$ /etc/shells | tail -1) + else + echo "I can't change your shell automatically because this system does not have chsh." + echo "Please edit /etc/passwd to set your default shell to zsh." + fi fi unset TEST_CURRENT_SHELL diff --git a/tools/uninstall.sh b/tools/uninstall.sh index 41d601576..23bfac0eb 100644 --- a/tools/uninstall.sh +++ b/tools/uninstall.sh @@ -1,5 +1,5 @@ echo "Removing ~/.oh-my-zsh" -if [[ -d ~/.oh-my-zsh ]] +if [ -d ~/.oh-my-zsh ] then rm -rf ~/.oh-my-zsh fi @@ -20,9 +20,13 @@ then source ~/.zshrc; else - echo "Switching back to bash" - chsh -s /bin/bash - source /etc/profile + if hash chsh >/dev/null 2>&1 + then + echo "Switching back to bash" + chsh -s /bin/bash + else + echo "You can edit /etc/passwd to switch your default shell back to bash" + fi fi echo "Thanks for trying out Oh My Zsh. It's been uninstalled." From 86d881c47de3d0ed791e1e7d8c2ed480e6c781ee Mon Sep 17 00:00:00 2001 From: Juraj Fiala Date: Sun, 6 Sep 2015 13:01:09 +0200 Subject: [PATCH 10/75] Added aliases for --now commands Also removed the old sc-launch alias because this is just better. --- plugins/systemd/systemd.plugin.zsh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/plugins/systemd/systemd.plugin.zsh b/plugins/systemd/systemd.plugin.zsh index 503f7c138..f9b522e40 100644 --- a/plugins/systemd/systemd.plugin.zsh +++ b/plugins/systemd/systemd.plugin.zsh @@ -9,4 +9,7 @@ sudo_commands=( for c in $user_commands; do; alias sc-$c="systemctl $c"; done for c in $sudo_commands; do; alias sc-$c="sudo systemctl $c"; done -alias sc-launch="sudo systemctl start $c && sudo systemctl enable $c" + +alias sc-enable-now="sc-enable --now" +alias sc-disable-now="sc-disable --now" +alias sc-mask-now="sc-mask --now" From 6170fa41d975d40f462a14ca69612270ae9ddb9b Mon Sep 17 00:00:00 2001 From: Michele Bologna Date: Wed, 9 Sep 2015 11:42:56 +0200 Subject: [PATCH 11/75] Added fedora plugin, based on dnf/yum plugin --- plugins/fedora/README.md | 3 +++ plugins/fedora/fedora.plugin.zsh | 16 ++++++++++++++++ 2 files changed, 19 insertions(+) create mode 100644 plugins/fedora/README.md create mode 100644 plugins/fedora/fedora.plugin.zsh diff --git a/plugins/fedora/README.md b/plugins/fedora/README.md new file mode 100644 index 000000000..f384b0ffd --- /dev/null +++ b/plugins/fedora/README.md @@ -0,0 +1,3 @@ +This is a plugin based on yum plugin, but using dnf as main frontend +(from Fedora 22 onwards, yum is deprecated in favor of dnf). + diff --git a/plugins/fedora/fedora.plugin.zsh b/plugins/fedora/fedora.plugin.zsh new file mode 100644 index 000000000..eddc3627b --- /dev/null +++ b/plugins/fedora/fedora.plugin.zsh @@ -0,0 +1,16 @@ +## Aliases + +alias dnfs="dnf search" # search package +alias dnfp="dnf info" # show package info +alias dnfl="dnf list" # list packages +alias dnfgl="dnf grouplist" # list package groups +alias dnfli="dnf list installed" # print all installed packages +alias dnfmc="dnf makecache" # rebuilds the dnf package list + +alias dnfu="sudo dnf upgrade" # upgrade packages +alias dnfi="sudo dnf install" # install package +alias dnfgi="sudo dnf groupinstall" # install package group +alias dnfr="sudo dnf remove" # remove package +alias dnfgr="sudo dnf groupremove" # remove pagage group +alias dnfrl="sudo dnf remove --remove-leaves" # remove package and leaves +alias dnfc="sudo dnf clean all" # clean cache From 19c0b185ad9b37b448a979fb6cc995cc648e76a4 Mon Sep 17 00:00:00 2001 From: iCross Date: Thu, 10 Sep 2015 14:08:02 +0800 Subject: [PATCH 12/75] fix url-quote-magic not working issue Incompatibilites between 5.0.8 and 5.1: bracketed-paste-magic may also be necessary in order to apply url-quote-magic. Reference: https://github.com/zsh-users/zsh/blob/a9df6aaa702abf761b155cd842a7f6917be44139/Functions/Zle/url-quote-magic#L11 --- lib/misc.zsh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/misc.zsh b/lib/misc.zsh index 6d1a64e8d..bdb884046 100644 --- a/lib/misc.zsh +++ b/lib/misc.zsh @@ -1,6 +1,10 @@ ## Load smart urls if available for d in $fpath; do if [[ -e "$d/url-quote-magic" ]]; then + if [[ -e "$d/bracketed-paste-magic" ]]; then + autoload -Uz bracketed-paste-magic + zle -N bracketed-paste bracketed-paste-magic + fi autoload -U url-quote-magic zle -N self-insert url-quote-magic fi From 023397983bb0d983216c580d884936a660b265f8 Mon Sep 17 00:00:00 2001 From: Kirill Pahnev Date: Thu, 10 Sep 2015 22:52:01 +0300 Subject: [PATCH 13/75] Fixed broken git branch icon --- themes/amuse.zsh-theme | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/themes/amuse.zsh-theme b/themes/amuse.zsh-theme index 548f6d39d..395b34380 100644 --- a/themes/amuse.zsh-theme +++ b/themes/amuse.zsh-theme @@ -12,7 +12,8 @@ PROMPT=' %{$fg_bold[green]%}${PWD/#$HOME/~}%{$reset_color%}$(git_prompt_info) ⌚ %{$fg_bold[red]%}%*%{$reset_color%} $ ' -ZSH_THEME_GIT_PROMPT_PREFIX=" on %{$fg[magenta]%}â­  " +# Must use Powerline font, for \uE0A0 to render. +ZSH_THEME_GIT_PROMPT_PREFIX=" on %{$fg[magenta]%}\uE0A0 " ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}" ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[red]%}!" ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[green]%}?" From 6e0fcf803fe00445c97861360d1b0806d8cc56b8 Mon Sep 17 00:00:00 2001 From: Ramses Ladlani Date: Mon, 14 Sep 2015 11:02:00 +0200 Subject: [PATCH 14/75] Fixed atom plugin for cygwin users --- plugins/atom/atom.plugin.zsh | 38 +++++++++++++++++++++++++++--------- 1 file changed, 29 insertions(+), 9 deletions(-) diff --git a/plugins/atom/atom.plugin.zsh b/plugins/atom/atom.plugin.zsh index 9adb9031a..290c75330 100644 --- a/plugins/atom/atom.plugin.zsh +++ b/plugins/atom/atom.plugin.zsh @@ -1,14 +1,34 @@ -local _atom_paths > /dev/null 2>&1 -_atom_paths=( - "$HOME/Applications/Atom.app" - "/Applications/Atom.app" -) +if [ Cygwin = "$(uname -o 2>/dev/null)" ]; then + local _atom_path > /dev/null 2>&1 + + _atom_path=${LOCALAPPDATA}/atom/bin/atom -for _atom_path in $_atom_paths; do if [[ -a $_atom_path ]]; then - alias at="open -a '$_atom_path'" - break + cyg_open_atom() + { + if [[ -n $1 ]]; then + ${_atom_path} `cygpath -w $1` + else + ${_atom_path} + fi + } + + alias at=cyg_open_atom fi -done +else + local _atom_paths > /dev/null 2>&1 + + _atom_paths=( + "$HOME/Applications/Atom.app" + "/Applications/Atom.app" + ) + + for _atom_path in $_atom_paths; do + if [[ -a $_atom_path ]]; then + alias at="open -a '$_atom_path'" + break + fi + done +fi alias att='at .' From f8502965e491d341829e565e221d7848588d6798 Mon Sep 17 00:00:00 2001 From: Ramses Ladlani Date: Mon, 21 Sep 2015 09:18:43 +0200 Subject: [PATCH 15/75] Added cygwin support to atom plugin --- plugins/atom/atom.plugin.zsh | 31 +++++++++++++++++++++++-------- 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/plugins/atom/atom.plugin.zsh b/plugins/atom/atom.plugin.zsh index ec1a114ed..2711cf0e8 100644 --- a/plugins/atom/atom.plugin.zsh +++ b/plugins/atom/atom.plugin.zsh @@ -1,8 +1,5 @@ -# Gets OS Type -unamestr=$(uname -s) - -# If OSX -if [[ "$unamestr" == 'Darwin' ]]; then +case $OSTYPE in +darwin*) local _atom_paths > /dev/null 2>&1 _atom_paths=( "$HOME/Applications/Atom.app" @@ -15,8 +12,26 @@ if [[ "$unamestr" == 'Darwin' ]]; then break fi done -# If Linux -elif [[ "$unamestr" == 'Linux' ]]; then + ;; +cygwin) + local _atom_path > /dev/null 2>&1 + + _atom_path=${LOCALAPPDATA}/atom/bin/atom + + if [[ -a $_atom_path ]]; then + cyg_open_atom() + { + if [[ -n $1 ]]; then + ${_atom_path} `cygpath -w -a $1` + else + ${_atom_path} + fi + } + + alias at=cyg_open_atom + fi + ;; +linux*) # Alerts the user if 'atom' is not a found command. type atom >/dev/null 2>&1 && alias at="atom" || { echo >&2 "You have enabled the atom oh-my-zsh plugin on Linux, but atom is not a recognized command. Please make sure you have it installed before using this plugin."; } -fi +esac From 1bb2715b22a08d3ae24d99550acd531c872a26cd Mon Sep 17 00:00:00 2001 From: Michael SALIHI Date: Mon, 21 Sep 2015 13:17:45 +0200 Subject: [PATCH 16/75] Fix capistrano problem when generating autocompletion --- plugins/capistrano/_capistrano | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/capistrano/_capistrano b/plugins/capistrano/_capistrano index e6e71ffcc..c19c20b7a 100644 --- a/plugins/capistrano/_capistrano +++ b/plugins/capistrano/_capistrano @@ -14,7 +14,7 @@ _arguments -C \ _cap_tasks() { if [[ -f config/deploy.rb || -f Capfile ]]; then if [[ ! -f .cap_tasks~ ]]; then - shipit -v --tasks | sed 's/\(\[\)\(.*\)\(\]\)/\2:/' | awk '{command=$2; $1=$2=$3=""; gsub(/^[ \t\r\n]+/, "", $0); gsub(":", "\\:", command); print command"["$0"]"}' > .cap_tasks~ + shipit --tasks | sed 's/\(\[\)\(.*\)\(\]\)/\2:/' | awk '{command=$2; $1=$2=$3=""; gsub(/^[ \t\r\n]+/, "", $0); gsub(":", "\\:", command); print command"["$0"]"}' > .cap_tasks~ fi OLD_IFS=$IFS From 884a8795623087d4812511de21dfb9329fa29e56 Mon Sep 17 00:00:00 2001 From: Frederic Crozat Date: Mon, 21 Sep 2015 19:55:28 +0200 Subject: [PATCH 17/75] Do not fail if tput is not available Fixes issue #4376 --- tools/install.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tools/install.sh b/tools/install.sh index 4b1a6ba7e..30d66d4b5 100755 --- a/tools/install.sh +++ b/tools/install.sh @@ -2,7 +2,10 @@ set -e # Use colors, but only if connected to a terminal, and that terminal # supports them. -ncolors=$(tput colors) +tput=$(which tput) +if [ -n "$tput" ]; then + ncolors=$($tput colors) +fi if [ -t 1 ] && [ -n "$ncolors" ] && [ "$ncolors" -ge 8 ]; then RED="$(tput setaf 1)" GREEN="$(tput setaf 2)" From a746e6010ae2b260213f081789eaff01865f5664 Mon Sep 17 00:00:00 2001 From: Andy Bateman Date: Mon, 14 Sep 2015 19:27:41 +1200 Subject: [PATCH 18/75] Update osx.plugin.zsh Added function to display the song you're currently listening to in iTunes Fixed indent Indentation on line 169 was squiffy Fixed spelling Removed unnecessary wording to make function more succinct. Highlighting of Artist and Track Changed the highlighting of the Track and Artist in yellow to make use of Prompt Expansion Colors --- plugins/osx/osx.plugin.zsh | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/plugins/osx/osx.plugin.zsh b/plugins/osx/osx.plugin.zsh index 390960fdc..044276c1c 100644 --- a/plugins/osx/osx.plugin.zsh +++ b/plugins/osx/osx.plugin.zsh @@ -161,6 +161,15 @@ function itunes() { vol) opt="set sound volume to $1" #$1 Due to the shift ;; + playing) + local state=`osascript -e 'tell application "iTunes" to player state as string'` + if [ "$state" = "playing" ]; then + currenttrack=`osascript -e 'tell application "iTunes" to name of current track as string'` + currentartist=`osascript -e 'tell application "iTunes" to artist of current track as string'` + echo "Listening to %F{yellow}$currenttrack%f by %F{yellow}$currentartist%f"; + fi + return 0 + ;; shuf|shuff|shuffle) # The shuffle property of current playlist can't be changed in iTunes 12, # so this workaround uses AppleScript to simulate user input instead. @@ -199,6 +208,7 @@ EOF echo "\tnext|previous\tplay next or previous track" echo "\tshuf|shuffle [on|off|toggle]\tSet shuffled playback. Default: toggle. Note: toggle doesn't support the MiniPlayer." echo "\tvol\tSet the volume, takes an argument from 0 to 100" + echo "\tplaying\tShow what song is currently playing in iTunes." echo "\thelp\tshow this message and exit" return 0 ;; From 29db0e0119aba4f317ac320ed5089b82142bcb10 Mon Sep 17 00:00:00 2001 From: Andy Bateman Date: Thu, 17 Sep 2015 13:48:30 +1200 Subject: [PATCH 19/75] Fixed colourisation of Now Playing function --- plugins/osx/osx.plugin.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/osx/osx.plugin.zsh b/plugins/osx/osx.plugin.zsh index 044276c1c..f1b437189 100644 --- a/plugins/osx/osx.plugin.zsh +++ b/plugins/osx/osx.plugin.zsh @@ -166,7 +166,7 @@ function itunes() { if [ "$state" = "playing" ]; then currenttrack=`osascript -e 'tell application "iTunes" to name of current track as string'` currentartist=`osascript -e 'tell application "iTunes" to artist of current track as string'` - echo "Listening to %F{yellow}$currenttrack%f by %F{yellow}$currentartist%f"; + print -P "Listening to %F{yellow}$currenttrack%f by %F{yellow}$currentartist%f"; fi return 0 ;; From 9f2acdc445f05e6556cf6180a1edd52b6939bbcc Mon Sep 17 00:00:00 2001 From: Andy Bateman Date: Thu, 17 Sep 2015 18:28:48 +1200 Subject: [PATCH 20/75] You can now use 'itunes status' as well as 'itunes playing' to show current track --- plugins/osx/osx.plugin.zsh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/osx/osx.plugin.zsh b/plugins/osx/osx.plugin.zsh index f1b437189..859e08da5 100644 --- a/plugins/osx/osx.plugin.zsh +++ b/plugins/osx/osx.plugin.zsh @@ -161,9 +161,9 @@ function itunes() { vol) opt="set sound volume to $1" #$1 Due to the shift ;; - playing) + playing|status) local state=`osascript -e 'tell application "iTunes" to player state as string'` - if [ "$state" = "playing" ]; then + if [[ "$state" = "playing" ]]; then currenttrack=`osascript -e 'tell application "iTunes" to name of current track as string'` currentartist=`osascript -e 'tell application "iTunes" to artist of current track as string'` print -P "Listening to %F{yellow}$currenttrack%f by %F{yellow}$currentartist%f"; From 993e09cc6b6127be92afe072f5957e4e9e72367f Mon Sep 17 00:00:00 2001 From: Andy Bateman Date: Thu, 17 Sep 2015 19:12:35 +1200 Subject: [PATCH 21/75] Added function for 'itunes playing' to display state when not playing --- plugins/osx/osx.plugin.zsh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/plugins/osx/osx.plugin.zsh b/plugins/osx/osx.plugin.zsh index 859e08da5..9413f5056 100644 --- a/plugins/osx/osx.plugin.zsh +++ b/plugins/osx/osx.plugin.zsh @@ -167,6 +167,8 @@ function itunes() { currenttrack=`osascript -e 'tell application "iTunes" to name of current track as string'` currentartist=`osascript -e 'tell application "iTunes" to artist of current track as string'` print -P "Listening to %F{yellow}$currenttrack%f by %F{yellow}$currentartist%f"; + else + print "iTunes is" $state; fi return 0 ;; @@ -208,7 +210,7 @@ EOF echo "\tnext|previous\tplay next or previous track" echo "\tshuf|shuffle [on|off|toggle]\tSet shuffled playback. Default: toggle. Note: toggle doesn't support the MiniPlayer." echo "\tvol\tSet the volume, takes an argument from 0 to 100" - echo "\tplaying\tShow what song is currently playing in iTunes." + echo "\tplaying|status\tShow what song is currently playing in iTunes." echo "\thelp\tshow this message and exit" return 0 ;; From 326c2b08593e9b02da149dcc0d3c5cf99b21d3a2 Mon Sep 17 00:00:00 2001 From: Andy Bateman Date: Sun, 20 Sep 2015 08:46:45 +1200 Subject: [PATCH 22/75] Replaced the use of 'print' with 'echo' in order to sanitise track and artist names Fixed indentation Fixed indentation --- plugins/osx/osx.plugin.zsh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/osx/osx.plugin.zsh b/plugins/osx/osx.plugin.zsh index 9413f5056..86778363b 100644 --- a/plugins/osx/osx.plugin.zsh +++ b/plugins/osx/osx.plugin.zsh @@ -166,9 +166,9 @@ function itunes() { if [[ "$state" = "playing" ]]; then currenttrack=`osascript -e 'tell application "iTunes" to name of current track as string'` currentartist=`osascript -e 'tell application "iTunes" to artist of current track as string'` - print -P "Listening to %F{yellow}$currenttrack%f by %F{yellow}$currentartist%f"; + echo -E "Listening to $fg[yellow]$currenttrack$reset_color by $fg[yellow]$currentartist$reset_color"; else - print "iTunes is" $state; + echo "iTunes is" $state; fi return 0 ;; From 95296bb0c5fade33c6cda7ccc7139a35c2641b3a Mon Sep 17 00:00:00 2001 From: Frederic Crozat Date: Tue, 22 Sep 2015 16:46:22 +0200 Subject: [PATCH 23/75] also handle missing tput in upgrade script. --- tools/upgrade.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tools/upgrade.sh b/tools/upgrade.sh index 65af6e368..6e9696202 100644 --- a/tools/upgrade.sh +++ b/tools/upgrade.sh @@ -1,7 +1,10 @@ # Use colors, but only if connected to a terminal, and that terminal # supports them. -ncolors=$(tput colors) +tput=$(which tput) +if [ -n "$tput" ]; then + ncolors=$(tput colors) +fi if [ -t 1 ] && [ -n "$ncolors" ] && [ "$ncolors" -ge 8 ]; then RED="$(tput setaf 1)" GREEN="$(tput setaf 2)" From e957ae41354d6892170e327df3be8a5913f41e78 Mon Sep 17 00:00:00 2001 From: Alexander Frolov Date: Wed, 23 Sep 2015 09:54:22 +0300 Subject: [PATCH 24/75] Update README.md --- plugins/vi-mode/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/vi-mode/README.md b/plugins/vi-mode/README.md index 03e67cca2..8519a5592 100644 --- a/plugins/vi-mode/README.md +++ b/plugins/vi-mode/README.md @@ -61,8 +61,8 @@ Insertion Delete and Insert ----------------- -- `ctrl-h` : While in *Insert mode*: delete character after the cursor -- `ctrl-w` : While in *Insert mode*: delete word after the cursor +- `ctrl-h` : While in *Insert mode*: delete character before the cursor +- `ctrl-w` : While in *Insert mode*: delete word before the cursor - `d{motion}` : Delete text that {motion} moves over - `dd` : Delete line - `D` : Delete characters under the cursor until the end of the line From 5323954c98ca41b47f0d9d40797932d4a6cd980f Mon Sep 17 00:00:00 2001 From: Michele Bologna Date: Wed, 23 Sep 2015 10:52:24 +0200 Subject: [PATCH 25/75] Uniform git prompt equal remote Uniform git prompt equal remote to all others prompts, setting the correct symbol (if applicable) to $git_remote_status, instead of echoing it. It also solves the problem pointed out in #3911 --- lib/git.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/git.zsh b/lib/git.zsh index baf863717..15cd364a0 100644 --- a/lib/git.zsh +++ b/lib/git.zsh @@ -38,7 +38,7 @@ git_remote_status() { if [ $ahead -eq 0 ] && [ $behind -eq 0 ] then - echo "$ZSH_THEME_GIT_PROMPT_EQUAL_REMOTE" + git_remote_status="$ZSH_THEME_GIT_PROMPT_EQUAL_REMOTE" elif [ $ahead -gt 0 ] && [ $behind -eq 0 ] then git_remote_status="$ZSH_THEME_GIT_PROMPT_AHEAD_REMOTE" From 12e99b5334c547c8e8fc1bdcacc88347386eb743 Mon Sep 17 00:00:00 2001 From: Michele Bologna Date: Wed, 23 Sep 2015 11:14:14 +0200 Subject: [PATCH 26/75] fix indentation --- lib/git.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/git.zsh b/lib/git.zsh index 15cd364a0..1e203c7c6 100644 --- a/lib/git.zsh +++ b/lib/git.zsh @@ -38,7 +38,7 @@ git_remote_status() { if [ $ahead -eq 0 ] && [ $behind -eq 0 ] then - git_remote_status="$ZSH_THEME_GIT_PROMPT_EQUAL_REMOTE" + git_remote_status="$ZSH_THEME_GIT_PROMPT_EQUAL_REMOTE" elif [ $ahead -gt 0 ] && [ $behind -eq 0 ] then git_remote_status="$ZSH_THEME_GIT_PROMPT_AHEAD_REMOTE" From 7a636097f8cdc5cacfe9c2e794d885fa3ecfc5dc Mon Sep 17 00:00:00 2001 From: shawn Date: Wed, 23 Sep 2015 18:47:09 -0400 Subject: [PATCH 27/75] Correct repo dir cvs's metadata is under CVS and not .cvs --- lib/grep.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/grep.zsh b/lib/grep.zsh index 3fa103d19..abc1650a1 100644 --- a/lib/grep.zsh +++ b/lib/grep.zsh @@ -11,7 +11,7 @@ if grep-flag-available --color=auto; then fi # ignore VCS folders (if the necessary grep flags are available) -VCS_FOLDERS="{.bzr,.cvs,.git,.hg,.svn}" +VCS_FOLDERS="{.bzr,CVS,.git,.hg,.svn}" if grep-flag-available --exclude-dir=.cvs; then GREP_OPTIONS+=" --exclude-dir=$VCS_FOLDERS" From 8e74f7c1aa44b5f74cf4ede49562f0586a562347 Mon Sep 17 00:00:00 2001 From: Michael SALIHI Date: Thu, 24 Sep 2015 02:22:50 +0200 Subject: [PATCH 28/75] Add alias for print latest tag name --- plugins/git/git.plugin.zsh | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/git/git.plugin.zsh b/plugins/git/git.plugin.zsh index bbee13ab8..4f2745038 100644 --- a/plugins/git/git.plugin.zsh +++ b/plugins/git/git.plugin.zsh @@ -84,6 +84,7 @@ alias gcs='git commit -S' alias gd='git diff' alias gdca='git diff --cached' +alias gdct='git describe --tags `git rev-list --tags --max-count=1`' alias gdt='git diff-tree --no-commit-id --name-only -r' gdv() { git diff -w "$@" | view - } compdef _git gdv=git-diff From 07f08aa731e73bfa27a4e89b96ce991af5175848 Mon Sep 17 00:00:00 2001 From: Tyler Charlesworth Date: Thu, 24 Sep 2015 01:25:22 -0700 Subject: [PATCH 29/75] Adds Cygwin support --- plugins/sublime/sublime.plugin.zsh | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/plugins/sublime/sublime.plugin.zsh b/plugins/sublime/sublime.plugin.zsh index 4b93c1580..62c6df8f8 100644 --- a/plugins/sublime/sublime.plugin.zsh +++ b/plugins/sublime/sublime.plugin.zsh @@ -1,5 +1,3 @@ -# Sublime Text 2 Aliases - if [[ $('uname') == 'Linux' ]]; then local _sublime_linux_paths > /dev/null 2>&1 _sublime_linux_paths=( @@ -33,7 +31,6 @@ elif [[ "$OSTYPE" = darwin* ]]; then "$HOME/Applications/Sublime Text 3.app/Contents/SharedSupport/bin/subl" "$HOME/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" ) - for _sublime_path in $_sublime_darwin_paths; do if [[ -a $_sublime_path ]]; then subl () { "$_sublime_path" $* } @@ -43,4 +40,18 @@ elif [[ "$OSTYPE" = darwin* ]]; then done fi +elif [[ "$OSTYPE" = 'cygwin' ]]; then + local _sublime_cygwin_paths > /dev/null 2>&1 + _sublime_cygwin_paths=( + "$(cygpath $ProgramW6432/Sublime\ Text\ 2)/sublime_text.exe" + "$(cygpath $ProgramW6432/Sublime\ Text\ 3)/sublime_text.exe" + ) + for _sublime_path in $_sublime_cygwin_paths; do + if [[ -a $_sublime_path ]]; then + subl () { "$_sublime_path" $* } + alias st=subl + break + fi + done + alias stt='st .' From 0c0450b3035cd4e9fd3f2c07469b933a4d1aa78f Mon Sep 17 00:00:00 2001 From: Aleksandar Vidakovic Date: Thu, 24 Sep 2015 11:51:15 +0100 Subject: [PATCH 30/75] Accept single and double quotes in Gulp plugin --- plugins/gulp/gulp.plugin.zsh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/gulp/gulp.plugin.zsh b/plugins/gulp/gulp.plugin.zsh index 6017c7b60..8e11a444f 100644 --- a/plugins/gulp/gulp.plugin.zsh +++ b/plugins/gulp/gulp.plugin.zsh @@ -20,10 +20,10 @@ # in the current directory. # function $$gulp_completion() { - compls=$(grep -Eo "gulp.task\(('(([a-zA-Z0-9]|-)*)',)" gulpfile.js 2>/dev/null | grep -Eo "'(([a-zA-Z0-9]|-)*)'" | sed s/"'"//g | sort) + compls=$(grep -Eo "gulp.task\((['\"](([a-zA-Z0-9]|-)*)['\"],)" gulpfile.js 2>/dev/null | grep -Eo "['\"](([a-zA-Z0-9]|-)*)['\"]" | sed s/"['\"]"//g | sort)" completions=(${=compls}) compadd -- $completions } -compdef $$gulp_completion gulp \ No newline at end of file +compdef $$gulp_completion gulp From 17088c6431271fe9fd9fa5cdfd56ff2addab5fd5 Mon Sep 17 00:00:00 2001 From: Piotr Gaczkowski Date: Fri, 25 Sep 2015 22:45:45 +0200 Subject: [PATCH 31/75] Fix invalid test expression. --- plugins/chruby/chruby.plugin.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/chruby/chruby.plugin.zsh b/plugins/chruby/chruby.plugin.zsh index 5be6528b0..164b4319f 100644 --- a/plugins/chruby/chruby.plugin.zsh +++ b/plugins/chruby/chruby.plugin.zsh @@ -24,7 +24,7 @@ _homebrew-installed() { } _chruby-from-homebrew-installed() { - [ -r $(brew --prefix chruby)] &> /dev/null + [ -r $(brew --prefix chruby) ] &> /dev/null } _ruby-build_installed() { From dc3413b91cb5ab2d78b74ab58dbdeabd6728b8ca Mon Sep 17 00:00:00 2001 From: justvitalius Date: Sun, 27 Sep 2015 19:01:12 +0300 Subject: [PATCH 32/75] Fix print rvm version in amuse theme --- themes/amuse.zsh-theme | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/themes/amuse.zsh-theme b/themes/amuse.zsh-theme index c1314e8b1..4e7361ced 100644 --- a/themes/amuse.zsh-theme +++ b/themes/amuse.zsh-theme @@ -20,7 +20,7 @@ ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[green]%}?" ZSH_THEME_GIT_PROMPT_CLEAN="" if [ -e ~/.rvm/bin/rvm-prompt ]; then - RPROMPT='%{$fg_bold[red]%}‹$(~/.rvm/bin/rvm-prompt i v)›%{$reset_color%}' + RPROMPT='%{$fg_bold[red]%}‹$(rvm_current)›%{$reset_color%}' else if which rbenv &> /dev/null; then RPROMPT='%{$fg_bold[red]%}$(rbenv_version)%{$reset_color%}' From 2266368b77805574a1db4a839a029f02947d5e62 Mon Sep 17 00:00:00 2001 From: Tyler Charlesworth Date: Sun, 27 Sep 2015 16:51:38 -0700 Subject: [PATCH 33/75] Update sublime.plugin.zsh --- 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 62c6df8f8..a5d63cde6 100644 --- a/plugins/sublime/sublime.plugin.zsh +++ b/plugins/sublime/sublime.plugin.zsh @@ -38,7 +38,6 @@ elif [[ "$OSTYPE" = darwin* ]]; then break fi done -fi elif [[ "$OSTYPE" = 'cygwin' ]]; then local _sublime_cygwin_paths > /dev/null 2>&1 @@ -54,4 +53,6 @@ elif [[ "$OSTYPE" = 'cygwin' ]]; then fi done +fi + alias stt='st .' From 758195cb791556c3f5268e7e075f3ab55bcd5e90 Mon Sep 17 00:00:00 2001 From: LE Manh Cuong Date: Mon, 28 Sep 2015 16:05:22 +0700 Subject: [PATCH 34/75] Encode64 Plugin - Fix wrong `echo` usage Currently, encode64 plugin using `echo -n` to print the content of $1 variable. This approach will not work with arbitrary data, which contains sequence of escaped characters, since when many `echo` implementation will expand them. This commit chage the usage to `printf`, which is builtin in all POSIX shells and can print arbitrary data reliability. --- plugins/encode64/encode64.plugin.zsh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/encode64/encode64.plugin.zsh b/plugins/encode64/encode64.plugin.zsh index 4dbd1b453..53de6478a 100644 --- a/plugins/encode64/encode64.plugin.zsh +++ b/plugins/encode64/encode64.plugin.zsh @@ -1,4 +1,4 @@ -encode64(){ echo -n $1 | base64 } -decode64(){ echo -n $1 | base64 --decode } +encode64(){ printf '%s' $1 | base64 } +decode64(){ printf '%s' $1 | base64 --decode } alias e64=encode64 alias d64=decode64 From f94fee5a7fd1a4704d65d52a2f1c522a3831ca1a Mon Sep 17 00:00:00 2001 From: Andrew Janke Date: Mon, 28 Sep 2015 08:35:25 -0400 Subject: [PATCH 35/75] installer: don't bail on errors in color setup This is a hack to keep the installer working on systems without tput/terminfo. --- tools/install.sh | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/tools/install.sh b/tools/install.sh index 5633320a8..67d341c7c 100755 --- a/tools/install.sh +++ b/tools/install.sh @@ -1,5 +1,3 @@ -set -e - # Use colors, but only if connected to a terminal, and that terminal # supports them. tput=$(which tput) @@ -21,6 +19,11 @@ else BOLD="" NORMAL="" fi + +# Only enable exit-on-error after the non-critical colorization stuff, +# which may fail on systems lacking tput or terminfo +set -e + CHECK_ZSH_INSTALLED=$(grep /zsh$ /etc/shells | wc -l) if [ ! $CHECK_ZSH_INSTALLED -ge 1 ]; then printf "${YELLOW}Zsh is not installed!${NORMAL} Please install zsh first!\n" From 5af52fbc75a07f03f2f796846184e0c2d6ca87b2 Mon Sep 17 00:00:00 2001 From: Joseph Post Date: Mon, 28 Sep 2015 10:50:35 -0500 Subject: [PATCH 36/75] gulp plugin: missing opening double quote & had unneeded parens on function --- plugins/gulp/gulp.plugin.zsh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/gulp/gulp.plugin.zsh b/plugins/gulp/gulp.plugin.zsh index 8e11a444f..f7eaefa85 100644 --- a/plugins/gulp/gulp.plugin.zsh +++ b/plugins/gulp/gulp.plugin.zsh @@ -19,8 +19,8 @@ # Grabs all available tasks from the `gulpfile.js` # in the current directory. # -function $$gulp_completion() { - compls=$(grep -Eo "gulp.task\((['\"](([a-zA-Z0-9]|-)*)['\"],)" gulpfile.js 2>/dev/null | grep -Eo "['\"](([a-zA-Z0-9]|-)*)['\"]" | sed s/"['\"]"//g | sort)" +function $$gulp_completion { + compls="$(grep -Eo "gulp.task\((['\"](([a-zA-Z0-9]|-)*)['\"],)" gulpfile.js 2>/dev/null | grep -Eo "['\"](([a-zA-Z0-9]|-)*)['\"]" | sed s/"['\"]"//g | sort)" completions=(${=compls}) compadd -- $completions From 3e04cd62d3f569da7a92380083f4e0806f2fa14e Mon Sep 17 00:00:00 2001 From: Gustavo Villa Date: Mon, 28 Sep 2015 14:59:06 -0300 Subject: [PATCH 37/75] Add 'rake middleware' alias. --- plugins/rails/rails.plugin.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/rails/rails.plugin.zsh b/plugins/rails/rails.plugin.zsh index 39e388494..1bbd1fb4b 100644 --- a/plugins/rails/rails.plugin.zsh +++ b/plugins/rails/rails.plugin.zsh @@ -59,7 +59,7 @@ alias rn='rake notes' alias rr='rake routes' alias rrg='rake routes | grep' alias rt='rake test' - +alias rmd='rake middleware' # legacy stuff alias sstat='thin --stats "/thin/stats" start' From 1e305e01868a3524b7ce7ec1fdaba7e752f3ce8c Mon Sep 17 00:00:00 2001 From: Gutem Date: Mon, 28 Sep 2015 16:04:25 -0300 Subject: [PATCH 38/75] Update Simulator's Path to XCode 7.x --- plugins/xcode/xcode.plugin.zsh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/plugins/xcode/xcode.plugin.zsh b/plugins/xcode/xcode.plugin.zsh index b63a857a7..0a2fa0839 100644 --- a/plugins/xcode/xcode.plugin.zsh +++ b/plugins/xcode/xcode.plugin.zsh @@ -179,7 +179,10 @@ function simulator { if [[ -d "${devfolder}/Platforms/iPhoneSimulator.platform/Developer/Applications/iPhone Simulator.app" ]]; then open "${devfolder}/Platforms/iPhoneSimulator.platform/Developer/Applications/iPhone Simulator.app" # Xcode ≥ 6.x - else + elif [[ -d "${devfolder}/Applications/iOS Simulator.app" ]]; then open "${devfolder}/Applications/iOS Simulator.app" + # Xcode ≥ 7.x + else + open "${devfolder}/Applications/Simulator.app" fi } From 4589bc6c654650d52a47b5cb86c588f4ab2aca46 Mon Sep 17 00:00:00 2001 From: Andrew Janke Date: Mon, 28 Sep 2015 18:09:29 -0400 Subject: [PATCH 39/75] completion: turn off the #3889 compfix check by default --- oh-my-zsh.sh | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/oh-my-zsh.sh b/oh-my-zsh.sh index 8e31ddd0f..6cc5ac630 100644 --- a/oh-my-zsh.sh +++ b/oh-my-zsh.sh @@ -11,6 +11,8 @@ fpath=($ZSH/functions $ZSH/completions $fpath) # Load all stock functions (from $fpath files) called below. autoload -U compaudit compinit +: ${ZSH_DISABLE_COMPFIX:=true} + # Set ZSH_CUSTOM to the path where your custom config files # and plugins exists, or else we will use the default custom/ if [[ -z "$ZSH_CUSTOM" ]]; then @@ -62,13 +64,17 @@ if [ -z "$ZSH_COMPDUMP" ]; then ZSH_COMPDUMP="${ZDOTDIR:-${HOME}}/.zcompdump-${SHORT_HOST}-${ZSH_VERSION}" fi -# If completion insecurities exist, warn the user without enabling completions. -if ! compaudit &>/dev/null; then - # This function resides in the "lib/compfix.zsh" script sourced above. - handle_completion_insecurities -# Else, enable and cache completions to the desired file. +if [[ $ZSH_DISABLE_COMPFIX != true ]]; then + # If completion insecurities exist, warn the user without enabling completions. + if ! compaudit &>/dev/null; then + # This function resides in the "lib/compfix.zsh" script sourced above. + handle_completion_insecurities + # Else, enable and cache completions to the desired file. + else + compinit -d "${ZSH_COMPDUMP}" + fi else - compinit -d "${ZSH_COMPDUMP}" + compinit -i -d "${ZSH_COMPDUMP}" fi # Load all of the plugins that were defined in ~/.zshrc From df80081e9b8d652177a18542080b169268dc4d58 Mon Sep 17 00:00:00 2001 From: Xavier Haniquaut Date: Tue, 29 Sep 2015 10:20:55 +0200 Subject: [PATCH 40/75] Add alias for npm global install --- plugins/npm/npm.plugin.zsh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/plugins/npm/npm.plugin.zsh b/plugins/npm/npm.plugin.zsh index 595105d3c..3a1a8ba3a 100644 --- a/plugins/npm/npm.plugin.zsh +++ b/plugins/npm/npm.plugin.zsh @@ -5,6 +5,9 @@ eval "$(npm completion 2>/dev/null)" # - https://twitter.com/substack/status/23122603153150361 # Thus, we've used camelCase for the following aliases: +# Install dependencies globally +alias npmg="npm i -g " + # Install and save to dependencies in your package.json # npms is used by https://www.npmjs.com/package/npms alias npmS="npm i -S " @@ -12,6 +15,7 @@ alias npmS="npm i -S " # Install and save to dev-dependencies in your package.json # npmd is used by https://github.com/dominictarr/npmd alias npmD="npm i -D " + # Execute command from node_modules folder based on current directory # i.e npmE gulp alias npmE='PATH="$(npm bin)":"$PATH"' From 0516a39dec64568f6db194d143a0ae2969c3cf9b Mon Sep 17 00:00:00 2001 From: Rob Loach Date: Tue, 29 Sep 2015 12:16:18 -0400 Subject: [PATCH 41/75] Remove Atom plugin The Atom plugin is obsolete. See #3193 --- plugins/atom/README.md | 23 ---------------------- plugins/atom/atom.plugin.zsh | 37 ------------------------------------ 2 files changed, 60 deletions(-) delete mode 100644 plugins/atom/README.md delete mode 100644 plugins/atom/atom.plugin.zsh diff --git a/plugins/atom/README.md b/plugins/atom/README.md deleted file mode 100644 index 6350c647b..000000000 --- a/plugins/atom/README.md +++ /dev/null @@ -1,23 +0,0 @@ -## atom - -This plugin makes "at" a useful function for invoking the Atom Editor. - -Originally by Github user [aforty](https://github.com/aforty) for OSX, modified to alias 'at' to 'atom' for Linux, since atom already works on the terminal for Linux, and calling 'at' in a non-OSX environment should still work. - -### Requirements - - * [Atom](https://atom.io/) - -### Usage - - * If `at` command is called without an argument, launch Atom - - * If `at` is passed a directory, open it in Atom - - * If `at` is passed a file, open it in Atom - -### Examples - - * Open the current dir in atom: `at .` - * Open another dir in atom: `at path/to/folder` - * Open a file: `at filename.extension` diff --git a/plugins/atom/atom.plugin.zsh b/plugins/atom/atom.plugin.zsh deleted file mode 100644 index 2711cf0e8..000000000 --- a/plugins/atom/atom.plugin.zsh +++ /dev/null @@ -1,37 +0,0 @@ -case $OSTYPE in -darwin*) - local _atom_paths > /dev/null 2>&1 - _atom_paths=( - "$HOME/Applications/Atom.app" - "/Applications/Atom.app" - ) - - for _atom_path in $_atom_paths; do - if [[ -a $_atom_path ]]; then - alias at="open -a '$_atom_path'" - break - fi - done - ;; -cygwin) - local _atom_path > /dev/null 2>&1 - - _atom_path=${LOCALAPPDATA}/atom/bin/atom - - if [[ -a $_atom_path ]]; then - cyg_open_atom() - { - if [[ -n $1 ]]; then - ${_atom_path} `cygpath -w -a $1` - else - ${_atom_path} - fi - } - - alias at=cyg_open_atom - fi - ;; -linux*) - # Alerts the user if 'atom' is not a found command. - type atom >/dev/null 2>&1 && alias at="atom" || { echo >&2 "You have enabled the atom oh-my-zsh plugin on Linux, but atom is not a recognized command. Please make sure you have it installed before using this plugin."; } -esac From f9c16f940e1b952dab2811e0c988bfc25f7dc93c Mon Sep 17 00:00:00 2001 From: Xavier Haniquaut Date: Wed, 30 Sep 2015 16:42:34 +0200 Subject: [PATCH 42/75] Remove broken link and move npmg alias position --- plugins/npm/npm.plugin.zsh | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/plugins/npm/npm.plugin.zsh b/plugins/npm/npm.plugin.zsh index 3a1a8ba3a..3f6fe0fb3 100644 --- a/plugins/npm/npm.plugin.zsh +++ b/plugins/npm/npm.plugin.zsh @@ -1,13 +1,11 @@ eval "$(npm completion 2>/dev/null)" - -# npm package names are lowercase -# - https://twitter.com/substack/status/23122603153150361 -# Thus, we've used camelCase for the following aliases: - # Install dependencies globally alias npmg="npm i -g " +# npm package names are lowercase +# Thus, we've used camelCase for the following aliases: + # Install and save to dependencies in your package.json # npms is used by https://www.npmjs.com/package/npms alias npmS="npm i -S " From c146853a5e529a522ca4cd6015cd55b796788806 Mon Sep 17 00:00:00 2001 From: Andrew Janke Date: Thu, 1 Oct 2015 19:29:59 -0400 Subject: [PATCH 43/75] autoenv: also look in the Homebrew installation location for it --- plugins/autoenv/autoenv.plugin.zsh | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/plugins/autoenv/autoenv.plugin.zsh b/plugins/autoenv/autoenv.plugin.zsh index edc16a4ca..c9f968118 100644 --- a/plugins/autoenv/autoenv.plugin.zsh +++ b/plugins/autoenv/autoenv.plugin.zsh @@ -1,12 +1,25 @@ # Activates autoenv or reports its failure -if ! type autoenv_init &>/dev/null && ! source $HOME/.autoenv/activate.sh 2>/dev/null; then - echo '-------- AUTOENV ---------' - echo 'Could not find autoenv_init function or ~/.autoenv/activate.sh.' - echo 'Please check if autoenv is correctly installed.' - echo 'In the meantime the autoenv plugin is DISABLED.' - echo '--------------------------' - return 1 +() { +if ! type autoenv_init >/dev/null; then + for d (~/.autoenv /usr/local/opt/autoenv); do + if [[ -e $d/activate.sh ]]; then + autoenv_dir=$d + break + fi + done + if [[ -z $autoenv_dir ]]; then + cat <&2 +-------- AUTOENV --------- +Could not locate autoenv installation. +Please check if autoenv is correctly installed. +In the meantime the autoenv plugin is DISABLED. +-------------------------- +END + return 1 + fi fi +} +[[ $? != 0 ]] && return $? # The use_env call below is a reusable command to activate/create a new Python # virtualenv, requiring only a single declarative line of code in your .env files. From 7f2656c1263488c1a54af65397ad1d0c450c8e7d Mon Sep 17 00:00:00 2001 From: Andrew Janke Date: Fri, 2 Oct 2015 03:07:01 -0400 Subject: [PATCH 44/75] git-extras: fix for compatibility with zsh _git This changes all the __git_* functions it was defining to __gitex_* to avoid collisions with the internal functions used inside _git from zsh. --- plugins/git-extras/README.md | 11 ++++ plugins/git-extras/git-extras.plugin.zsh | 82 +++++++++++++----------- 2 files changed, 54 insertions(+), 39 deletions(-) create mode 100644 plugins/git-extras/README.md diff --git a/plugins/git-extras/README.md b/plugins/git-extras/README.md new file mode 100644 index 000000000..8f12e297e --- /dev/null +++ b/plugins/git-extras/README.md @@ -0,0 +1,11 @@ +# git-extras + +This plugin provides completion definitions for some of the commands defined by [git-extras](http://github.com/tj/git-extras). + +## Setup notes + +The completions work by augmenting the `_git` completion provided by `zsh`. This only works with the `zsh`-provided `_git`, not the `_git` provided by `git` itself. If you have both `zsh` and `git` installed, you need to make sure that the `zsh`-provided `_git` takes precedence. + +### OS X Homebrew Setup + +On OS X with Homebrew, you need to install `git` with `brew install git --without-completions`. Otherwise, `git`'s `_git` will take precedence, and you won't see the completions for `git-extras` commands. diff --git a/plugins/git-extras/git-extras.plugin.zsh b/plugins/git-extras/git-extras.plugin.zsh index d91c1af81..681fbb466 100644 --- a/plugins/git-extras/git-extras.plugin.zsh +++ b/plugins/git-extras/git-extras.plugin.zsh @@ -1,10 +1,13 @@ -#compdef git # ------------------------------------------------------------------------------ # Description # ----------- # # Completion script for git-extras (http://github.com/tj/git-extras). # +# This depends on and reueses some of the internals of the _git completion +# function that ships with zsh itself. It will not work with the _git that ships +# with git. +# # ------------------------------------------------------------------------------ # Authors # ------- @@ -22,16 +25,18 @@ # ------------------------------------------------------------------------------ -__git_command_successful () { - if (( ${#pipestatus:#0} > 0 )); then - _message 'not a git repository' - return 1 - fi - return 0 +# Internal functions +# These are a lot like their __git_* equivalents inside _git + +__gitex_command_successful () { + if (( ${#*:#0} > 0 )); then + _message 'not a git repository' + return 1 + fi + return 0 } - -__git_commits() { +__gitex_commits() { declare -A commits git log --oneline -15 | sed 's/\([[:alnum:]]\{7\}\) /\1:/' | while read commit do @@ -42,7 +47,7 @@ __git_commits() { _describe -t commits commit commits && ret=0 } -__git_tag_names() { +__gitex_tag_names() { local expl declare -a tag_names tag_names=(${${(f)"$(_call_program tags git for-each-ref --format='"%(refname)"' refs/tags 2>/dev/null)"}#refs/tags/}) @@ -51,7 +56,7 @@ __git_tag_names() { } -__git_branch_names() { +__gitex_branch_names() { local expl declare -a branch_names branch_names=(${${(f)"$(_call_program branchrefs git for-each-ref --format='"%(refname)"' refs/heads 2>/dev/null)"}#refs/heads/}) @@ -59,7 +64,7 @@ __git_branch_names() { _wanted branch-names expl branch-name compadd $* - $branch_names } -__git_specific_branch_names() { +__gitex_specific_branch_names() { local expl declare -a branch_names branch_names=(${${(f)"$(_call_program branchrefs git for-each-ref --format='"%(refname)"' refs/heads/"$1" 2>/dev/null)"}#refs/heads/$1/}) @@ -67,32 +72,28 @@ __git_specific_branch_names() { _wanted branch-names expl branch-name compadd $* - $branch_names } - -__git_feature_branch_names() { - __git_specific_branch_names 'feature' +__gitex_feature_branch_names() { + __gitex_specific_branch_names 'feature' } - -__git_refactor_branch_names() { - __git_specific_branch_names 'refactor' +__gitex_refactor_branch_names() { + __gitex_specific_branch_names 'refactor' } - -__git_bug_branch_names() { - __git_specific_branch_names 'bug' +__gitex_bug_branch_names() { + __gitex_specific_branch_names 'bug' } - -__git_submodule_names() { +__gitex_submodule_names() { local expl declare -a submodule_names - submodule_names=(${(f)"$(_call_program branchrefs git submodule status | awk '{print $2}')"}) + submodule_names=(${(f)"$(_call_program branchrefs git submodule status | awk '{print $2}')"}) # ' __git_command_successful || return _wanted submodule-names expl submodule-name compadd $* - $submodule_names } -__git_author_names() { +__gitex_author_names() { local expl declare -a author_names author_names=(${(f)"$(_call_program branchrefs git log --format='%aN' | sort -u)"}) @@ -123,7 +124,7 @@ _git-bug() { case $line[1] in (finish) _arguments -C \ - ':branch-name:__git_bug_branch_names' + ':branch-name:__gitex_bug_branch_names' ;; esac esac @@ -139,7 +140,7 @@ _git-changelog() { _git-contrib() { _arguments \ - ':author:__git_author_names' + ':author:__gitex_author_names' } @@ -151,19 +152,19 @@ _git-count() { _git-delete-branch() { _arguments \ - ':branch-name:__git_branch_names' + ':branch-name:__gitex_branch_names' } _git-delete-submodule() { _arguments \ - ':submodule-name:__git_submodule_names' + ':submodule-name:__gitex_submodule_names' } _git-delete-tag() { _arguments \ - ':tag-name:__git_tag_names' + ':tag-name:__gitex_tag_names' } @@ -172,6 +173,7 @@ _git-effort() { '--above[ignore file with less than x commits]' } + _git-extras() { local curcontext=$curcontext state line ret=1 declare -A opt_args @@ -216,7 +218,7 @@ _git-feature() { case $line[1] in (finish) _arguments -C \ - ':branch-name:__git_feature_branch_names' + ':branch-name:__gitex_feature_branch_names' ;; esac esac @@ -225,8 +227,8 @@ _git-feature() { _git-graft() { _arguments \ - ':src-branch-name:__git_branch_names' \ - ':dest-branch-name:__git_branch_names' + ':src-branch-name:__gitex_branch_names' \ + ':dest-branch-name:__gitex_branch_names' } @@ -236,12 +238,14 @@ _git-ignore() { '(--global -g)'{--global,-g}'[show global gitignore]' } + _git-missing() { _arguments \ - ':first-branch-name:__git_branch_names' \ - ':second-branch-name:__git_branch_names' + ':first-branch-name:__gitex_branch_names' \ + ':second-branch-name:__gitex_branch_names' } + _git-refactor() { local curcontext=$curcontext state line ret=1 declare -A opt_args @@ -263,7 +267,7 @@ _git-refactor() { case $line[1] in (finish) _arguments -C \ - ':branch-name:__git_refactor_branch_names' + ':branch-name:__gitex_refactor_branch_names' ;; esac esac @@ -272,12 +276,12 @@ _git-refactor() { _git-squash() { _arguments \ - ':branch-name:__git_branch_names' + ':branch-name:__gitex_branch_names' } _git-summary() { - _arguments '--line[summarize with lines other than commits]' - __git_commits + _arguments '--line[summarize with lines rather than commits]' + __gitex_commits } From b35d78f2f8535dbbcba2254ad91041312814ebc1 Mon Sep 17 00:00:00 2001 From: Will Weaver Date: Fri, 2 Oct 2015 08:14:06 -0400 Subject: [PATCH 45/75] Add Git Hubflow aliases --- plugins/git-hubflow/git-hubflow.plugin.zsh | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/plugins/git-hubflow/git-hubflow.plugin.zsh b/plugins/git-hubflow/git-hubflow.plugin.zsh index 4cf5b9177..b0157c7a1 100644 --- a/plugins/git-hubflow/git-hubflow.plugin.zsh +++ b/plugins/git-hubflow/git-hubflow.plugin.zsh @@ -20,6 +20,13 @@ # c. Or, use this file as an oh-my-zsh plugin. # +alias ghf='git hf' +alias ghff='git hf feature' +alias ghfr='git hf release' +alias ghfh='git hf hotfix' +alias ghfs='git hf support' +alias ghfu='git hf update' + _git-hf () { local curcontext="$curcontext" state line From df5e1f9c2cca5722e09bef3787571d7d948fe467 Mon Sep 17 00:00:00 2001 From: uberspot Date: Sat, 3 Oct 2015 19:37:12 +0200 Subject: [PATCH 46/75] Add 3 more nmap aliases to nmap plugin --- plugins/nmap/README.md | 19 ++++++++++++------- plugins/nmap/nmap.plugin.zsh | 6 +++++- 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/plugins/nmap/README.md b/plugins/nmap/README.md index 8bb8e0648..5cd646277 100644 --- a/plugins/nmap/README.md +++ b/plugins/nmap/README.md @@ -19,14 +19,19 @@ Nmap options are: ## Aliases explained - * nmap_open_ports - scan for open ports on target - * nmap_list_interfaces - list all network interfaces on host where the command runs - * nmap_slow - slow scan that avoids to spam the targets logs - * nmap_fin - scan to see if hosts are up with TCP FIN scan - * nmap_full - aggressive full scan that scans all ports, tries to determine OS and service versions + * nmap_open_ports - Scan for open ports on target + * nmap_list_interfaces - List all network interfaces on host where the command runs + * nmap_slow - Slow scan that avoids to spam the targets logs + * nmap_fin - Scan to see if hosts are up with TCP FIN scan + * nmap_full - Aggressive full scan that scans all ports, tries to determine OS and service versions * nmap_check_for_firewall - TCP ACK scan to check for firewall existence * nmap_ping_through_firewall - Host discovery with SYN and ACK probes instead of just pings to avoid firewall restrictions * nmap_fast - Fast scan of the top 300 popular ports - * nmap_detect_versions - detects versions of services and OS, runs on all ports - * nmap_check_for_vulns - uses vulscan script to check target services for vulnerabilities + * nmap_detect_versions - Detects versions of services and OS, runs on all ports + * nmap_check_for_vulns - Uses vulscan script to check target services for vulnerabilities + * nmap_full_udp - Same as full but via UDP + * nmap_traceroute - Try to traceroute using the most common ports + * nmap_full_with_scripts - Same as nmap_full but also runs all the scripts + * nmap_web_safe_osscan - Little "safer" scan for OS version as connecting to only HTTP and HTTPS ports doesn't look so attacking. + diff --git a/plugins/nmap/nmap.plugin.zsh b/plugins/nmap/nmap.plugin.zsh index f3603f622..d09f2c615 100644 --- a/plugins/nmap/nmap.plugin.zsh +++ b/plugins/nmap/nmap.plugin.zsh @@ -22,7 +22,11 @@ alias nmap_fin="nmap -sF -v" alias nmap_full="nmap -sS -T4 -PE -PP -PS80,443 -PY -g 53 -A -p1-65535 -v" alias nmap_check_for_firewall="nmap -sA -p1-65535 -v -T4" alias nmap_ping_through_firewall="nmap -PS -PA" -alias nmap_fast="nmap -F -T5 --top-ports 300" +alias nmap_fast="nmap -F -T5 --version-light --top-ports 300" alias nmap_detect_versions="nmap -sV -p1-65535 -O --osscan-guess -T4 -Pn" alias nmap_check_for_vulns="nmap --script=vulscan" +alias nmap_full_udp="nmap -sS -sU -T4 -A -v -PE -PS22,25,80 -PA21,23,80,443,3389 " +alias nmap_traceroute="nmap -sP -PE -PS22,25,80 -PA21,23,80,3389 -PU -PO --traceroute " +alias nmap_full_with_scripts="sudo nmap -sS -sU -T4 -A -v -PE -PP -PS21,22,23,25,80,113,31339 -PA80,113,443,10042 -PO --script all " +alias nmap_web_safe_osscan="sudo nmap -p 80,443 -O -v --osscan-guess --fuzzy " From 2d9df4468f5650d0d16cc789c96d828fb0dff4aa Mon Sep 17 00:00:00 2001 From: Jeff Smith Date: Sat, 3 Oct 2015 18:39:41 -0700 Subject: [PATCH 47/75] Fix 'ack-grep' bug for non-ubuntu users Redirect STDERR along with STDOUT when looking for ack-grep --- lib/misc.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/misc.zsh b/lib/misc.zsh index 223d61509..8ff076e77 100644 --- a/lib/misc.zsh +++ b/lib/misc.zsh @@ -22,7 +22,7 @@ alias _='sudo' alias please='sudo' ## more intelligent acking for ubuntu users -if which ack-grep > /dev/null; +if which ack-grep &> /dev/null; then alias afind='ack-grep -il' else From a95473919ab300e4b1a6179e8dca7356a256615d Mon Sep 17 00:00:00 2001 From: Kevin O'Neal Date: Sun, 4 Oct 2015 17:05:28 -0500 Subject: [PATCH 48/75] Update Gradle Commands --- plugins/gradle/gradle.plugin.zsh | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/plugins/gradle/gradle.plugin.zsh b/plugins/gradle/gradle.plugin.zsh index 97941756d..661c29d5b 100644 --- a/plugins/gradle/gradle.plugin.zsh +++ b/plugins/gradle/gradle.plugin.zsh @@ -1,6 +1,6 @@ #!zsh ############################################################################## -# A descriptive listing of core Gradle commands +# A descriptive listing of core Gradle commands ############################################################################ function _gradle_core_commands() { local ret=1 state @@ -32,14 +32,22 @@ function _gradle_arguments() { '--stop[Stop the Gradle daemon]' \ '--daemon[Use the Gradle daemon]' \ '--no-daemon[Do not use the Gradle daemon]' \ - '--no-opt[Do not perform any task optimization]' \ + '--rerun-task [Specifies that any task optimization is ignored.]' \ '-i[Log at the info level]' \ '-m[Dry run]' \ '-P[Set a project property]' \ + '-p[Specifies the start directory]' \ '--profile[Profile the build time]' \ '-q[Log at the quiet level (only show errors)]' \ '-v[Print the Gradle version info]' \ '-x[Specify a task to be excluded]' \ + '-b[Specifies the build file.]' \ + '-c[Specifies the settings file.]' \ + '--continue[Continues task execution after a task failure.]' \ + '-g[Specifies the Gradle user home directory.]' \ + '-I[Specifies an initialization script.]' \ + '--refresh-dependencies[Refresh the state of dependencies.]' \ + '-u[Don''t search in parent directories for a settings.gradle file.]' \ '*::command:->command' \ && return 0 } From b6d78df62c540245f67ffc900d0b1a17a6dfb77e Mon Sep 17 00:00:00 2001 From: Andrew Janke Date: Sun, 4 Oct 2015 03:42:24 -0400 Subject: [PATCH 49/75] clip*: add xsel support --- lib/clipboard.zsh | 45 +++++++++++++++++++++--------- plugins/copydir/copydir.plugin.zsh | 2 +- 2 files changed, 33 insertions(+), 14 deletions(-) diff --git a/lib/clipboard.zsh b/lib/clipboard.zsh index 24b7380f7..b663800a4 100644 --- a/lib/clipboard.zsh +++ b/lib/clipboard.zsh @@ -31,15 +31,21 @@ function clipcopy() { cat $file > /dev/clipboard fi else - which xclip &>/dev/null - if [[ $? != 0 ]]; then - print "clipcopy: Platform $OSTYPE not supported or xclip not installed" >&2 - return 1 - fi - if [[ -z $file ]]; then - xclip -in -selection clipboard + if which xclip &>/dev/null; then + if [[ -z $file ]]; then + xclip -in -selection clipboard + else + xclip -in -selection clipboard $file + fi + elif which xsel &>/dev/null; then + if [[ -z $file ]]; then + xsel --clipboard --input + else + cat "$file" | xsel --clipboard --input + fi else - xclip -in -selection clipboard $file + print "clipcopy: Platform $OSTYPE not supported or xclip/xsel not installed" >&2 + return 1 fi fi } @@ -50,6 +56,17 @@ function clipcopy() { # # clippaste - writes clipboard's contents to stdout # +# clippaste | - pastes contents and pipes it to another process +# +# clippaste > - paste contents to a file +# +# Examples: +# +# # Pipe to another process +# clippaste | grep foo +# +# # Paste to a file +# clippaste > file.txt function clippaste() { emulate -L zsh if [[ $OSTYPE == darwin* ]]; then @@ -57,11 +74,13 @@ function clippaste() { elif [[ $OSTYPE == cygwin* ]]; then cat /dev/clipboard else - which xclip &>/dev/null - if [[ $? != 0 ]]; then - print "clipcopy: Platform $OSTYPE not supported or xclip not installed" >&2 + if which xclip &>/dev/null; then + xclip -out -selection clipboard + elif which xsel &>/dev/null; then + xsel --clipboard --output + else + print "clipcopy: Platform $OSTYPE not supported or xclip/xsel not installed" >&2 return 1 fi - xclip -out -selection clipboard fi -} \ No newline at end of file +} diff --git a/plugins/copydir/copydir.plugin.zsh b/plugins/copydir/copydir.plugin.zsh index 4b918e815..c45106240 100644 --- a/plugins/copydir/copydir.plugin.zsh +++ b/plugins/copydir/copydir.plugin.zsh @@ -2,4 +2,4 @@ function copydir { emulate -L zsh print -n $PWD | clipcopy -} \ No newline at end of file +} From d26549b7ecb93665148e37b18741ace6d0b8141a Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Mon, 5 Oct 2015 13:46:20 -0700 Subject: [PATCH 50/75] Removing legacy rails-specific aliases from the Textmate plugin. This is probably best handled as a custom plugin. --- plugins/textmate/textmate.plugin.zsh | 8 -------- 1 file changed, 8 deletions(-) diff --git a/plugins/textmate/textmate.plugin.zsh b/plugins/textmate/textmate.plugin.zsh index 773c4f8d2..02813de9e 100644 --- a/plugins/textmate/textmate.plugin.zsh +++ b/plugins/textmate/textmate.plugin.zsh @@ -1,11 +1,3 @@ -alias et='mate .' -alias ett='mate Gemfile app config features lib db public spec test Rakefile Capfile Todo' -alias etp='mate app config lib db public spec test vendor/plugins vendor/gems Rakefile Capfile Todo' -alias etts='mate app config lib db public script spec test vendor/plugins vendor/gems Rakefile Capfile Todo' - -# Edit Ruby app in TextMate -alias mr='mate CHANGELOG app config db lib public script spec test' - # If the tm command is called without an argument, open TextMate in the current directory # If tm is passed a directory, cd to it and open it in TextMate # If tm is passed a file, open it in TextMate From 6b73f5ec7504ebc118d4bb6fdfaf841333f9c7a4 Mon Sep 17 00:00:00 2001 From: Rodrigo Chiossi Date: Mon, 5 Oct 2015 18:32:42 -0300 Subject: [PATCH 51/75] Ask for confirmation before uninstall Prompt the user before removing oh-my-zsh from the system --- tools/uninstall.sh | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/tools/uninstall.sh b/tools/uninstall.sh index 23bfac0eb..f9da00c9b 100644 --- a/tools/uninstall.sh +++ b/tools/uninstall.sh @@ -1,3 +1,10 @@ +read -r -p "Are you sure you want to remove Oh My Zsh? [y/N] " confirmation +if ! [[ $confirmation =~ ^[yY]$ ]] +then + echo "Uninstall cancelled" + exit +fi + echo "Removing ~/.oh-my-zsh" if [ -d ~/.oh-my-zsh ] then From a7f0c71c703de2603bcf05170e797068145728c0 Mon Sep 17 00:00:00 2001 From: Avi Samloff Date: Thu, 8 Oct 2015 15:07:24 -0700 Subject: [PATCH 52/75] Fix ohmyz.sh link Change http://ohmyz.sh link to use proper markdown syntax --- README.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.markdown b/README.markdown index a29df81ab..779ce77c3 100644 --- a/README.markdown +++ b/README.markdown @@ -5,7 +5,7 @@ Oh My Zsh is an open source, community-driven framework for managing your [zsh]( __Oh My Zsh is a way of life!__ Once installed, your terminal prompt will become the talk of the town _or your money back!_ Each time you interact with your command prompt, you'll be able take advantage of the hundreds of bundled plugins and pretty themes. Strangers will come up to you in cafés and ask you, _"that is amazing. are you some sort of genius?"_ Finally, you'll begin to get the sort of attention that you always felt that you deserved. ...or maybe you'll just use the time that you saved to start flossing more often. -To learn more, visit http://ohmyz.sh and/or follow [ohmyzsh](https://twitter.com/ohmyzsh) on Twitter. +To learn more, visit [ohmyz.sh](http://ohmyz.sh) and/or follow [ohmyzsh](https://twitter.com/ohmyzsh) on Twitter. ## Getting Started From 35517457921c095be1aa6ed948debfbe183b89ac Mon Sep 17 00:00:00 2001 From: Andrew Janke Date: Tue, 6 Oct 2015 21:03:47 -0400 Subject: [PATCH 53/75] Disable bracketed-paste-magic in zsh 5.1.1, where it is buggy A bracketed-paste-magic bug breaks pasting of CJK and some other characters in zsh 5.1.1. http://www.zsh.org/mla/workers/2015/msg02680.html See #4434 --- lib/misc.zsh | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/lib/misc.zsh b/lib/misc.zsh index 8ff076e77..c81dab413 100644 --- a/lib/misc.zsh +++ b/lib/misc.zsh @@ -1,14 +1,19 @@ ## Load smart urls if available -for d in $fpath; do - if [[ -e "$d/url-quote-magic" ]]; then - if [[ -e "$d/bracketed-paste-magic" ]]; then - autoload -Uz bracketed-paste-magic - zle -N bracketed-paste bracketed-paste-magic - fi - autoload -U url-quote-magic - zle -N self-insert url-quote-magic - fi -done +# bracketed-paste-magic is known buggy in zsh 5.1.1 (only), so skip it there; see #4434 +autoload -Uz is-at-least +if [[ $ZSH_VERSION != 5.1.1 ]]; then + for d in $fpath; do + if [[ -e "$d/url-quote-magic" ]]; then + if is-at-least 5.1; then + autoload -Uz bracketed-paste-magic + zle -N bracketed-paste bracketed-paste-magic + fi + autoload -Uz url-quote-magic + zle -N self-insert url-quote-magic + break + fi + done +fi ## jobs setopt long_list_jobs @@ -22,8 +27,7 @@ alias _='sudo' alias please='sudo' ## more intelligent acking for ubuntu users -if which ack-grep &> /dev/null; -then +if which ack-grep &> /dev/null; then alias afind='ack-grep -il' else alias afind='ack -il' From d15521d09dfa59da664aca6ddd40928d1031c5ad Mon Sep 17 00:00:00 2001 From: Andrew Janke Date: Thu, 8 Oct 2015 22:31:39 -0400 Subject: [PATCH 54/75] diagnostics: fix for reserved-word changes in zsh 5.1 Reference: https://github.com/zsh-users/zsh/blob/zsh-5.1.1/NEWS#L20-L32 --- lib/diagnostics.zsh | 30 ++++++++++++++++++++++++------ 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/lib/diagnostics.zsh b/lib/diagnostics.zsh index afc33829b..9c9905e4d 100644 --- a/lib/diagnostics.zsh +++ b/lib/diagnostics.zsh @@ -52,6 +52,9 @@ # * Consider whether to move default output file location to TMPDIR. More robust # but less user friendly. # + +autoload -Uz is-at-least + function omz_diagnostic_dump() { emulate -L zsh @@ -247,7 +250,7 @@ function _omz_diag_dump_one_big_text() { function _omz_diag_dump_check_core_commands() { builtin echo "Core command check:" - local redefined name builtins externals + local redefined name builtins externals reserved_words redefined=() # All the zsh non-module builtin commands # These are taken from the zsh reference manual for 5.0.2 @@ -255,17 +258,32 @@ function _omz_diag_dump_check_core_commands() { # (For back-compatibility, if any of these are newish, they should be removed, # or at least made conditional on the version of the current running zsh.) # "history" is also excluded because OMZ is known to redefine that + reserved_words=( do done esac then elif else fi for case if while function + repeat time until select coproc nocorrect foreach end '!' '[[' '{' '}' + ) builtins=( alias autoload bg bindkey break builtin bye cd chdir command comparguments compcall compctl compdescribe compfiles compgroups compquote comptags - comptry compvalues continue declare dirs disable disown echo echotc echoti emulate - enable eval exec exit export false fc fg float functions getln getopts hash - integer jobs kill let limit local log logout noglob popd print printf - pushd pushln pwd r read readonly rehash return sched set setopt shift - source suspend test times trap true ttyctl type typeset ulimit umask unalias + comptry compvalues continue dirs disable disown echo echotc echoti emulate + enable eval exec exit false fc fg functions getln getopts hash + jobs kill let limit log logout noglob popd print printf + pushd pushln pwd r read rehash return sched set setopt shift + source suspend test times trap true ttyctl type ulimit umask unalias unfunction unhash unlimit unset unsetopt vared wait whence where which zcompile zle zmodload zparseopts zregexparse zstyle ) + if is-at-least 5.1; then + reserved_word+=( declare export integer float local readonly typeset ) + else + builtins+=( declare export integer float local readonly typeset ) + fi builtins_fatal=( builtin command local ) externals=( zsh ) + for name in $reserved_words; do + if [[ $(builtin whence -w $name) != "$name: reserved" ]]; then + builtin echo "reserved word '$name' has been redefined" + builtin which $name + redefined+=$name + fi + done for name in $builtins; do if [[ $(builtin whence -w $name) != "$name: builtin" ]]; then builtin echo "builtin '$name' has been redefined" From bb509dda236f8ed04b90806bc66f4ad1a41f57bc Mon Sep 17 00:00:00 2001 From: Robby Russell Date: Fri, 9 Oct 2015 07:07:57 -0700 Subject: [PATCH 55/75] Renaming colored-man to colored-man-pages because it needs to be. --- .../colored-man-pages.plugin.zsh} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename plugins/{colored-man/colored-man.plugin.zsh => colored-man-pages/colored-man-pages.plugin.zsh} (100%) diff --git a/plugins/colored-man/colored-man.plugin.zsh b/plugins/colored-man-pages/colored-man-pages.plugin.zsh similarity index 100% rename from plugins/colored-man/colored-man.plugin.zsh rename to plugins/colored-man-pages/colored-man-pages.plugin.zsh From 252078dd6c8adc78c6c9d3564dd16fca5aa146a1 Mon Sep 17 00:00:00 2001 From: Bruno Volcov Date: Fri, 9 Oct 2015 18:47:48 -0300 Subject: [PATCH 56/75] add alias to sort by version --- plugins/git/git.plugin.zsh | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/git/git.plugin.zsh b/plugins/git/git.plugin.zsh index 4f2745038..15caab28f 100644 --- a/plugins/git/git.plugin.zsh +++ b/plugins/git/git.plugin.zsh @@ -212,6 +212,7 @@ alias gsts='git stash show --text' alias gsu='git submodule update' alias gts='git tag -s' +alias gtv='git tag | sort -V' alias gunignore='git update-index --no-assume-unchanged' alias gunwip='git log -n 1 | grep -q -c "\-\-wip\-\-" && git reset HEAD~1' From 2d0e7fbdadce6a3d052ea0f33ccf9114a4b23c0a Mon Sep 17 00:00:00 2001 From: Andrew Janke Date: Fri, 9 Oct 2015 20:35:19 -0400 Subject: [PATCH 57/75] autoenv: actually source autoenv once located Fixes bug introduced in #4440 --- plugins/autoenv/autoenv.plugin.zsh | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/autoenv/autoenv.plugin.zsh b/plugins/autoenv/autoenv.plugin.zsh index c9f968118..ea2e56dd6 100644 --- a/plugins/autoenv/autoenv.plugin.zsh +++ b/plugins/autoenv/autoenv.plugin.zsh @@ -17,6 +17,7 @@ In the meantime the autoenv plugin is DISABLED. END return 1 fi + source $autoenv_dir/activate.sh fi } [[ $? != 0 ]] && return $? From 7597bf805e6c9bfd0cbe216251d6dd639ecffcea Mon Sep 17 00:00:00 2001 From: Satoshi Ohmori Date: Sat, 10 Oct 2015 11:49:56 +0900 Subject: [PATCH 58/75] Add an alias for upstream --- plugins/git/git.plugin.zsh | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/git/git.plugin.zsh b/plugins/git/git.plugin.zsh index 4f2745038..600f756e1 100644 --- a/plugins/git/git.plugin.zsh +++ b/plugins/git/git.plugin.zsh @@ -217,6 +217,7 @@ alias gunignore='git update-index --no-assume-unchanged' alias gunwip='git log -n 1 | grep -q -c "\-\-wip\-\-" && git reset HEAD~1' alias gup='git pull --rebase' alias gupv='git pull --rebase -v' +alias glum='git pull upstream master' alias gvt='git verify-tag' From b18d386d7fe6c6569a9a05a306b50c6dada9c474 Mon Sep 17 00:00:00 2001 From: Gustavo Villa Date: Mon, 12 Oct 2015 04:32:22 -0300 Subject: [PATCH 59/75] Add option '--port' to 'rails server' alias. --- plugins/rails/rails.plugin.zsh | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/rails/rails.plugin.zsh b/plugins/rails/rails.plugin.zsh index 1bbd1fb4b..a390c919c 100644 --- a/plugins/rails/rails.plugin.zsh +++ b/plugins/rails/rails.plugin.zsh @@ -42,6 +42,7 @@ alias rp='rails plugin' alias ru='rails runner' alias rs='rails server' alias rsd='rails server --debugger' +alias rsp='rails server --port' # Rake aliases alias rdm='rake db:migrate' From 8a95cedc3b200762f44d1c4e9475240f0d61c8a1 Mon Sep 17 00:00:00 2001 From: Arvind Chembarpu Date: Thu, 15 Oct 2015 08:43:40 +0530 Subject: [PATCH 60/75] Init pyenv virtualenvs too --- plugins/pyenv/pyenv.plugin.zsh | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/pyenv/pyenv.plugin.zsh b/plugins/pyenv/pyenv.plugin.zsh index b3dc7aa17..706aad3cf 100644 --- a/plugins/pyenv/pyenv.plugin.zsh +++ b/plugins/pyenv/pyenv.plugin.zsh @@ -18,6 +18,7 @@ for pyenvdir in "${pyenvdirs[@]}" ; do export PYENV_ROOT=$pyenvdir export PATH=${pyenvdir}/bin:$PATH eval "$(pyenv init --no-rehash - zsh)" + eval "$(pyenv virtualenv-init - zsh)" function pyenv_prompt_info() { echo "$(pyenv version-name)" From 8a362b2b1f00448af6dd2ef1a6b0d5ea2d9b025e Mon Sep 17 00:00:00 2001 From: Arvind Chembarpu Date: Thu, 15 Oct 2015 08:44:15 +0530 Subject: [PATCH 61/75] Enable pyenv rehash --- plugins/pyenv/pyenv.plugin.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/pyenv/pyenv.plugin.zsh b/plugins/pyenv/pyenv.plugin.zsh index 706aad3cf..b06507b62 100644 --- a/plugins/pyenv/pyenv.plugin.zsh +++ b/plugins/pyenv/pyenv.plugin.zsh @@ -17,7 +17,7 @@ for pyenvdir in "${pyenvdirs[@]}" ; do FOUND_PYENV=1 export PYENV_ROOT=$pyenvdir export PATH=${pyenvdir}/bin:$PATH - eval "$(pyenv init --no-rehash - zsh)" + eval "$(pyenv init - zsh)" eval "$(pyenv virtualenv-init - zsh)" function pyenv_prompt_info() { From e59e1c8417513a246509f7738ae05b4f2c9a8a8e Mon Sep 17 00:00:00 2001 From: Arvind Chembarpu Date: Fri, 16 Oct 2015 23:19:55 +0530 Subject: [PATCH 62/75] Check for git before trying to upgrade, as per #4504 --- tools/check_for_upgrade.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tools/check_for_upgrade.sh b/tools/check_for_upgrade.sh index 5afd83c1e..1c897cb36 100644 --- a/tools/check_for_upgrade.sh +++ b/tools/check_for_upgrade.sh @@ -26,6 +26,9 @@ fi # oh-my-zsh directory. [[ -w "$ZSH" ]] || return 0 +# Cancel upgrade if git is unavailable on the system +whence git >/dev/null || return 0 + if [ -f ~/.zsh-update ] then . ~/.zsh-update @@ -54,4 +57,3 @@ else # create the zsh file _update_zsh_update fi - From 75e619b72421e7330011c8bda5f99af5231a8b7d Mon Sep 17 00:00:00 2001 From: Yannick Eckey Date: Thu, 15 Oct 2015 15:37:30 +0200 Subject: [PATCH 63/75] Fix install.sh/upgrade.sh for tput-less systems @fcrozat's original fix assumes `which` not to output anything to STDOUT in case the command is not found. That is not necessarily true on all systems. A better solution is to check the return value instead. Fixes #4376 --- tools/install.sh | 5 ++--- tools/upgrade.sh | 3 +-- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/tools/install.sh b/tools/install.sh index 5633320a8..542bf97c2 100755 --- a/tools/install.sh +++ b/tools/install.sh @@ -2,9 +2,8 @@ set -e # Use colors, but only if connected to a terminal, and that terminal # supports them. -tput=$(which tput) -if [ -n "$tput" ]; then - ncolors=$($tput colors) +if which tput >/dev/null 2>&1; then + ncolors=$(tput colors) fi if [ -t 1 ] && [ -n "$ncolors" ] && [ "$ncolors" -ge 8 ]; then RED="$(tput setaf 1)" diff --git a/tools/upgrade.sh b/tools/upgrade.sh index 6e9696202..fe8fbadca 100644 --- a/tools/upgrade.sh +++ b/tools/upgrade.sh @@ -1,8 +1,7 @@ # Use colors, but only if connected to a terminal, and that terminal # supports them. -tput=$(which tput) -if [ -n "$tput" ]; then +if which tput >/dev/null 2>&1; then ncolors=$(tput colors) fi if [ -t 1 ] && [ -n "$ncolors" ] && [ "$ncolors" -ge 8 ]; then From 2c54428d6e3c683e5b01b30d8405232f98668691 Mon Sep 17 00:00:00 2001 From: Superbil Date: Sat, 17 Oct 2015 05:55:29 +0800 Subject: [PATCH 64/75] Fixd bug for pyenv plugin Check pyenv-virtualenv can eval before use it. Signed-off-by: Superbil --- plugins/pyenv/pyenv.plugin.zsh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/plugins/pyenv/pyenv.plugin.zsh b/plugins/pyenv/pyenv.plugin.zsh index b06507b62..aa1f9488a 100644 --- a/plugins/pyenv/pyenv.plugin.zsh +++ b/plugins/pyenv/pyenv.plugin.zsh @@ -18,7 +18,10 @@ for pyenvdir in "${pyenvdirs[@]}" ; do export PYENV_ROOT=$pyenvdir export PATH=${pyenvdir}/bin:$PATH eval "$(pyenv init - zsh)" - eval "$(pyenv virtualenv-init - zsh)" + + if pyenv commands | command grep -q virtualenv-init; then + eval "$(pyenv virtualenv-init - zsh)" + fi function pyenv_prompt_info() { echo "$(pyenv version-name)" From 2c8697b934847a84d68f2e00ba1d0cabeed19412 Mon Sep 17 00:00:00 2001 From: Satoshi Ohmori Date: Tue, 20 Oct 2015 18:45:12 +0900 Subject: [PATCH 65/75] [FIX #4525]: Fix typo --- plugins/git-extras/git-extras.plugin.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/git-extras/git-extras.plugin.zsh b/plugins/git-extras/git-extras.plugin.zsh index 681fbb466..507bf1b25 100644 --- a/plugins/git-extras/git-extras.plugin.zsh +++ b/plugins/git-extras/git-extras.plugin.zsh @@ -302,7 +302,7 @@ zstyle ':completion:*:*:git:*' user-commands \ count:'count commits' \ create-branch:'create local and remote branch' \ delete-branch:'delete local and remote branch' \ - delete-merged-brancees:'delete merged branches'\ + delete-merged-branches:'delete merged branches'\ delete-submodule:'delete submodule' \ delete-tag:'delete local and remote tag' \ effort:'display effort statistics' \ From c9d93757e82785a0fd1e0d1222f5d61e01849703 Mon Sep 17 00:00:00 2001 From: Brian J Brennan Date: Sun, 18 Oct 2015 13:20:49 -0400 Subject: [PATCH 66/75] Make install script safer This changeset wraps all of the commands in tools/install.sh in a function and then calls that function as the last line of the script. The current install instructions ask the user to download the install script using `curl` and pass the result to `sh`. This is totally fine (as long as both the instructions and the script itself are served using HTTPS), but the script should be written in a way such that it doesn't start trying to actually *do* anything until the very last line. The reason is due to the way `curl` work: if the socket drops before the request is complete (server abruptly hangs up, client's internet flakes out, etc.), `curl` will return the partial data that it received. Here is an example of that: ![partial file execution](https://cldup.com/qU_Mnh2GmT.png) A way this might cause issues for tools/install.sh is if the connection drops after cloning but before the repository (L53-56). The .zshrc configuration will not be copied and the shell will not be changed, but if the user tries to run the install script again it will claim oh-my-zsh is already installed (L31-39). While this is not a particularly dangerous error condition (the user can just delete .oh-my-zsh and re-run), it can certainly be confusing for new users. This also helps future-proof the script for a time when it might need to use a "dangerous" command, e.g. `rm`, and we want to make sure it happens in the most transactional way possible. --- tools/install.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tools/install.sh b/tools/install.sh index 67d341c7c..dd9c4f842 100755 --- a/tools/install.sh +++ b/tools/install.sh @@ -1,3 +1,4 @@ +function main() { # Use colors, but only if connected to a terminal, and that terminal # supports them. tput=$(which tput) @@ -117,3 +118,6 @@ echo 'p.p.s. Get stickers and t-shirts at http://shop.planetargon.com.' echo '' printf "${NORMAL}" env zsh +} + +main From fe02e027fe2d549d6027d51b95a8a724e40958df Mon Sep 17 00:00:00 2001 From: evanandrewrose Date: Mon, 19 Oct 2015 08:21:41 -0400 Subject: [PATCH 67/75] Fix "be" -> "b" typo in coffee plugin README.md. --- plugins/coffee/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/coffee/README.md b/plugins/coffee/README.md index d0e7bbe74..432ce3414 100644 --- a/plugins/coffee/README.md +++ b/plugins/coffee/README.md @@ -11,7 +11,7 @@ Preview the compiled result of your coffeescript with `cf "code"` as per the following: ```zsh -$ cf 'if a then be else c' +$ cf 'if a then b else c' if (a) { b; } else { From 78dc8583969a046b51ef4f099b1d182f73dcaa12 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Cornell=C3=A0?= Date: Wed, 21 Oct 2015 10:36:40 +0200 Subject: [PATCH 68/75] Revert "Make install script safer" This reverts commit c9d93757e82785a0fd1e0d1222f5d61e01849703, which makes it fail with a syntax error: sh: 1: Syntax error: "(" unexpected --- tools/install.sh | 4 ---- 1 file changed, 4 deletions(-) diff --git a/tools/install.sh b/tools/install.sh index e65905025..be43968bc 100755 --- a/tools/install.sh +++ b/tools/install.sh @@ -1,4 +1,3 @@ -function main() { # Use colors, but only if connected to a terminal, and that terminal # supports them. if which tput >/dev/null 2>&1; then @@ -117,6 +116,3 @@ echo 'p.p.s. Get stickers and t-shirts at http://shop.planetargon.com.' echo '' printf "${NORMAL}" env zsh -} - -main From ca5632bce10e1f5b0fe2a59151ae0fd776619d89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Cornell=C3=A0?= Date: Wed, 21 Oct 2015 10:44:56 +0200 Subject: [PATCH 69/75] Fix syntax error in #4515 on certain shells Drops the `function` keyword and uses only `func(){}` syntax as per the POSIX specification: http://pubs.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html#tag_02_09_05 Related: #4531 --- tools/install.sh | 232 ++++++++++++++++++++++++----------------------- 1 file changed, 118 insertions(+), 114 deletions(-) diff --git a/tools/install.sh b/tools/install.sh index be43968bc..8cba52085 100755 --- a/tools/install.sh +++ b/tools/install.sh @@ -1,118 +1,122 @@ -# Use colors, but only if connected to a terminal, and that terminal -# supports them. -if which tput >/dev/null 2>&1; then - ncolors=$(tput colors) -fi -if [ -t 1 ] && [ -n "$ncolors" ] && [ "$ncolors" -ge 8 ]; then - RED="$(tput setaf 1)" - GREEN="$(tput setaf 2)" - YELLOW="$(tput setaf 3)" - BLUE="$(tput setaf 4)" - BOLD="$(tput bold)" - NORMAL="$(tput sgr0)" -else - RED="" - GREEN="" - YELLOW="" - BLUE="" - BOLD="" - NORMAL="" -fi - -# Only enable exit-on-error after the non-critical colorization stuff, -# which may fail on systems lacking tput or terminfo -set -e - -CHECK_ZSH_INSTALLED=$(grep /zsh$ /etc/shells | wc -l) -if [ ! $CHECK_ZSH_INSTALLED -ge 1 ]; then - printf "${YELLOW}Zsh is not installed!${NORMAL} Please install zsh first!\n" - exit -fi -unset CHECK_ZSH_INSTALLED - -if [ ! -n "$ZSH" ]; then - ZSH=~/.oh-my-zsh -fi - -if [ -d "$ZSH" ]; then - printf "${YELLOW}You already have Oh My Zsh installed.${NORMAL}\n" - printf "You'll need to remove $ZSH if you want to re-install.\n" - exit -fi - -# Prevent the cloned repository from having insecure permissions. Failing to do -# so causes compinit() calls to fail with "command not found: compdef" errors -# for users with insecure umasks (e.g., "002", allowing group writability). Note -# that this will be ignored under Cygwin by default, as Windows ACLs take -# precedence over umasks except for filesystems mounted with option "noacl". -umask g-w,o-w - -printf "${BLUE}Cloning Oh My Zsh...${NORMAL}\n" -hash git >/dev/null 2>&1 || { - echo "Error: git is not installed" - exit 1 -} -env git clone --depth=1 https://github.com/robbyrussell/oh-my-zsh.git $ZSH || { - printf "Error: git clone of oh-my-zsh repo failed\n" - exit 1 -} - -# The Windows (MSYS) Git is not compatible with normal use on cygwin -if [ "$OSTYPE" = cygwin ]; then - if git --version | grep msysgit > /dev/null; then - echo "Error: Windows/MSYS Git is not supported on Cygwin" - echo "Error: Make sure the Cygwin git package is installed and is first on the path" - exit 1 +main() { + # Use colors, but only if connected to a terminal, and that terminal + # supports them. + if which tput >/dev/null 2>&1; then + ncolors=$(tput colors) fi -fi - -printf "${BLUE}Looking for an existing zsh config...${NORMAL}\n" -if [ -f ~/.zshrc ] || [ -h ~/.zshrc ]; then - printf "${YELLOW}Found ~/.zshrc.${NORMAL} ${GREEN}Backing up to ~/.zshrc.pre-oh-my-zsh${NORMAL}\n"; - mv ~/.zshrc ~/.zshrc.pre-oh-my-zsh; -fi - -printf "${BLUE}Using the Oh My Zsh template file and adding it to ~/.zshrc${NORMAL}\n" -cp $ZSH/templates/zshrc.zsh-template ~/.zshrc -sed "/^export ZSH=/ c\\ -export ZSH=$ZSH -" ~/.zshrc > ~/.zshrc-omztemp -mv -f ~/.zshrc-omztemp ~/.zshrc - -printf "${BLUE}Copying your current PATH and adding it to the end of ~/.zshrc for you.${NORMAL}\n" -sed "/export PATH=/ c\\ -export PATH=\"$PATH\" -" ~/.zshrc > ~/.zshrc-omztemp -mv -f ~/.zshrc-omztemp ~/.zshrc - -# If this user's login shell is not already "zsh", attempt to switch. -TEST_CURRENT_SHELL=$(expr "$SHELL" : '.*/\(.*\)') -if [ "$TEST_CURRENT_SHELL" != "zsh" ]; then - # If this platform provides a "chsh" command (not Cygwin), do it, man! - if hash chsh >/dev/null 2>&1; then - printf "${BLUE}Time to change your default shell to zsh!${NORMAL}\n" - chsh -s $(grep /zsh$ /etc/shells | tail -1) - # Else, suggest the user do so manually. + if [ -t 1 ] && [ -n "$ncolors" ] && [ "$ncolors" -ge 8 ]; then + RED="$(tput setaf 1)" + GREEN="$(tput setaf 2)" + YELLOW="$(tput setaf 3)" + BLUE="$(tput setaf 4)" + BOLD="$(tput bold)" + NORMAL="$(tput sgr0)" else - printf "I can't change your shell automatically because this system does not have chsh.\n" - printf "${BLUE}Please manually change your default shell to zsh!${NORMAL}\n" + RED="" + GREEN="" + YELLOW="" + BLUE="" + BOLD="" + NORMAL="" fi -fi -printf "${GREEN}" -echo ' __ __ ' -echo ' ____ / /_ ____ ___ __ __ ____ _____/ /_ ' -echo ' / __ \/ __ \ / __ `__ \/ / / / /_ / / ___/ __ \ ' -echo '/ /_/ / / / / / / / / / / /_/ / / /_(__ ) / / / ' -echo '\____/_/ /_/ /_/ /_/ /_/\__, / /___/____/_/ /_/ ' -echo ' /____/ ....is now installed!' -echo '' -echo '' -echo 'Please look over the ~/.zshrc file to select plugins, themes, and options.' -echo '' -echo 'p.s. Follow us at https://twitter.com/ohmyzsh.' -echo '' -echo 'p.p.s. Get stickers and t-shirts at http://shop.planetargon.com.' -echo '' -printf "${NORMAL}" -env zsh + # Only enable exit-on-error after the non-critical colorization stuff, + # which may fail on systems lacking tput or terminfo + set -e + + CHECK_ZSH_INSTALLED=$(grep /zsh$ /etc/shells | wc -l) + if [ ! $CHECK_ZSH_INSTALLED -ge 1 ]; then + printf "${YELLOW}Zsh is not installed!${NORMAL} Please install zsh first!\n" + exit + fi + unset CHECK_ZSH_INSTALLED + + if [ ! -n "$ZSH" ]; then + ZSH=~/.oh-my-zsh + fi + + if [ -d "$ZSH" ]; then + printf "${YELLOW}You already have Oh My Zsh installed.${NORMAL}\n" + printf "You'll need to remove $ZSH if you want to re-install.\n" + exit + fi + + # Prevent the cloned repository from having insecure permissions. Failing to do + # so causes compinit() calls to fail with "command not found: compdef" errors + # for users with insecure umasks (e.g., "002", allowing group writability). Note + # that this will be ignored under Cygwin by default, as Windows ACLs take + # precedence over umasks except for filesystems mounted with option "noacl". + umask g-w,o-w + + printf "${BLUE}Cloning Oh My Zsh...${NORMAL}\n" + hash git >/dev/null 2>&1 || { + echo "Error: git is not installed" + exit 1 + } + env git clone --depth=1 https://github.com/robbyrussell/oh-my-zsh.git $ZSH || { + printf "Error: git clone of oh-my-zsh repo failed\n" + exit 1 + } + + # The Windows (MSYS) Git is not compatible with normal use on cygwin + if [ "$OSTYPE" = cygwin ]; then + if git --version | grep msysgit > /dev/null; then + echo "Error: Windows/MSYS Git is not supported on Cygwin" + echo "Error: Make sure the Cygwin git package is installed and is first on the path" + exit 1 + fi + fi + + printf "${BLUE}Looking for an existing zsh config...${NORMAL}\n" + if [ -f ~/.zshrc ] || [ -h ~/.zshrc ]; then + printf "${YELLOW}Found ~/.zshrc.${NORMAL} ${GREEN}Backing up to ~/.zshrc.pre-oh-my-zsh${NORMAL}\n"; + mv ~/.zshrc ~/.zshrc.pre-oh-my-zsh; + fi + + printf "${BLUE}Using the Oh My Zsh template file and adding it to ~/.zshrc${NORMAL}\n" + cp $ZSH/templates/zshrc.zsh-template ~/.zshrc + sed "/^export ZSH=/ c\\ + export ZSH=$ZSH + " ~/.zshrc > ~/.zshrc-omztemp + mv -f ~/.zshrc-omztemp ~/.zshrc + + printf "${BLUE}Copying your current PATH and adding it to the end of ~/.zshrc for you.${NORMAL}\n" + sed "/export PATH=/ c\\ + export PATH=\"$PATH\" + " ~/.zshrc > ~/.zshrc-omztemp + mv -f ~/.zshrc-omztemp ~/.zshrc + + # If this user's login shell is not already "zsh", attempt to switch. + TEST_CURRENT_SHELL=$(expr "$SHELL" : '.*/\(.*\)') + if [ "$TEST_CURRENT_SHELL" != "zsh" ]; then + # If this platform provides a "chsh" command (not Cygwin), do it, man! + if hash chsh >/dev/null 2>&1; then + printf "${BLUE}Time to change your default shell to zsh!${NORMAL}\n" + chsh -s $(grep /zsh$ /etc/shells | tail -1) + # Else, suggest the user do so manually. + else + printf "I can't change your shell automatically because this system does not have chsh.\n" + printf "${BLUE}Please manually change your default shell to zsh!${NORMAL}\n" + fi + fi + + printf "${GREEN}" + echo ' __ __ ' + echo ' ____ / /_ ____ ___ __ __ ____ _____/ /_ ' + echo ' / __ \/ __ \ / __ `__ \/ / / / /_ / / ___/ __ \ ' + echo '/ /_/ / / / / / / / / / / /_/ / / /_(__ ) / / / ' + echo '\____/_/ /_/ /_/ /_/ /_/\__, / /___/____/_/ /_/ ' + echo ' /____/ ....is now installed!' + echo '' + echo '' + echo 'Please look over the ~/.zshrc file to select plugins, themes, and options.' + echo '' + echo 'p.s. Follow us at https://twitter.com/ohmyzsh.' + echo '' + echo 'p.p.s. Get stickers and t-shirts at http://shop.planetargon.com.' + echo '' + printf "${NORMAL}" + env zsh +} + +main From b2010a0ae63ba09632a3b427edc81888eadec4d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Cornell=C3=A0?= Date: Wed, 21 Oct 2015 11:17:37 +0200 Subject: [PATCH 70/75] Fix syntax error in confirmation prompt of uninstall.sh We need to use POSIX syntax. This file is no longer executed with zsh. Fixes #4483. --- tools/uninstall.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/uninstall.sh b/tools/uninstall.sh index f9da00c9b..488b002e7 100644 --- a/tools/uninstall.sh +++ b/tools/uninstall.sh @@ -1,8 +1,8 @@ read -r -p "Are you sure you want to remove Oh My Zsh? [y/N] " confirmation -if ! [[ $confirmation =~ ^[yY]$ ]] +if [ $confirmation = y ] && [ $confirmation = Y ] then - echo "Uninstall cancelled" - exit + echo "Uninstall cancelled" + exit fi echo "Removing ~/.oh-my-zsh" From 4e42e1f7e149f85ba52b654dbea9766080a9a480 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Cornell=C3=A0?= Date: Wed, 21 Oct 2015 11:28:12 +0200 Subject: [PATCH 71/75] Fix conditional in uninstall prompt --- tools/uninstall.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/uninstall.sh b/tools/uninstall.sh index 488b002e7..80b11a10a 100644 --- a/tools/uninstall.sh +++ b/tools/uninstall.sh @@ -1,5 +1,5 @@ read -r -p "Are you sure you want to remove Oh My Zsh? [y/N] " confirmation -if [ $confirmation = y ] && [ $confirmation = Y ] +if [ $confirmation = y ] || [ $confirmation = Y ] then echo "Uninstall cancelled" exit From a1755e652cd96efb22b4956e8ef9759d7d170f5d Mon Sep 17 00:00:00 2001 From: Satoshi Ohmori Date: Fri, 16 Oct 2015 04:49:53 +0900 Subject: [PATCH 72/75] Refactor for method in plugins/rake-fast/rake-fast.plugin.zsh --- plugins/rake-fast/rake-fast.plugin.zsh | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/plugins/rake-fast/rake-fast.plugin.zsh b/plugins/rake-fast/rake-fast.plugin.zsh index cfc9a079f..d305eb1f0 100644 --- a/plugins/rake-fast/rake-fast.plugin.zsh +++ b/plugins/rake-fast/rake-fast.plugin.zsh @@ -8,17 +8,7 @@ _rake_refresh () { } _rake_does_task_list_need_generating () { - if [ ! -f .rake_tasks ]; then return 0; - else - if [[ "$OSTYPE" = darwin* ]]; then - accurate=$(stat -f%m .rake_tasks) - changed=$(stat -f%m Rakefile) - else - accurate=$(stat -c%Y .rake_tasks) - changed=$(stat -c%Y Rakefile) - fi - return $(expr $accurate '>=' $changed) - fi + [[ ! -f .rake_tasks ]] || [[ Rakefile -nt .rake_tasks ]] } _rake_generate () { From d06f4d089302ecd448eaa557baf6ed4fca34428b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Cornell=C3=A0?= Date: Wed, 21 Oct 2015 16:44:26 +0200 Subject: [PATCH 73/75] Fix backwards logic in uninstaller once and for all Really this time :P Fixes #4533 --- tools/uninstall.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/uninstall.sh b/tools/uninstall.sh index 80b11a10a..9ad1b64a6 100644 --- a/tools/uninstall.sh +++ b/tools/uninstall.sh @@ -1,5 +1,5 @@ read -r -p "Are you sure you want to remove Oh My Zsh? [y/N] " confirmation -if [ $confirmation = y ] || [ $confirmation = Y ] +if [ "$confirmation" != y ] && [ "$confirmation" != Y ] then echo "Uninstall cancelled" exit From 9264d75d5d1c10de370b0c32606b70768541eaaa Mon Sep 17 00:00:00 2001 From: Cooper Maruyama Date: Mon, 15 Jun 2015 01:22:40 -0700 Subject: [PATCH 74/75] Fix typo. * `cfp` alias was referencing an old version of the `cf` command which no longer exists. This has been updated to reference a valid command. --- plugins/coffee/coffee.plugin.zsh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/coffee/coffee.plugin.zsh b/plugins/coffee/coffee.plugin.zsh index 77cb663f7..6d1ce5ce4 100644 --- a/plugins/coffee/coffee.plugin.zsh +++ b/plugins/coffee/coffee.plugin.zsh @@ -10,7 +10,7 @@ cfc () { } # compile from clipboard & print -alias cfp='coffeeMe "$(clippaste)"' +alias cfp='cf "$(clippaste)"' # compile from clipboard and copy to clipboard alias cfpc='cfp | clipcopy' From e9de366ea7f20962f1847828b3ca185bab69a118 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Cornell=C3=A0?= Date: Wed, 21 Oct 2015 17:39:13 +0200 Subject: [PATCH 75/75] Update custom location command and fix code format --- README.markdown | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/README.markdown b/README.markdown index 779ce77c3..cee314de2 100644 --- a/README.markdown +++ b/README.markdown @@ -25,11 +25,15 @@ Oh My Zsh is installed by running one of the following commands in your terminal #### via curl -`sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"` +```shell +sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)" +``` #### via wget -`sh -c "$(wget https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"` +```shell +sh -c "$(wget https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)" +``` ## Using Oh My Zsh @@ -100,7 +104,7 @@ The default location is `~/.oh-my-zsh` (hidden in your home directory) If you'd like to change the install directory with the `ZSH` environment variable, either by running `export ZSH=/your/path` before installing, or by setting it before the end of the install pipeline like this: ```shell -curl -L https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh | ZSH=~/.dotfiles/zsh sh +export ZSH="~/.dotfiles/oh-my-zsh"; sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)" ``` #### Manual Installation