Switch from oh-my-zsh to zplug

This commit is contained in:
2016-04-03 15:21:55 +01:00
parent a11830872a
commit 9b549a09a5
11 changed files with 76 additions and 155 deletions

3
.gitmodules vendored
View File

@@ -25,3 +25,6 @@
[submodule "shell/enhancd"]
path = shell/enhancd
url = https://github.com/b4b4r07/enhancd
[submodule "shell/zsh/zplug"]
path = shell/zsh/zplug
url = https://github.com/b4b4r07/zplug

View File

@@ -15,7 +15,7 @@ path_prepend "/usr/local/bin"
if [ -n "$BASH_VERSION" ]; then
source "$DOTSHELL/bashrc.sh"
elif [ -n "$ZSH_VERSION" ]; then
source "$DOTSHELL/zshrc.sh"
source "$DOTSHELL/zshrc.zsh"
fi
# Package management

View File

@@ -1,19 +0,0 @@
# History search with peco
#
# Search shell history with peco: https://github.com/peco/peco
# Adapted from: https://github.com/mooz/percol#zsh-history-search
if which peco &> /dev/null; then
function peco_select_history() {
local tac
(which gtac &> /dev/null && tac="gtac") || \
(which tac &> /dev/null && tac="tac") || \
tac="tail -r"
BUFFER=$(fc -l -n 1 | eval $tac | \
peco --layout=bottom-up --query "$LBUFFER")
CURSOR=$#BUFFER # move cursor
zle -R -c # refresh
}
zle -N peco_select_history
bindkey '^R' peco_select_history
fi

View File

@@ -1,50 +0,0 @@
# A script to make using 256 colors in zsh less painful.
# P.C. Shyamshankar <sykora@lucentbeing.com>
# https://github.com/sykora/etc/blob/master/zsh/functions/spectrum/
typeset -Ag FX FG BG
FX=(
reset ""
bold "" no-bold ""
italic "" no-italic ""
underline "" no-underline ""
blink "" no-blink ""
reverse "" no-reverse ""
)
for color in {000..255}; do
FG[$color]="[38;5;${color}m"
BG[$color]="[48;5;${color}m"
done
#
# Powerline-Arrow theme
#
PROMPT='%n@%m %{$FG[000]%}%{$BG[235]%}⮀%{$reset_color%}%{$BG[235]%} %~ $(check_git_prompt_info)%{$reset_color%} $ '
local return_code="%(?..%{$fg[cyan]%}%? ↵%{$reset_color%})"
RPROMPT="${return_code}"
ZSH_THEME_GIT_PROMPT_PREFIX="%{$FG[236]%}%{$BG[237]%}⮀ %{$FG[014]%}"
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}%{$FG[238]%}⮀%{$reset_color%}"
ZSH_THEME_GIT_PROMPT_DIRTY="%{$FG[001]%}*%{$reset_color%}"
ZSH_THEME_GIT_PROMPT_CLEAN=" "
# Git sometimes goes into a detached head state. git_prompt_info doesn't
# return anything in this case. So wrap it in another function and check
# for an empty string. -- Brorrowed from Soliah.zsh-theme :)
function check_git_prompt_info() {
if git rev-parse --git-dir > /dev/null 2>&1; then
if [[ -z $(git_prompt_info) ]]; then
echo "%{$fg[cyan]%}(detached%{$fg[magenta]%}*%{$fg[cyan]%})%{$reset_color%}"
else
echo "$(git_prompt_info)"
fi
else
echo "%{$reset_color%}%{$FG[236]%}⮀"
fi
}

View File

View File

@@ -3,7 +3,7 @@ PROMPT='%n@%m %~$(check_git_prompt_info)$ %{$reset_color%}'
local return_code="%(?..%{$fg[cyan]%}%? ↵%{$reset_color%})"
RPROMPT="${return_code}"
ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[cyan]%}("
ZSH_THEME_GIT_PROMPT_PREFIX=" %{$fg[cyan]%}("
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}"
ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[red]%}*%{$fg[cyan]%})%{$reset_color%}"
ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[cyan]%})%{$fg[blue]%}"
@@ -15,9 +15,9 @@ ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[cyan]%})%{$fg[blue]%}"
function check_git_prompt_info() {
if git rev-parse --git-dir > /dev/null 2>&1; then
if [[ -z $(git_prompt_info) ]]; then
echo " %{$fg[cyan]%}(detached%{$fg[magenta]%}*%{$fg[cyan]%})%{$reset_color%}"
echo "%{$fg[cyan]%}(detached%{$fg[magenta]%}*%{$fg[cyan]%})%{$reset_color%}"
else
echo " $(git_prompt_info)"
echo "$(git_prompt_info)"
fi
fi
}

1
shell/zsh/zplug Submodule

Submodule shell/zsh/zplug added at 78cfe440ec

3
shell/zsh/zplug-cache/.gitignore vendored Normal file
View File

@@ -0,0 +1,3 @@
.cache
repos/*
zcompdump

View File

View File

@@ -1,82 +0,0 @@
#
# Z-Shell Init
#
# Export path variables
DOTZSH="$DOTSHELL/zsh"
# Path to your oh-my-zsh configuration.
ZSH="$DOTZSH/oh-my-zsh"
# Customize oh-my-zsh's custom path.
ZSH_CUSTOM="$DOTZSH/custom"
# Set name of the theme to load.
# Look in ~/.oh-my-zsh/themes/
# Optionally, if you set this to "random", it'll load a random theme each
# time that oh-my-zsh is loaded.
ZSH_THEME="plain"
# Set to this to use case-sensitive completion
# CASE_SENSITIVE="true"
# Comment this out to disable weekly auto-update checks
DISABLE_AUTO_UPDATE="true"
# Uncomment following line if you want to disable colors in ls
# DISABLE_LS_COLORS="true"
# Uncomment following line if you want to disable autosetting terminal title.
DISABLE_AUTO_TITLE="true"
# Uncomment following line if you want red dots to be displayed while waiting for completion
# COMPLETION_WAITING_DOTS="true"
# Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*)
# Example format: plugins=(rails git textmate ruby lighthouse)
plugins=( \
brew \
bundler \
cake \
cap \
gem \
heroku \
node \
nyan \
osx \
peco-history \
powder \
python \
ruby \
thor \
vagrant \
zsh-autosuggestions \
zsh-syntax-highlighting \
)
source "$ZSH/oh-my-zsh.sh"
# Customize to your needs...
# Enable bash-style completion
autoload -U bashcompinit
bashcompinit
# Disable shared history
unsetopt share_history
# Disable attempted correction of commands (is wrong 98% of the time).
unsetopt correctall
# Disable certain bundled ruby binaries, I install the gems globally.
unalias shotgun
# Cause I hit emacs shorts too much
bindkey -s "\C-x\C-f" "cd "
# Configure zsh-syntax-highlighting
ZSH_HIGHLIGHT_HIGHLIGHTERS=(main brackets)
# use ctrl+t to toggle autosuggestions(hopefully this wont be needed as
# zsh-autosuggestions is designed to be unobtrusive)
bindkey '^T' autosuggest-toggle

65
shell/zshrc.zsh Normal file
View File

@@ -0,0 +1,65 @@
#
# Z-Shell Init
#
# Basic stuff.
DISABLE_AUTO_TITLE="true"
# Export path variables.
DOTZSH="$DOTSHELL/zsh"
ZPLUG_HOME="$DOTZSH/zplug-cache"
# Don't wrap these commands in a Bundler wrapper.
UNBUNDLED_COMMANDS=(shotgun)
# Enable bash-style completion.
autoload -U bashcompinit
bashcompinit
# Disable shared history.
unsetopt share_history
# Disable attempted correction of commands (is wrong 98% of the time).
unsetopt correctall
# Cause I hit emacs shorts too much.
bindkey -s "\C-x\C-f" "cd "
# use ctrl+t to toggle autosuggestions(hopefully this wont be needed as
# zsh-autosuggestions is designed to be unobtrusive).
bindkey '^T' autosuggest-toggle
#
# zplug
#
source "$DOTZSH/zplug/zplug"
alias zp="zplug"
zplug "plugins/brew", from:oh-my-zsh
zplug "plugins/bundler", from:oh-my-zsh
zplug "plugins/git", from:oh-my-zsh
zplug "plugins/powder", from:oh-my-zsh
zplug "$DOTZSH/themes/plain", from:local
zplug "jimeh/zsh-peco-history"
zplug "zsh-users/zsh-completions"
zplug "zsh-users/zsh-autosuggestions"
zplug "zsh-users/zsh-syntax-highlighting", nice:19
# Install plugins if there are plugins that have not been installed
if ! zplug check --verbose; then
printf "Install? [y/N]: "
if read -q; then
echo
zplug install
fi
fi
zplug load
# Configure zsh-syntax-highlighting
if zplug check zsh-users/zsh-syntax-highlighting; then
export ZSH_HIGHLIGHT_HIGHLIGHTERS=(main brackets)
fi