aboutsummaryrefslogtreecommitdiff
path: root/shell/fish/functions
diff options
context:
space:
mode:
authorbozo.kopic <bozo@kopic.xyz>2020-12-16 02:12:41 +0100
committerbozo.kopic <bozo@kopic.xyz>2020-12-16 02:12:41 +0100
commit004162c05e42a2f2645ca06702567967b1d88961 (patch)
tree18319b9654b8ec561524a58fed0fd3af7131647e /shell/fish/functions
parent2f694c9ab1416de12d6c5da47d384a625662edf1 (diff)
.
Diffstat (limited to 'shell/fish/functions')
-rw-r--r--shell/fish/functions/fish_prompt.fish83
1 files changed, 83 insertions, 0 deletions
diff --git a/shell/fish/functions/fish_prompt.fish b/shell/fish/functions/fish_prompt.fish
new file mode 100644
index 0000000..47cedee
--- /dev/null
+++ b/shell/fish/functions/fish_prompt.fish
@@ -0,0 +1,83 @@
+function fish_prompt
+
+ set -l last_status $status
+
+ set -l color_host $fish_color_host
+ set -l color_cwd $fish_color_cwd
+ set -l suffix '$'
+
+ if set -q SSH_TTY
+ set color_host $fish_color_host_remote
+ end
+
+ if test "$USER" = "root"
+ set color_cwd $fish_color_cwd_root
+ set suffix '#'
+ end
+
+ 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_invalidstate
+ set -g __fish_git_prompt_char_invalidstate "✖"
+ 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
+
+ echo -n -s \
+ (set_color normal) "[" \
+ (set_color $fish_color_user) "$USER" \
+ (set_color normal) @ \
+ (set_color $color_host) (hostname) \
+ (set_color normal) " " \
+ (set_color $color_cwd) (prompt_pwd) \
+ (set_color normal) (__fish_vcs_prompt) \
+ (set_color normal) "]" $suffix " "
+
+end