Add status item

This commit is contained in:
Ilan Cosman 2020-04-29 12:32:59 -07:00
parent ad5f0e0e32
commit e68ee51173
8 changed files with 41 additions and 14 deletions

View File

@ -1,6 +1,7 @@
# Created by lean_wizard # Created by lean_wizard
function fish_prompt --description 'Write out the prompt' function fish_prompt --description 'Write out the prompt'
set -l lastExitCode $status set -g last_pipestatus $pipestatus
set -g last_status $status
echo echo
@ -16,7 +17,7 @@ function fish_prompt --description 'Write out the prompt'
echo -e (lean_right_prompt) echo -e (lean_right_prompt)
# Prompt character # Prompt character
if test $lastExitCode -eq 0 if test $last_status -eq 0
set_color $lean_color_green set_color $lean_color_green
else else
set_color $fish_color_error set_color $fish_color_error
@ -27,7 +28,7 @@ end
function _lean_right_prompt_nocolor function _lean_right_prompt_nocolor
echo -n " " echo -n " "
for item in lean_{$lean_right_prompt_items} for item in lean_{$lean_right_prompt_items}
if test -n "$$item" if test -n "$$item"
echo -n "$$item" echo -n "$$item"
@ -36,4 +37,3 @@ function _lean_right_prompt_nocolor
end end
end end

View File

@ -4,6 +4,23 @@ function lean_load_right_prompt_items
end end
end end
function _lean_status
if string match -q --invert "0" $last_pipestatus
set -l fishPipestatusWithSignal (__fish_pipestatus_with_signal $last_pipestatus)
if test (count $last_pipestatus) -gt 1 || string match -qe "SIG" $fishPipestatusWithSignal
if test $last_status -eq 0
set -g lean_status_color $lean_status_success_color
echo -n "$lean_status_success_icon "
else
set -g lean_status_color $lean_status_failure_color
echo -n "$lean_status_failure_icon "
end
string join "|" (string replace "SIG" "" $fishPipestatusWithSignal)
end
end
end
function _lean_timer function _lean_timer
if test (math $CMD_DURATION/1000) -gt $lean_timer_duration if test (math $CMD_DURATION/1000) -gt $lean_timer_duration
echo -n (math --scale=$lean_timer_decimals $CMD_DURATION/1000)"s" echo -n (math --scale=$lean_timer_decimals $CMD_DURATION/1000)"s"

View File

@ -35,6 +35,8 @@ function lean_uninstall
# ----------------Right Prompt Items---------------- # ----------------Right Prompt Items----------------
set -a rmVars lean_right_prompt_items set -a rmVars lean_right_prompt_items
# --------------Status--------------
set -a rmVars lean_status_{success_icon, success_color, failure_icon, failure_color}
# --------------Timer-------------- # --------------Timer--------------
set -a rmVars lean_timer_{color, decimals, duration} set -a rmVars lean_timer_{color, decimals, duration}
# ---------------SSH--------------- # ---------------SSH---------------

View File

@ -28,7 +28,7 @@ function lean_install
set -U lean_color_gold D7AF00 set -U lean_color_gold D7AF00
# ---------------Pwd--------------- # ---------------Pwd---------------
set -U lean_pwd_shorten_margin 5 set -U lean_pwd_shorten_margin 5
set -U lean_pwd_unwritable_icon  # Lock set -U lean_pwd_unwritable_icon "" # Lock
# ------------Git prompt------------ # ------------Git prompt------------
set -U __fish_git_prompt_show_informative_status true set -U __fish_git_prompt_show_informative_status true
set -U __fish_git_prompt_showstashstate true set -U __fish_git_prompt_showstashstate true
@ -38,8 +38,8 @@ function lean_install
set -U __fish_git_prompt_char_upstream_ahead " ⇡" set -U __fish_git_prompt_char_upstream_ahead " ⇡"
set -U __fish_git_prompt_char_upstream_behind " ⇣" set -U __fish_git_prompt_char_upstream_behind " ⇣"
set -U __fish_git_prompt_char_stagedstate " +" set -U __fish_git_prompt_char_stagedstate " +"
set -U __fish_git_prompt_char_dirtystate ' !' set -U __fish_git_prompt_char_dirtystate " !"
set -U __fish_git_prompt_char_untrackedfiles ' ?' set -U __fish_git_prompt_char_untrackedfiles " ?"
set -U __fish_git_prompt_char_stashstate " *" set -U __fish_git_prompt_char_stashstate " *"
# --------Colors-------- # --------Colors--------
set -U __fish_git_prompt_color_branch $lean_color_green set -U __fish_git_prompt_color_branch $lean_color_green
@ -50,7 +50,12 @@ function lean_install
set -U __fish_git_prompt_color_stashstate $lean_color_green set -U __fish_git_prompt_color_stashstate $lean_color_green
# ----------------Right Prompt Items---------------- # ----------------Right Prompt Items----------------
set -U lean_right_prompt_items timer context jobs set -U lean_right_prompt_items "status" "timer" "context" "jobs"
# --------------Status--------------
set -U lean_status_success_icon "✔"
set -U lean_status_success_color 5FAF00
set -U lean_status_failure_icon "✘"
set -U lean_status_failure_color D70000
# --------------Timer-------------- # --------------Timer--------------
set -U lean_timer_color 87875F set -U lean_timer_color 87875F
set -U lean_timer_decimals 0 set -U lean_timer_decimals 0
@ -59,7 +64,7 @@ function lean_install
set -U lean_context_ssh_color D7AF87 set -U lean_context_ssh_color D7AF87
set -U lean_context_root_color D7AF00 set -U lean_context_root_color D7AF00
# ---------------Jobs--------------- # ---------------Jobs---------------
set -U lean_jobs_icon  # Gear set -U lean_jobs_icon "" # Gear
set -U lean_jobs_color 5FAF00 set -U lean_jobs_color 5FAF00
# -----------------------Finish----------------------- # -----------------------Finish-----------------------
@ -85,7 +90,7 @@ function _user_confirm_defaultYes -a question
return 0 return 0
case n N no No case n N no No
return 1 return 1
case '' case ""
return 0 return 0
end end
end end

View File

@ -1,2 +1,4 @@
# Created by lean_wizard
function fake_prompt --description 'Write out the prompt' function fake_prompt --description 'Write out the prompt'
set -l lastExitCode $status set -g last_pipestatus $pipestatus
set -g last_status $status

View File

@ -1,5 +1,5 @@
# Prompt character # Prompt character
if test $lastExitCode -eq 0 if test $last_status -eq 0
set_color $lean_color_green set_color $lean_color_green
else else
set_color $fish_color_error set_color $fish_color_error

View File

@ -1,3 +1,4 @@
# Created by lean_wizard # Created by lean_wizard
function fish_prompt --description 'Write out the prompt' function fish_prompt --description 'Write out the prompt'
set -l lastExitCode $status set -g last_pipestatus $pipestatus
set -g last_status $status

View File

@ -1,5 +1,5 @@
# Prompt character # Prompt character
if test $lastExitCode -eq 0 if test $last_status -eq 0
set_color $lean_color_green set_color $lean_color_green
else else
set_color $fish_color_error set_color $fish_color_error