aboutsummaryrefslogtreecommitdiff
path: root/fish/functions
diff options
context:
space:
mode:
authorbozo.kopic <bozo.kopic@gmail.com>2015-05-12 21:18:32 +0200
committerbozo.kopic <bozo.kopic@gmail.com>2020-02-26 00:33:29 +0100
commit1e263266388c0b6cd39e09d81513e32aedc4268c (patch)
tree129f9d7620892ff9eb50f3738ff38de9155b76d1 /fish/functions
.
Diffstat (limited to 'fish/functions')
-rw-r--r--fish/functions/fish_prompt.fish83
1 files changed, 83 insertions, 0 deletions
diff --git a/fish/functions/fish_prompt.fish b/fish/functions/fish_prompt.fish
new file mode 100644
index 0000000..47cedee
--- /dev/null
+++ b/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