summaryrefslogtreecommitdiff
path: root/.config/fish/functions
diff options
context:
space:
mode:
Diffstat (limited to '.config/fish/functions')
-rwxr-xr-x[-rw-r--r--].config/fish/functions/fish_prompt.fish62
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