diff options
Diffstat (limited to 'fish/functions')
| -rw-r--r-- | fish/functions/fish_prompt.fish | 83 |
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 |
