95 lines
2.8 KiB
Fish
95 lines
2.8 KiB
Fish
function fish_prompt --description 'Write out the prompt'
|
|
if not set -q __fish_git_prompt_show_informative_status
|
|
set -g __fish_git_prompt_show_informative_status 1
|
|
end
|
|
if not set -q __fish_git_prompt_hide_untrackedfiles
|
|
set -g __fish_git_prompt_hide_untrackedfiles 1
|
|
end
|
|
|
|
if not set -q __fish_git_prompt_color_branch
|
|
set -g __fish_git_prompt_color_branch magenta --bold
|
|
end
|
|
if not set -q __fish_git_prompt_showupstream
|
|
set -g __fish_git_prompt_showupstream "informative"
|
|
end
|
|
if not set -q __fish_git_prompt_char_upstream_ahead
|
|
set -g __fish_git_prompt_char_upstream_ahead "↑"
|
|
end
|
|
if not set -q __fish_git_prompt_char_upstream_behind
|
|
set -g __fish_git_prompt_char_upstream_behind "↓"
|
|
end
|
|
if not set -q __fish_git_prompt_char_upstream_prefix
|
|
set -g __fish_git_prompt_char_upstream_prefix ""
|
|
end
|
|
|
|
if not set -q __fish_git_prompt_char_stagedstate
|
|
set -g __fish_git_prompt_char_stagedstate "●"
|
|
end
|
|
if not set -q __fish_git_prompt_char_dirtystate
|
|
set -g __fish_git_prompt_char_dirtystate "✚"
|
|
end
|
|
if not set -q __fish_git_prompt_char_untrackedfiles
|
|
set -g __fish_git_prompt_char_untrackedfiles "…"
|
|
end
|
|
if not set -q __fish_git_prompt_char_conflictedstate
|
|
set -g __fish_git_prompt_char_conflictedstate "✖"
|
|
end
|
|
if not set -q __fish_git_prompt_char_cleanstate
|
|
set -g __fish_git_prompt_char_cleanstate "✔"
|
|
end
|
|
|
|
if not set -q __fish_git_prompt_color_dirtystate
|
|
set -g __fish_git_prompt_color_dirtystate blue
|
|
end
|
|
if not set -q __fish_git_prompt_color_stagedstate
|
|
set -g __fish_git_prompt_color_stagedstate yellow
|
|
end
|
|
if not set -q __fish_git_prompt_color_invalidstate
|
|
set -g __fish_git_prompt_color_invalidstate red
|
|
end
|
|
if not set -q __fish_git_prompt_color_untrackedfiles
|
|
set -g __fish_git_prompt_color_untrackedfiles $fish_color_normal
|
|
end
|
|
if not set -q __fish_git_prompt_color_cleanstate
|
|
set -g __fish_git_prompt_color_cleanstate green --bold
|
|
end
|
|
|
|
set -l last_status $status
|
|
|
|
if not set -q __fish_prompt_normal
|
|
set -g __fish_prompt_normal (set_color normal)
|
|
end
|
|
|
|
set -l color_cwd
|
|
set -l prefix
|
|
switch $USER
|
|
case root toor
|
|
if set -q fish_color_cwd_root
|
|
set color_cwd $fish_color_cwd_root
|
|
else
|
|
set color_cwd $fish_color_cwd
|
|
end
|
|
set suffix '#'
|
|
case '*'
|
|
set color_cwd $fish_color_cwd
|
|
set suffix '$'
|
|
end
|
|
|
|
# time
|
|
echo -n (date +"[%T] ")
|
|
# PWD
|
|
set_color $color_cwd
|
|
echo -n (prompt_pwd)
|
|
set_color normal
|
|
|
|
printf '%s ' (__fish_vcs_prompt)
|
|
|
|
if not test $last_status -eq 0
|
|
set_color $fish_color_error
|
|
end
|
|
|
|
echo -n "$suffix "
|
|
|
|
set_color normal
|
|
end
|