helm/zsh/prompt

80 lines
1.6 KiB
Plaintext
Raw Normal View History

2013-08-03 13:01:14 -07:00
# GIT Stuff
ZSH_THEME_GIT_PROMPT_PREFIX=" %{$fg[white]%}"
ZSH_THEME_GIT_PROMPT_SUFFIX=""
ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[red]%}+%{$fg[white]%}"
# ZSH_THEME_GIT_PROMPT_CLEAN=""
##################
# Build Prompt #
##################
prompt_pwd() {
2013-03-16 11:29:30 -07:00
SHORTPWD=`print -Pn "%4~"`
2013-07-27 21:17:25 -07:00
if [[ -n "${ZSH_VERSION:-}" ]]
then _pwd="${SHORTPWD[0,1]}"
else _pwd="${SHORTPWD:0:1}"
fi
[[ $_pwd =~ "[^/~]" ]] && SHORTPWD=".../$SHORTPWD"
echo -n $SHORTPWD
}
2013-03-16 11:29:30 -07:00
prompt_git() {
if [ "`git_prompt_info`" ]; then
echo -n "$(git_prompt_info)"
fi
2013-03-16 11:29:30 -07:00
}
2013-08-02 12:37:20 -07:00
prompt_vimode() {
2013-08-03 13:01:14 -07:00
# The prompt turns green in command mode, and red in insert mode
MODE_INDICATOR=" %{$fg[green]%}\$ "
2013-08-03 13:01:14 -07:00
MODE_PROMPT="${${KEYMAP/vicmd/$MODE_INDICATOR}/(main|viins)/}"
if [ $MODE_PROMPT ]; then
echo -n $MODE_PROMPT
else
echo -n " \$ "
fi
2013-08-02 12:37:20 -07:00
}
2013-08-03 13:01:14 -07:00
# prompts
lprompt() {
# Start each prompt with a newline
echo
# Then the timestamp
2013-07-27 20:11:52 -07:00
echo -n "%{$FG[242]%}"
2013-07-31 09:10:17 -07:00
echo -n '$(date "+%H:%M:%S")'
2013-07-27 20:11:52 -07:00
echo -n "%{$FG[white]%}"
# Show the hostname if this is an SSH session
if [[ -n $SSH_CLIENT ]]; then
2013-07-27 21:17:25 -07:00
echo -n "%{$fg[blue]%}"
echo -n " $(hostname)"
fi
# The prompt
2013-07-27 20:11:52 -07:00
echo -n "%{$fg[red]%}"
echo -n "%{$FX[bold]%}"
echo -n '$(prompt_vimode)'
echo -n "%{$reset_color%}"
}
rprompt() {
# Make the rprompt a bright grey to set it apart
echo -n "%{$FG[245]%}"
echo -n '$(prompt_pwd)'
# Show the branch/status if in a git repo
echo -n '$(prompt_git)'
# Reset formatting for command output
echo -n "%{$reset_color%}"
}
2013-08-03 13:01:14 -07:00
PROMPT="$(lprompt)"
RPROMPT="$(rprompt)"
2013-03-22 18:10:59 -07:00
# vim:set ft=zsh: