diff --git a/fish/functions/_confirmation.fish b/fish/functions/_confirmation.fish new file mode 100644 index 0000000..cc96a26 --- /dev/null +++ b/fish/functions/_confirmation.fish @@ -0,0 +1,12 @@ +function _confirmation --description "Ask for user confirmation" + while true + read --local --prompt-str='Are you sure you want to continue? [y/N] ' confirm + + switch $confirm + case Y y + return 0 + case '' N n + return 1 + end + end +end diff --git a/fish/functions/_set_global_if_unset.fish b/fish/functions/_set_global_if_unset.fish new file mode 100644 index 0000000..1f64406 --- /dev/null +++ b/fish/functions/_set_global_if_unset.fish @@ -0,0 +1,5 @@ +function _set_global_if_unset --argument-names variable_name variable_value + if not set --query $variable_name + set --global $variable_name $variable_value + end +end diff --git a/fish/functions/fish_prompt_git_settings.fish b/fish/functions/fish_prompt_git_settings.fish index 28e598d..33259fc 100644 --- a/fish/functions/fish_prompt_git_settings.fish +++ b/fish/functions/fish_prompt_git_settings.fish @@ -1,38 +1,15 @@ function fish_prompt_git_settings --description 'Configure the git prompt' # Toggles - #if not set -q __fish_git_prompt_showcolorhints - # set -g __fish_git_prompt_showcolorhints 1 - #end - if not set -q __fish_git_prompt_showdirtystate - set -g __fish_git_prompt_showdirtystate 1 - end - if not set -q __fish_git_prompt_showstashstate - set -g __fish_git_prompt_showstashstate 1 - end - if not set -q __fish_git_prompt_showuntrackedfiles - set -g __fish_git_prompt_showuntrackedfiles 1 - end - if not set -q __fish_git_prompt_showupstream - set -g __fish_git_prompt_showupstream "none" - end + _set_global_if_unset __fish_git_prompt_showdirtystate 1 + _set_global_if_unset __fish_git_prompt_showstashstate 1 + _set_global_if_unset __fish_git_prompt_showuntrackedfiles 1 + _set_global_if_unset __fish_git_prompt_showupstream "none" # Colors - if not set -q __fish_git_prompt_color_branch - set -g __fish_git_prompt_color_branch cyan - end - if not set -q __fish_git_prompt_color_dirtystate - set -g __fish_git_prompt_color_dirtystate cyan - 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_stagedstate - set -g __fish_git_prompt_color_stagedstate cyan - end - if not set -q __fish_git_prompt_color_stashstate - set -g __fish_git_prompt_color_stashstate cyan - end - if not set -q __fish_git_prompt_color_untrackedfiles - set -g __fish_git_prompt_color_untrackedfiles cyan - end + _set_global_if_unset __fish_git_prompt_color_branch magenta + _set_global_if_unset __fish_git_prompt_color_dirtystate cyan + _set_global_if_unset __fish_git_prompt_color_invalidstate red + _set_global_if_unset __fish_git_prompt_color_stagedstate cyan + _set_global_if_unset __fish_git_prompt_color_stashstate cyan + _set_global_if_unset __fish_git_prompt_color_untrackedfiles cyan end