diff options
Diffstat (limited to '.config/fish/functions')
-rwxr-xr-x[-rw-r--r--] | .config/fish/functions/fish_prompt.fish | 62 |
1 files changed, 22 insertions, 40 deletions
diff --git a/.config/fish/functions/fish_prompt.fish b/.config/fish/functions/fish_prompt.fish index 7f4860d..8a208e2 100644..100755 --- a/.config/fish/functions/fish_prompt.fish +++ b/.config/fish/functions/fish_prompt.fish @@ -1,42 +1,24 @@ function fish_prompt --description 'Write out the prompt' - - set stat $status - - if not set -q __fish_prompt_normal - set -g __fish_prompt_normal (set_color normal) - end - - if not set -q __fish_color_blue - set -g __fish_color_blue (set_color -o blue) - end - - #Set the color for the status depending on the value - set __fish_color_status (set_color -o green) - if test $stat -gt 0 - set __fish_color_status (set_color -o red) - end - - switch "$USER" - - case root toor - - 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 - - printf '%s@%s %s%s%s# ' $USER (prompt_hostname) "$__fish_prompt_cwd" (prompt_pwd) "$__fish_prompt_normal" - - case '*' - - if not set -q __fish_prompt_cwd - set -g __fish_prompt_cwd (set_color $fish_color_cwd) - end - - printf '[%s] %s%s@%s %s%s %s(%s)%s \f\r> ' (date "+%H:%M:%S") "$__fish_color_blue" $USER (prompt_hostname) "$__fish_prompt_cwd" "$PWD" "$__fish_color_status" "$stat" "$__fish_prompt_normal" - - end + if set -l branch_name (command git symbolic-ref HEAD 2>/dev/null | string replace refs/heads/ '') + set git_info (set_color d8d8d8)"|" + if command git diff-index --quiet HEAD -- + set git_info $git_info(set_color f7ca88) + else + set git_info $git_info(set_color ab4642) + end + set git_info $git_info"$branch_name" + end + + # Disable PWD shortening by default. + set -q fish_prompt_pwd_dir_length + or set -lx fish_prompt_pwd_dir_length 0 + + printf '%s' (set_color -o d8d8d8) '<' + printf '%s' (set_color a1b56c) $USER + printf '%s' (set_color d8d8d8) '@' + printf '%s' (set_color 7cafc2) (prompt_hostname) + printf '%s' (set_color d8d8d8) '|' + printf '%s' (set_color ba8baf) (prompt_pwd) + printf '%s' $git_info + printf '%s' (set_color d8d8d8) '>' end |