Initial prompt
parent
023782dcb3
commit
b44b795809
61
.zshrc
61
.zshrc
|
@ -27,23 +27,70 @@ autoload -U compinit; compinit
|
||||||
autoload -U +X bashcompinit && bashcompinit
|
autoload -U +X bashcompinit && bashcompinit
|
||||||
zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}
|
zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}
|
||||||
|
|
||||||
|
# prompt: vcs
|
||||||
autoload -Uz vcs_info
|
autoload -Uz vcs_info
|
||||||
precmd_vcs_info() { vcs_info }
|
precmd_vcs_info() { vcs_info }
|
||||||
precmd_functions+=( precmd_vcs_info )
|
|
||||||
setopt prompt_subst
|
setopt prompt_subst
|
||||||
zstyle ':vcs_info:git:*' formats ' %b '
|
zstyle ':vcs_info:git:*' formats ' %b '
|
||||||
zstyle ':vcs_info:*' enable git
|
zstyle ':vcs_info:*' enable git
|
||||||
PROMPT_HISTORY=$'%F{10}%{\e[3m%} %h %{\e[0m%}%f'
|
# prompt: return code
|
||||||
|
format_return_code() {
|
||||||
|
return_code_=$1
|
||||||
|
if [[ $1 -gt 128 ]]; then
|
||||||
|
return_code_=SIG$(kill -l $1)
|
||||||
|
fi
|
||||||
|
case $1 in
|
||||||
|
127) return_code_="not found";;
|
||||||
|
126) return_code_="not exec";;
|
||||||
|
1) return_code_="err";;
|
||||||
|
esac
|
||||||
|
echo -n $return_code_
|
||||||
|
}
|
||||||
|
format_return_code_prev() {
|
||||||
|
if [[ $1 == 0 ]]; then
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
text=" $(format_return_code $1) "
|
||||||
|
text_length=${#text}
|
||||||
|
width=$(tput cols)
|
||||||
|
start=$(( $width - $text_length ))
|
||||||
|
|
||||||
|
echo -n $'\e[F\e['
|
||||||
|
echo -n $start
|
||||||
|
echo -n $'G\e[37m\e[41m'
|
||||||
|
echo -n "$text"
|
||||||
|
echo -n $'\e[0m\e[E'
|
||||||
|
}
|
||||||
|
precmd_return_code() {
|
||||||
|
format_return_code_prev $?
|
||||||
|
}
|
||||||
|
# prompt: vi mode
|
||||||
|
typeset -g zle_vi_mode_=
|
||||||
|
zle-line-init zle-keymap-select() {
|
||||||
|
case "$KEYMAP" in
|
||||||
|
vicmd) zle_vi_mode_=$'%K{9} N %k';;
|
||||||
|
viins|main) zle_vi_mode_=$'%K{2} I %k';;
|
||||||
|
*) zle_vi_mode_=no;;
|
||||||
|
esac
|
||||||
|
zle reset-prompt
|
||||||
|
}
|
||||||
|
zle -N zle-line-init
|
||||||
|
zle -N zle-keymap-select
|
||||||
|
# prompt: parts
|
||||||
|
precmd_functions+=( precmd_return_code precmd_vcs_info )
|
||||||
PROMPT_USER_MACHINE=$''
|
PROMPT_USER_MACHINE=$''
|
||||||
if [[ ! -z "$SSH_CLIENT" ]]; then
|
if [[ ! -z "$SSH_CLIENT" ]]; then
|
||||||
PROMPT_USER_MACHINE=$'@%m'
|
PROMPT_USER_MACHINE=$'@%m'
|
||||||
fi
|
fi
|
||||||
PROMPT_USER=$'%F{white}%{\e[3m%}%(!.%K{9}.%K{4}) %n'"$PROMPT_USER_MACHINE"$' %k%{\e[0m%}%f'
|
PROMPT_USER=$'%F{15}%{\e[3m%}%(!.%K{9}.%K{4}) %n'"$PROMPT_USER_MACHINE"$' %k%{\e[0m%}%f'
|
||||||
RPROMPT="$PROMPT_HISTORY$PROMPT_USER"
|
PROMPT_HISTORY=$'%F{11}%{\e[3m%} %h %{\e[0m%}%f'
|
||||||
PROMPT_ERROR=$'%F{white}%{\e[3m%}%(?.%K{2} .%K{9} %? )%k%{\e[0m%}%f'
|
PROMPT_ERROR=$'%F{15}%{\e[3m%}%(?.%K{2}.%K{1} $(format_return_code $?) )%k%{\e[0m%}%f'
|
||||||
|
PROMPT_ERROR_PREV=$'$(format_return_code_prev $?)'
|
||||||
PROMPT_VCS=$'%B%K{8}$vcs_info_msg_0_%k%b'
|
PROMPT_VCS=$'%B%K{8}$vcs_info_msg_0_%k%b'
|
||||||
PROMPT_DIRECTORY=$'%K{black} %2~ %k'
|
PROMPT_DIRECTORY=$'%K{black} %2~ %k'
|
||||||
PROMPT="$PROMPT_ERROR$PROMPT_VCS$PROMPT_DIRECTORY "
|
PROMPT_VI=$'%F{15}%{\e[3m%}$zle_vi_mode_%{\e[0m%}%f'
|
||||||
|
RPROMPT="$PROMPT_HISTORY$PROMPT_USER"
|
||||||
|
PROMPT="$PROMPT_VI$PROMPT_VCS$PROMPT_DIRECTORY "
|
||||||
|
|
||||||
AUTOSUGGESTIONS="/usr/local/share/zsh-autosuggestions/zsh-autosuggestions.zsh"
|
AUTOSUGGESTIONS="/usr/local/share/zsh-autosuggestions/zsh-autosuggestions.zsh"
|
||||||
if [[ -f "$AUTOSUGGESTIONS" ]]; then
|
if [[ -f "$AUTOSUGGESTIONS" ]]; then
|
||||||
|
@ -77,7 +124,7 @@ if [[ -f "$(which cargo 2>/dev/null)" ]]; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ -f "$(which mc 2>/dev/null)" ]]; then
|
if [[ -f "$(which mc 2>/dev/null)" ]]; then
|
||||||
complete -o nospace -C /usr/local/bin/mc mc
|
complete -o nospace -C mc mc
|
||||||
fi
|
fi
|
||||||
if [[ -f "$(which kubectl 2>/dev/null)" ]]; then
|
if [[ -f "$(which kubectl 2>/dev/null)" ]]; then
|
||||||
source <(kubectl completion zsh)
|
source <(kubectl completion zsh)
|
||||||
|
|
Loading…
Reference in New Issue