summaryrefslogtreecommitdiff
path: root/.config/fish/functions/_tide_item_status.fish
diff options
context:
space:
mode:
Diffstat (limited to '.config/fish/functions/_tide_item_status.fish')
-rw-r--r--.config/fish/functions/_tide_item_status.fish15
1 files changed, 15 insertions, 0 deletions
diff --git a/.config/fish/functions/_tide_item_status.fish b/.config/fish/functions/_tide_item_status.fish
new file mode 100644
index 00000000..3a040fd1
--- /dev/null
+++ b/.config/fish/functions/_tide_item_status.fish
@@ -0,0 +1,15 @@
+function _tide_item_status
+ if string match -qv 0 $_tide_pipestatus # If there is a failure anywhere in the pipestatus
+ if test "$_tide_pipestatus" = 1 # If simple failure
+ contains character $_tide_left_items || tide_status_bg_color=$tide_status_bg_color_failure \
+ tide_status_color=$tide_status_color_failure _tide_print_item status $tide_status_icon_failure' ' 1
+ else
+ fish_status_to_signal $_tide_pipestatus | string replace SIG '' | string join '|' | read -l out
+ test $_tide_status = 0 && _tide_print_item status $tide_status_icon' ' $out ||
+ tide_status_bg_color=$tide_status_bg_color_failure tide_status_color=$tide_status_color_failure \
+ _tide_print_item status $tide_status_icon_failure' ' $out
+ end
+ else if not contains character $_tide_left_items
+ _tide_print_item status $tide_status_icon
+ end
+end