From 561f30f8aba1be47b53b8eb5fafca0bac4b960df Mon Sep 17 00:00:00 2001 From: Christoph Schlosser Date: Thu, 19 Jun 2025 01:36:42 +0200 Subject: Add exit status segment --- conf.d/cstar.fish | 11 +++++++++++ functions/fish_right_prompt.fish | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/conf.d/cstar.fish b/conf.d/cstar.fish index 8e4a44d..3f4586b 100644 --- a/conf.d/cstar.fish +++ b/conf.d/cstar.fish @@ -9,6 +9,8 @@ set -q cstar_git_bg || set -g cstar_git_bg $cstar_default_fg set -q cstar_git_fg || set -g cstar_git_fg $cstar_default_bg set -q cstar_user_marker_default_bg || set -g cstar_user_marker_default_bg $cstar_default_bg set -q cstar_user_marker_fg || set -g cstar_user_marker_fg $cstar_default_fg +set -q cstar_exit_status_bg || set -g cstar_exit_status_bg red +set -q cstar_exit_status_fg || set -g cstar_exit_status_fg white set -q cstar_datetime_bg || set -g cstar_datetime_bg $cstar_default_bg set -q cstar_datetime_fg || set -g cstar_datetime_fg $cstar_default_fg set -q cstar_command_time_bg || set -g cstar_command_time_bg $cstar_default_fg @@ -31,6 +33,15 @@ function cstar_datetime --on-event fish_prompt --on-event fish_postexec cstar_colorize cstar_datetime (date "+$cstar_date_format") $cstar_datetime_bg $cstar_datetime_fg end +function cstar_exit_status --on-event fish_postexec + set cmd_status $status + if test $cmd_status -eq 0 + set -ge cstar_exit_status + else + cstar_colorize cstar_exit_status (set_color -o)\uf00d $cstar_exit_status_bg $cstar_exit_status_fg + end +end + function cstar_git_query_async --on-event fish_prompt if ! command -q git return diff --git a/functions/fish_right_prompt.fish b/functions/fish_right_prompt.fish index 635a389..14f76ac 100644 --- a/functions/fish_right_prompt.fish +++ b/functions/fish_right_prompt.fish @@ -16,5 +16,5 @@ function cstar_segment_divide_right end function fish_right_prompt --description "The right side of the C-Star prompt" - echo -e "$(cstar_segment_divide_right command_time normal)$cstar_command_time$(cstar_segment_divide_right datetime command_time)$cstar_datetime" + echo -e "$(cstar_segment_divide_right exit_status normal)$cstar_exit_status$(cstar_segment_divide_right command_time exit_status)$cstar_command_time$(cstar_segment_divide_right datetime command_time)$cstar_datetime" end \ No newline at end of file -- cgit v1.2.3