new prompt
This commit is contained in:
@@ -1,13 +1,38 @@
|
||||
pmodload 'helper'
|
||||
|
||||
# %F{color}...%f -- foreground colors
|
||||
# %B...%b -- bold
|
||||
# %(x.a.b) -- if
|
||||
|
||||
# color chart: https://upload.wikimedia.org/wikipedia/en/1/15/Xterm_256color_chart.svg
|
||||
COLOR_PWD='141'
|
||||
COLOR_PWD_ROOT='201'
|
||||
COLOR_PROMPT_STARTER='85'
|
||||
COLOR_TIME='244'
|
||||
COLOR_USERNAME='34'
|
||||
COLOR_AT='244'
|
||||
COLOR_HOSTNAME='162'
|
||||
|
||||
NEWLINE=$'\n'
|
||||
|
||||
function prompt_abra_precmd {
|
||||
setopt LOCAL_OPTIONS
|
||||
unsetopt XTRACE KSH_ARRAYS
|
||||
|
||||
# Get Git repository information.
|
||||
if (( $+functions[git-info] )); then
|
||||
if [[ -z $NOGIT ]] && (( $+functions[git-info] )); then
|
||||
git-info on
|
||||
git-info
|
||||
else
|
||||
git-info off
|
||||
fi
|
||||
|
||||
PRE_LENGTH=$(($COLUMNS*2/3))
|
||||
|
||||
PRE='%$PRE_LENGTH<...<%~ %<<'
|
||||
PRE=$(print -P $PRE)
|
||||
PRE=$(print ${(l:$COLUMNS:)PRE})
|
||||
print -P '%(!.%F{$COLOR_PWD_ROOT}.%F{$COLOR_PWD})$PRE%f'
|
||||
}
|
||||
|
||||
function prompt_abra_setup {
|
||||
@@ -21,10 +46,6 @@ function prompt_abra_setup {
|
||||
# Add hook for calling git-info before each command.
|
||||
add-zsh-hook precmd prompt_abra_precmd
|
||||
|
||||
# Set editor-info parameters.
|
||||
zstyle ':prezto:module:editor:info:completing' format '%B%F{red}......%f%b'
|
||||
zstyle ':prezto:module:editor:info:keymap:primary' format ' %B%(?:%F{green}➤%f:%F{red}➤%f)%b'
|
||||
|
||||
# Set git-info parameters.
|
||||
zstyle ':prezto:module:git:info' verbose 'yes'
|
||||
zstyle ':prezto:module:git:info:action' format ':%%B%F{yellow}%s%f%%b'
|
||||
@@ -41,12 +62,22 @@ function prompt_abra_setup {
|
||||
zstyle ':prezto:module:git:info:unmerged' format ' %%B%F{yellow}═%f%%b'
|
||||
zstyle ':prezto:module:git:info:untracked' format ' %%B%F{white}◼%f%%b'
|
||||
zstyle ':prezto:module:git:info:keys' format \
|
||||
'prompt' ' $(coalesce "%b" "%p" "%c")%s' \
|
||||
'prompt' '%b ' \
|
||||
'rprompt' '%A%B%S%a%d%m%r%U%u'
|
||||
|
||||
|
||||
PROMPT='%F{cyan}%3~%f${git_info:+${(e)git_info[prompt]}}%(!. %B%F{red}#%f%b.)${editor_info[keymap]} '
|
||||
RPROMPT='%(?::%F{red}%?%f )%B%F{green}%n@%2m%f%b${git_info[rprompt]} %F{blue}%*%f'
|
||||
|
||||
PROMPT=''
|
||||
PROMPT=$PROMPT'${git_info:+${(e)git_info[prompt]}}'
|
||||
PROMPT=$PROMPT'%(?.%F{$COLOR_PROMPT_STARTER}.%F{red})➤ %f'
|
||||
|
||||
RPROMPT=''
|
||||
RPROMPT=$RPROMPT'%(?::%F{red}%?%f )' # last command code if nonzero
|
||||
RPROMPT=$RPROMPT'%B%F{$COLOR_USERNAME}%n%f%b'
|
||||
RPROMPT=$RPROMPT'%B%F{$COLOR_AT}@%f%b'
|
||||
RPROMPT=$RPROMPT'%B%F{$COLOR_HOSTNAME}%2m%f%b'
|
||||
RPROMPT=$RPROMPT'${git_info[rprompt]} '
|
||||
RPROMPT=$RPROMPT'%F{$COLOR_TIME}%*%f'
|
||||
}
|
||||
|
||||
prompt_abra_setup "$@"
|
||||
|
Reference in New Issue
Block a user