fish-shell/share/tools/web_config/sample_prompts/classic_status.fish
2012-09-06 01:30:26 -07:00

48 lines
1.5 KiB
Fish

# name: Classic + Status
# author: David Frascone
function fish_prompt --description 'Write out the prompt'
# Save our status
set -l last_status $status
set -l last_status_string ""
if [ $last_status -ne 0 ]
printf "%s(%d)%s " (set_color red --bold) $last_status (set_color normal)
end
# Just calculate these once, to save a few cycles when displaying the prompt
if not set -q __fish_prompt_hostname
set -g __fish_prompt_hostname (hostname|cut -d . -f 1)
end
if not set -q __fish_prompt_normal
set -g __fish_prompt_normal (set_color normal)
end
set -l user_prompt '>'
switch $USER
# Set our root colors, if we're root :)
case root
set user_prompt '#'
if not set -q __fish_prompt_cwd
if set -q fish_color_cwd_root
set -g __fish_prompt_cwd (set_color $fish_color_cwd_root)
else
set -g __fish_prompt_cwd (set_color $fish_color_cwd)
end
end
case '*'
if not set -q __fish_prompt_cwd
set -g __fish_prompt_cwd (set_color $fish_color_cwd)
end
end
#printf '%s@%s %s%s%s# ' $USER $__fish_prompt_hostname "$__fish_prompt_cwd" (prompt_pwd) "$__fish_prompt_normal"
#printf "LAST STATUS STRING: $last_status_string \n"
printf '%s@%s %s%s%s%s%s ' $USER $__fish_prompt_hostname "$__fish_prompt_cwd" (prompt_pwd) "$__fish_prompt_normal" $user_prompt
end
function fish_title
echo $_ ' ' (prompt_pwd)
end