101 lines
3 KiB
Bash
101 lines
3 KiB
Bash
#
|
|
# A [powerline](https://github.com/Lokaltog/vim-powerline) theme for prezto,
|
|
# based on the [oh-my-zsh-powerline-theme](https://github.com/jeremyFreeAgent/oh-my-zsh-powerline-theme)
|
|
#
|
|
# Author:
|
|
# lepht <pete.clark@gmail.com>
|
|
#
|
|
# Screenshots:
|
|
# http://i.imgur.com/Z6XIuT9.png
|
|
|
|
git_prompt_info () {
|
|
ref=$(git symbolic-ref HEAD 2> /dev/null) || ref=$(git rev-parse --short HEAD 2> /dev/null) || return
|
|
echo "$ZSH_THEME_GIT_PROMPT_PREFIX${ref#refs/heads/}$(parse_git_dirty)$ZSH_THEME_GIT_PROMPT_SUFFIX"
|
|
}
|
|
|
|
parse_git_dirty () {
|
|
local SUBMODULE_SYNTAX=''
|
|
if [[ "$(git config --get oh-my-zsh.hide-status)" != "1" ]]
|
|
then
|
|
if [[ $POST_1_7_2_GIT -gt 0 ]]
|
|
then
|
|
SUBMODULE_SYNTAX="--ignore-submodules=dirty"
|
|
fi
|
|
if [[ -n $(git status -s ${SUBMODULE_SYNTAX} 2> /dev/null) ]]
|
|
then
|
|
echo "$ZSH_THEME_GIT_PROMPT_DIRTY"
|
|
else
|
|
echo "$ZSH_THEME_GIT_PROMPT_CLEAN"
|
|
fi
|
|
fi
|
|
}
|
|
|
|
function prompt_powerline_setup {
|
|
# FreeAgent puts the powerline style in zsh !
|
|
|
|
if [ "$POWERLINE_RIGHT_B" = "" ]; then
|
|
POWERLINE_RIGHT_B=%D{%H:%M:%S}
|
|
fi
|
|
|
|
if [ "$POWERLINE_RIGHT_A" = "" ]; then
|
|
POWERLINE_RIGHT_A=%D{%Y-%m-%d}
|
|
fi
|
|
|
|
POWERLINE_CURRENT_PATH="%d"
|
|
|
|
if [ "$POWERLINE_FULL_CURRENT_PATH" = "" ]; then
|
|
POWERLINE_CURRENT_PATH="%1~"
|
|
fi
|
|
|
|
POWERLINE_GIT_INFO_LEFT=""
|
|
POWERLINE_GIT_INFO_RIGHT="%F{red}"$'\u2b82'"%F{black}%K{red}"$'$(git_prompt_info)'" %f"
|
|
if [ "$POWERLINE_SHOW_GIT_ON_RIGHT" = "" ]; then
|
|
POWERLINE_GIT_INFO_LEFT=$'$(git_prompt_info)'
|
|
POWERLINE_GIT_INFO_RIGHT=""
|
|
fi
|
|
|
|
POWERLINE_COLOR_BG_GRAY=%K{240}
|
|
POWERLINE_COLOR_BG_LIGHT_GRAY=%K{240}
|
|
POWERLINE_COLOR_BG_WHITE=%K{255}
|
|
|
|
POWERLINE_COLOR_FG_GRAY=%F{240}
|
|
POWERLINE_COLOR_FG_LIGHT_GRAY=%F{240}
|
|
POWERLINE_COLOR_FG_WHITE=%F{255}
|
|
|
|
GIT_DIRTY_COLOR=%F{133}
|
|
GIT_CLEAN_COLOR=%F{118}
|
|
GIT_PROMPT_INFO=%F{012}
|
|
|
|
ZSH_THEME_GIT_PROMPT_PREFIX=" \u2b60 "
|
|
ZSH_THEME_GIT_PROMPT_SUFFIX="$GIT_PROMPT_INFO"
|
|
ZSH_THEME_GIT_PROMPT_DIRTY=" $GIT_DIRTY_COLOR✘"
|
|
ZSH_THEME_GIT_PROMPT_CLEAN=" $GIT_CLEAN_COLOR✔"
|
|
|
|
ZSH_THEME_GIT_PROMPT_ADDED="%F{082}✚%f"
|
|
ZSH_THEME_GIT_PROMPT_MODIFIED="%F{166}✹%f"
|
|
ZSH_THEME_GIT_PROMPT_DELETED="%F{160}✖%f"
|
|
ZSH_THEME_GIT_PROMPT_RENAMED="%F{220]➜%f"
|
|
ZSH_THEME_GIT_PROMPT_UNMERGED="%F{082]═%f"
|
|
ZSH_THEME_GIT_PROMPT_UNTRACKED="%F{190]✭%f"
|
|
|
|
POWERLINE_SEC1_BG=%K{green}
|
|
POWERLINE_SEC1_FG=%F{green}
|
|
POWERLINE_SEC1_TXT=%F{black}
|
|
if [ "$POWERLINE_DETECT_SSH" != "" ]; then
|
|
if [ -n "$SSH_CLIENT" ]; then
|
|
POWERLINE_SEC1_BG=%K{red}
|
|
POWERLINE_SEC1_FG=%F{red}
|
|
POWERLINE_SEC1_TXT=%F{white}
|
|
fi
|
|
fi
|
|
PROMPT="$POWERLINE_SEC1_BG$POWERLINE_SEC1_TXT %n %k%f$POWERLINE_SEC1_FG%K{blue}"$'\u2b80'"%k%f%F{white}%K{blue} "$POWERLINE_CURRENT_PATH" "$POWERLINE_GIT_INFO_LEFT"%k%f%F{blue}"$'\u2b80'"%f "
|
|
|
|
if [ "$POWERLINE_NO_BLANK_LINE" = "" ]; then
|
|
PROMPT="
|
|
"$PROMPT
|
|
fi
|
|
|
|
RPROMPT=$POWERLINE_GIT_INFO_RIGHT$POWERLINE_COLOR_FG_WHITE$'\u2b82'"%f$POWERLINE_COLOR_BG_WHITE $POWERLINE_COLOR_FG_GRAY$POWERLINE_RIGHT_B "$'\u2b82'"%f%k$POWERLINE_COLOR_BG_GRAY$POWERLINE_COLOR_FG_WHITE $POWERLINE_RIGHT_A %f%k"
|
|
}
|
|
|
|
# vim:ft=zsh
|