summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/completion.zsh3
-rw-r--r--lib/key-bindings.zsh2
-rw-r--r--oh-my-zsh.sh19
-rw-r--r--plugins/brew/brew.plugin.zsh4
-rw-r--r--plugins/cpanm/cpanm.plugin.zsh4
-rw-r--r--plugins/deb/deb.plugin.zsh1
-rw-r--r--plugins/gem/gem.plugin.zsh4
-rw-r--r--plugins/github/github.plugin.zsh4
-rw-r--r--plugins/macports/macports.plugin.zsh4
-rw-r--r--plugins/npm/npm.plugin.zsh4
-rw-r--r--plugins/pip/pip.plugin.zsh4
-rw-r--r--plugins/redis-cli/redis-cli.plugin.zsh4
-rw-r--r--plugins/vagrant/vagrant.plugin.zsh3
-rw-r--r--themes/bira.zsh-theme2
-rw-r--r--themes/jonathan.zsh-theme137
15 files changed, 154 insertions, 45 deletions
diff --git a/lib/completion.zsh b/lib/completion.zsh
index 9c2dfecca..fdd0a8536 100644
--- a/lib/completion.zsh
+++ b/lib/completion.zsh
@@ -8,9 +8,6 @@ setopt always_to_end
WORDCHARS=''
-autoload -U compinit
-compinit -i
-
zmodload -i zsh/complist
## case-insensitive (all),partial-word and then substring completion
diff --git a/lib/key-bindings.zsh b/lib/key-bindings.zsh
index 7196a88ff..c7ad907d7 100644
--- a/lib/key-bindings.zsh
+++ b/lib/key-bindings.zsh
@@ -1,6 +1,4 @@
# TODO: Explain what some of this does..
-autoload -U compinit
-compinit -i
bindkey -e
bindkey '\ew' kill-region
diff --git a/oh-my-zsh.sh b/oh-my-zsh.sh
index 291772dfe..bf108afce 100644
--- a/oh-my-zsh.sh
+++ b/oh-my-zsh.sh
@@ -7,12 +7,23 @@ fpath=($ZSH/functions $fpath)
# TIP: Add files you don't want in git to .gitignore
for config_file ($ZSH/lib/*.zsh) source $config_file
-# Load all of your custom configurations from custom/
-for config_file ($ZSH/custom/*.zsh) source $config_file
+# Add all defined plugins to fpath
+plugin=${plugin:=()}
+for plugin ($plugins) fpath=($ZSH/plugins/$plugin $fpath)
+
+# Load and run compinit
+autoload -U compinit
+compinit -i
# Load all of the plugins that were defined in ~/.zshrc
-plugin=${plugin:=()}
-for plugin ($plugins) source $ZSH/plugins/$plugin/$plugin.plugin.zsh
+for plugin ($plugins); do
+ if [ -f $ZSH/plugins/$plugin/$plugin.plugin.zsh ]; then
+ source $ZSH/plugins/$plugin/$plugin.plugin.zsh
+ fi
+done
+
+# Load all of your custom configurations from custom/
+for config_file ($ZSH/custom/*.zsh) source $config_file
# Load the theme
source "$ZSH/themes/$ZSH_THEME.zsh-theme"
diff --git a/plugins/brew/brew.plugin.zsh b/plugins/brew/brew.plugin.zsh
deleted file mode 100644
index 353a18942..000000000
--- a/plugins/brew/brew.plugin.zsh
+++ /dev/null
@@ -1,4 +0,0 @@
-# add brew completion function to path
-fpath=($ZSH/plugins/brew $fpath)
-autoload -U compinit
-compinit -i
diff --git a/plugins/cpanm/cpanm.plugin.zsh b/plugins/cpanm/cpanm.plugin.zsh
deleted file mode 100644
index af52d3e8b..000000000
--- a/plugins/cpanm/cpanm.plugin.zsh
+++ /dev/null
@@ -1,4 +0,0 @@
-# add cpanm completion function to path
-fpath=($ZSH/plugins/cpanm $fpath)
-autoload -U compinit
-compinit -i
diff --git a/plugins/deb/deb.plugin.zsh b/plugins/deb/deb.plugin.zsh
index 732294a87..1b35a0646 100644
--- a/plugins/deb/deb.plugin.zsh
+++ b/plugins/deb/deb.plugin.zsh
@@ -9,4 +9,5 @@ alias ar="sudo apt-get remove --purge && \
sudo apt-get autoremove --purge" # remove package
alias ap="apt-cache policy" # apt policy
alias av="apt-cache show" # show package info
+alias acs="apt-cache search" # search package
alias ac="sudo apt-get clean && sudo apt-get autoclean" # clean apt cache
diff --git a/plugins/gem/gem.plugin.zsh b/plugins/gem/gem.plugin.zsh
deleted file mode 100644
index d4e5c6584..000000000
--- a/plugins/gem/gem.plugin.zsh
+++ /dev/null
@@ -1,4 +0,0 @@
-# add gem completion function to path
-fpath=($ZSH/plugins/gem $fpath)
-autoload -U compinit
-compinit -i
diff --git a/plugins/github/github.plugin.zsh b/plugins/github/github.plugin.zsh
index 8d4580654..df7053ba7 100644
--- a/plugins/github/github.plugin.zsh
+++ b/plugins/github/github.plugin.zsh
@@ -5,7 +5,3 @@ if [ "$commands[(I)hub]" ]; then
function git(){hub "$@"}
fi
-# add github completion function to path
-fpath=($ZSH/plugins/github $fpath)
-autoload -U compinit
-compinit -i
diff --git a/plugins/macports/macports.plugin.zsh b/plugins/macports/macports.plugin.zsh
index cbbc49265..277352e32 100644
--- a/plugins/macports/macports.plugin.zsh
+++ b/plugins/macports/macports.plugin.zsh
@@ -6,7 +6,3 @@ alias puni="sudo port uninstall inactive"
alias puo="sudo port upgrade outdated"
alias pup="psu && puo"
-# add macports completion function to path
-fpath=($ZSH/plugins/macports $fpath)
-autoload -U compinit
-compinit -i
diff --git a/plugins/npm/npm.plugin.zsh b/plugins/npm/npm.plugin.zsh
deleted file mode 100644
index 826f0f7b0..000000000
--- a/plugins/npm/npm.plugin.zsh
+++ /dev/null
@@ -1,4 +0,0 @@
-# add npm completion function to path
-fpath=($ZSH/plugins/npm $fpath)
-autoload -U compinit
-compinit -i
diff --git a/plugins/pip/pip.plugin.zsh b/plugins/pip/pip.plugin.zsh
deleted file mode 100644
index bf9f23968..000000000
--- a/plugins/pip/pip.plugin.zsh
+++ /dev/null
@@ -1,4 +0,0 @@
-# add brew completion function to path
-fpath=($ZSH/plugins/pip $fpath)
-autoload -U compinit
-compinit -i
diff --git a/plugins/redis-cli/redis-cli.plugin.zsh b/plugins/redis-cli/redis-cli.plugin.zsh
deleted file mode 100644
index af5a843c9..000000000
--- a/plugins/redis-cli/redis-cli.plugin.zsh
+++ /dev/null
@@ -1,4 +0,0 @@
-# add redis completion function to path
-fpath=($ZSH/plugins/redis-cli $fpath)
-autoload -U compinit
-compinit -i
diff --git a/plugins/vagrant/vagrant.plugin.zsh b/plugins/vagrant/vagrant.plugin.zsh
deleted file mode 100644
index 5e9bcf10a..000000000
--- a/plugins/vagrant/vagrant.plugin.zsh
+++ /dev/null
@@ -1,3 +0,0 @@
-fpath=($ZSH/plugins/vagrant $fpath)
-autoload -U compinit
-compinit -i
diff --git a/themes/bira.zsh-theme b/themes/bira.zsh-theme
index f0ee6a5bd..5642eaeb8 100644
--- a/themes/bira.zsh-theme
+++ b/themes/bira.zsh-theme
@@ -3,7 +3,7 @@ local return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})"
local user_host='%{$terminfo[bold]$fg[green]%}%n@%m%{$reset_color%}'
local current_dir='%{$terminfo[bold]$fg[blue]%} %~%{$reset_color%}'
-local rvm_ruby='%{$fg[red]%}‹$(~/.rvm/bin/rvm-prompt i v g)›%{$reset_color%}'
+local rvm_ruby='%{$fg[red]%}‹$(rvm-prompt i v g)›%{$reset_color%}'
local git_branch='$(git_prompt_info)%{$reset_color%}'
PROMPT="╭─${user_host} ${current_dir} ${rvm_ruby} ${git_branch}
diff --git a/themes/jonathan.zsh-theme b/themes/jonathan.zsh-theme
new file mode 100644
index 000000000..add485279
--- /dev/null
+++ b/themes/jonathan.zsh-theme
@@ -0,0 +1,137 @@
+function precmd {
+ local TERMWIDTH
+ (( TERMWIDTH = ${COLUMNS} - 1 ))
+
+
+ ###
+ # Truncate the path if it's too long.
+
+ PR_FILLBAR=""
+ PR_PWDLEN=""
+
+ local promptsize=${#${(%):---(%n@%m:%l)---()--}}
+ local rubyprompt=`rvm_prompt_info`
+ local rubypromptsize=${#${rubyprompt}}
+ local pwdsize=${#${(%):-%~}}
+
+ if [[ "$promptsize + $rubypromptsize + $pwdsize" -gt $TERMWIDTH ]]; then
+ ((PR_PWDLEN=$TERMWIDTH - $promptsize))
+ else
+ PR_FILLBAR="\${(l.(($TERMWIDTH - ($promptsize + $rubypromptsize + $pwdsize)))..${PR_HBAR}.)}"
+ fi
+
+}
+
+
+setopt extended_glob
+preexec () {
+ if [[ "$TERM" == "screen" ]]; then
+ local CMD=${1[(wr)^(*=*|sudo|-*)]}
+ echo -n "\ek$CMD\e\\"
+ fi
+}
+
+
+setprompt () {
+ ###
+ # Need this so the prompt will work.
+
+ setopt prompt_subst
+
+
+ ###
+ # See if we can use colors.
+
+ autoload colors zsh/terminfo
+ if [[ "$terminfo[colors]" -ge 8 ]]; then
+ colors
+ fi
+ for color in RED GREEN YELLOW BLUE MAGENTA CYAN WHITE GREY; do
+ eval PR_$color='%{$terminfo[bold]$fg[${(L)color}]%}'
+ eval PR_LIGHT_$color='%{$fg[${(L)color}]%}'
+ (( count = $count + 1 ))
+ done
+ PR_NO_COLOUR="%{$terminfo[sgr0]%}"
+
+ ###
+ # Modify Git prompt
+ ZSH_THEME_GIT_PROMPT_PREFIX=" on %{$fg[green]%}"
+ ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}"
+ ZSH_THEME_GIT_PROMPT_DIRTY=""
+ ZSH_THEME_GIT_PROMPT_CLEAN=""
+
+ ZSH_THEME_GIT_PROMPT_ADDED="%{$fg[green]%} ✚"
+ ZSH_THEME_GIT_PROMPT_MODIFIED="%{$fg[blue]%} ✹"
+ ZSH_THEME_GIT_PROMPT_DELETED="%{$fg[red]%} ✖"
+ ZSH_THEME_GIT_PROMPT_RENAMED="%{$fg[magenta]%} ➜"
+ ZSH_THEME_GIT_PROMPT_UNMERGED="%{$fg[yellow]%} ═"
+ ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[cyan]%} ✭"
+
+ ###
+ # See if we can use extended characters to look nicer.
+
+ typeset -A altchar
+ set -A altchar ${(s..)terminfo[acsc]}
+ PR_SET_CHARSET="%{$terminfo[enacs]%}"
+ PR_SHIFT_IN="%{$terminfo[smacs]%}"
+ PR_SHIFT_OUT="%{$terminfo[rmacs]%}"
+ PR_HBAR=${altchar[q]:--}
+ PR_ULCORNER=${altchar[l]:--}
+ PR_LLCORNER=${altchar[m]:--}
+ PR_LRCORNER=${altchar[j]:--}
+ PR_URCORNER=${altchar[k]:--}
+
+
+ ###
+ # Decide if we need to set titlebar text.
+
+ case $TERM in
+ xterm*)
+ PR_TITLEBAR=$'%{\e]0;%(!.-=*[ROOT]*=- | .)%n@%m:%~ | ${COLUMNS}x${LINES} | %y\a%}'
+ ;;
+ screen)
+ PR_TITLEBAR=$'%{\e_screen \005 (\005t) | %(!.-=[ROOT]=- | .)%n@%m:%~ | ${COLUMNS}x${LINES} | %y\e\\%}'
+ ;;
+ *)
+ PR_TITLEBAR=''
+ ;;
+ esac
+
+
+ ###
+ # Decide whether to set a screen title
+ if [[ "$TERM" == "screen" ]]; then
+ PR_STITLE=$'%{\ekzsh\e\\%}'
+ else
+ PR_STITLE=''
+ fi
+
+
+ ###
+ # Finally, the prompt.
+
+ PROMPT='$PR_SET_CHARSET$PR_STITLE${(e)PR_TITLEBAR}\
+$PR_CYAN$PR_SHIFT_IN$PR_ULCORNER$PR_HBAR$PR_SHIFT_OUT$PR_GREY(\
+$PR_GREEN%$PR_PWDLEN<...<%~%<<\
+$PR_GREY)`rvm_prompt_info`$PR_CYAN$PR_SHIFT_IN$PR_HBAR$PR_HBAR${(e)PR_FILLBAR}$PR_HBAR$PR_SHIFT_OUT$PR_GREY(\
+$PR_CYAN%(!.%SROOT%s.%n)$PR_GREY@$PR_GREEN%m:%l\
+$PR_GREY)$PR_CYAN$PR_SHIFT_IN$PR_HBAR$PR_URCORNER$PR_SHIFT_OUT\
+
+$PR_CYAN$PR_SHIFT_IN$PR_LLCORNER$PR_BLUE$PR_HBAR$PR_SHIFT_OUT(\
+$PR_YELLOW%D{%H:%M:%S}\
+$PR_LIGHT_BLUE%{$reset_color%}`git_prompt_info``git_prompt_status`$PR_BLUE)$PR_CYAN$PR_SHIFT_IN$PR_HBAR\
+$PR_SHIFT_IN$PR_HBAR$PR_SHIFT_OUT\
+>$PR_NO_COLOUR '
+
+ # display exitcode on the right when >0
+ return_code="%(?..%{$fg[red]%}%? ↵ %{$reset_color%})"
+ RPROMPT=' $return_code$PR_CYAN$PR_SHIFT_IN$PR_HBAR$PR_BLUE$PR_HBAR$PR_SHIFT_OUT\
+($PR_YELLOW%D{%a,%b%d}$PR_BLUE)$PR_SHIFT_IN$PR_HBAR$PR_CYAN$PR_LRCORNER$PR_SHIFT_OUT$PR_NO_COLOUR'
+
+ PS2='$PR_CYAN$PR_SHIFT_IN$PR_HBAR$PR_SHIFT_OUT\
+$PR_BLUE$PR_SHIFT_IN$PR_HBAR$PR_SHIFT_OUT(\
+$PR_LIGHT_GREEN%_$PR_BLUE)$PR_SHIFT_IN$PR_HBAR$PR_SHIFT_OUT\
+$PR_CYAN$PR_SHIFT_IN$PR_HBAR$PR_SHIFT_OUT$PR_NO_COLOUR '
+}
+
+setprompt