zshのプロンプトをかわいくした
zshのプロンプトがパスとかホスト名だけだと寂しかったので、色や顔を表示するようにした 見た目
https://gyazo.com/e503b0259d7551027fd214bf098b55e2
直前のコマンドの終了コードを判定して、表情と色を切り替えるようにしてみた
設定
code:zsh
#
autoload -Uz vcs_info
setopt prompt_subst
zstyle ':vcs_info:git:*' check-for-changes true
zstyle ':vcs_info:git:*' stagedstr "%F{yellow}!"
zstyle ':vcs_info:git:*' unstagedstr "%F{red}+"
zstyle ':vcs_info:*' formats "%F{green}%c%u%b%f" zstyle ':vcs_info:*' actionformats '%b|%a' precmd () { vcs_info }
status_code () {
local ok="(*'-'%)!"
local ng="(;^q^%)?"
local color face reset
face="%(?.$ok.$ng)"
reset="%{$reset_color%}"
echo "$color$face$reset"
}
# %F{色} 任意のテキスト %fで、%fまで色を変更できる
PROMPT='%F{003}%*%f %F{magenta}%n%f@%F{blue}%M%f %F{200}%~%f${vcs_info_msg_0_} status_code < %# '
show_zsh_prompt_colors() {
for c in {000..255}; do echo -n "\e[38;5;${c}m $c" ; $(($c%16)) -eq 15 && echo;done;echo }