diff options
-rw-r--r-- | lib/git.zsh | 2 | ||||
-rw-r--r-- | lib/grep.zsh | 2 | ||||
-rw-r--r-- | lib/misc.zsh | 4 | ||||
-rw-r--r-- | plugins/atom/atom.plugin.zsh | 31 | ||||
-rw-r--r-- | plugins/capistrano/_capistrano | 2 | ||||
-rw-r--r-- | plugins/chruby/chruby.plugin.zsh | 2 | ||||
-rw-r--r-- | plugins/fedora/README.md | 3 | ||||
-rw-r--r-- | plugins/fedora/fedora.plugin.zsh | 16 | ||||
-rw-r--r-- | plugins/gulp/gulp.plugin.zsh | 4 | ||||
-rw-r--r-- | plugins/vi-mode/README.md | 4 | ||||
-rw-r--r-- | themes/amuse.zsh-theme | 5 | ||||
-rwxr-xr-x | tools/install.sh | 28 | ||||
-rw-r--r-- | tools/uninstall.sh | 12 | ||||
-rw-r--r-- | tools/upgrade.sh | 5 |
14 files changed, 92 insertions, 28 deletions
diff --git a/lib/git.zsh b/lib/git.zsh index baf863717..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 - 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" 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" 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 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 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 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() { 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 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 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 diff --git a/themes/amuse.zsh-theme b/themes/amuse.zsh-theme index 60761b5c0..4e7361ced 100644 --- a/themes/amuse.zsh-theme +++ b/themes/amuse.zsh-theme @@ -12,14 +12,15 @@ 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]%}?" 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%}' diff --git a/tools/install.sh b/tools/install.sh index 4b1a6ba7e..5633320a8 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)" @@ -43,11 +46,24 @@ fi umask g-w,o-w printf "${BLUE}Cloning Oh My Zsh...${NORMAL}\n" -hash git >/dev/null 2>&1 && env git clone --depth=1 https://github.com/robbyrussell/oh-my-zsh.git $ZSH || { - printf "git not installed\n" - exit +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"; @@ -68,13 +84,15 @@ export PATH=\"$PATH\" mv -f ~/.zshrc-omztemp ~/.zshrc # If this user's login shell is not already "zsh", attempt to switch. -if [ "$(expr "$SHELL" : '.*/\(.*\)')" != "zsh" ]; then +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 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." 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)" |