zshのコマンドの返り値をプロンプトに表示させる
code:__show_status.zsh
__show_status() {
local cmd_status="${pipestatus@}" local COLOR_SUCCESS="\033[1;32m"
local COLOR_FAILURE="\033[1;31m"
local COLOR_WARNING="\033[1;33m"
local COLOR_NORMAL="\033[0;39m"
local SETCOLOR="$COLOR_SUCCESS" # デフォルト値として成功色を設定
for s in ${cmd_status}; do
if ${s} -gt 100 ; then
SETCOLOR=$COLOR_FAILURE
elif ${s} -gt 0 ; then
SETCOLOR=$COLOR_WARNING
fi
done
# SETCOLOR変数を使用して色を設定し、その後にステータスを表示
echo -en "${SETCOLOR}"
echo "(rc->${cmd_status// /|})"
echo -en "${COLOR_NORMAL}"
}
# 重複を避けるために関数が既に precmd_functions に含まれているかチェック
if ! "${precmd_functions*}" =~ "__show_status" ; then precmd_functions+=("__show_status")
fi