mirror of
https://github.com/fish-shell/fish-shell
synced 2024-12-28 22:03:12 +00:00
6c80a3461c
Currently fish doesn't recognize toor as special. However, it's likely that on BSD systems, fish shell will be used on toor, not on root (toor is an intentionally existing account to use more advanced shell on, like shell).
47 lines
1.5 KiB
Fish
47 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 toor
|
|
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
|