44 lines
1.3 KiB
Fish
44 lines
1.3 KiB
Fish
function fish_prompt --description 'Write out the prompt'
|
|
|
|
# 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
|
|
|
|
switch $USER
|
|
|
|
case root
|
|
|
|
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
|
|
|
|
echo -n -s (set_color red) "$USER" (set_color normal) @ (set_color green) "$__fish_prompt_hostname" (set_color normal) ':[' "$__fish_prompt_cwd" (prompt_pwd) "$__fish_prompt_normal" ']'
|
|
echo
|
|
echo -n '# '
|
|
|
|
case '*'
|
|
|
|
if not set -q __fish_prompt_cwd
|
|
set -g __fish_prompt_cwd (set_color $fish_color_cwd)
|
|
end
|
|
|
|
|
|
if set -q VIRTUAL_ENV
|
|
echo -n -s (set_color -b blue white) "(" (basename "$VIRTUAL_ENV") ")" (set_color normal) " "
|
|
end
|
|
|
|
echo -n -s (set_color blue) "(" (set_color yellow) (date "+%H:%M") (set_color blue) ")[" (set_color green) "$USER@$__fish_prompt_hostname " (set_color cyan) "$__fish_prompt_cwd" (prompt_pwd) "$__fish_prompt_normal" (set_color blue) ']'
|
|
echo
|
|
echo -n '$ '
|
|
|
|
end
|
|
end
|