aboutsummaryrefslogtreecommitdiff
path: root/config/fish/functions/fish_prompt.fish
diff options
context:
space:
mode:
authorWilliam Hergès <william@herges.fr>2025-08-12 15:25:14 +0200
committerWilliam Hergès <william@herges.fr>2025-08-12 15:25:14 +0200
commitab93bfa16d109a09d49e35e77e7fb2634f8bb0c1 (patch)
treeaa0efb33e3bc78b6612e3041b93cc9f58f593d38 /config/fish/functions/fish_prompt.fish
parent90fe253c51355e66f1a87c8478cf04c36a4d58f0 (diff)
feat(config): fish
Diffstat (limited to 'config/fish/functions/fish_prompt.fish')
-rw-r--r--config/fish/functions/fish_prompt.fish34
1 files changed, 34 insertions, 0 deletions
diff --git a/config/fish/functions/fish_prompt.fish b/config/fish/functions/fish_prompt.fish
new file mode 100644
index 0000000..65b9830
--- /dev/null
+++ b/config/fish/functions/fish_prompt.fish
@@ -0,0 +1,34 @@
+# name: Default
+# author: Lily Ballard
+
+function fish_prompt --description 'Write out the prompt'
+ set -l last_pipestatus $pipestatus
+ set -lx __fish_last_status $status # Export for __fish_print_pipestatus.
+ set -l normal (set_color normal)
+ set -q fish_color_status
+ or set -g fish_color_status red
+
+ # Color the prompt differently when we're root
+ set -l color_cwd "#ffd6ff"
+ set -l suffix '>'
+ if functions -q fish_is_root_user; and fish_is_root_user
+ if set -q fish_color_cwd_root
+ set color_cwd $fish_color_cwd_root
+ end
+ set suffix '#'
+ end
+
+ # Write pipestatus
+ # If the status was carried over (if no command is issued or if `set` leaves the status untouched), don't bold it.
+ set -l bold_flag --bold
+ set -q __fish_prompt_status_generation; or set -g __fish_prompt_status_generation $status_generation
+ if test $__fish_prompt_status_generation = $status_generation
+ set bold_flag
+ end
+ set __fish_prompt_status_generation $status_generation
+ set -l status_color (set_color $fish_color_status)
+ set -l statusb_color (set_color $bold_flag $fish_color_status)
+ set -l prompt_status (__fish_print_pipestatus "[" "]" "|" "$status_color" "$statusb_color" $last_pipestatus)
+
+ echo -n -s (prompt_login)' ' (set_color $color_cwd) (prompt_pwd) $normal (fish_vcs_prompt) $normal " "$prompt_status $suffix " "
+end