From aa8a890a05f8e7b45cd7efaaeec4411526f3e281 Mon Sep 17 00:00:00 2001 From: Ilan Cosman Date: Mon, 20 Jul 2020 10:17:36 -0700 Subject: [PATCH] wizard now deletes all previous vars --- tide_theme/configure/choices/all/finish.fish | 38 +++++++++++++------- tide_theme/configure/choices/all/style.fish | 6 ++-- tools/_tide_actual_install.fish | 18 +++------- 3 files changed, 33 insertions(+), 29 deletions(-) diff --git a/tide_theme/configure/choices/all/finish.fish b/tide_theme/configure/choices/all/finish.fish index 674b542..851c747 100644 --- a/tide_theme/configure/choices/all/finish.fish +++ b/tide_theme/configure/choices/all/finish.fish @@ -11,20 +11,32 @@ function finish switch (_tide_menu) case y - if not contains 'prompt_char' $fake_tide_left_prompt_items # Without a prompt_char, the user won't know if a command failed/succeeded - set fake_tide_status_always_display_icon true # Therefore, set the status to always display - end - - cat "$_tide_dir/configure/fish_prompt.fish" >"$__fish_config_dir/functions/fish_prompt.fish" - - for normalVar in (string replace 'fake_' '' $fake_tide_var_list) - set fakeVar fake_$normalVar - set -U $normalVar $$fakeVar - end - set _tide_var_list $fake_tide_var_list - - source "$__fish_config_dir/conf.d/_tide_Ω_init.fish" # Reload important startup variables + _tide_finish end _tide_quit end + +function _tide_finish + if not contains 'prompt_char' $fake_tide_left_prompt_items # Without a prompt_char, the user won't know if a command failed/succeeded + set fake_tide_status_always_display_icon true # Therefore, set the status to always display + end + + cat "$_tide_dir/configure/fish_prompt.fish" >"$__fish_config_dir/functions/fish_prompt.fish" + + # Delete all vars in _tide_var_list and all non fake fish_git_prompt vars + for var in $_tide_var_list (set -n | string match --invert --entire 'fake' | string match --entire fish_git_prompt) + set -e $var + end + + set -l incomingVarList (string replace 'fake_' '' $fake__tide_var_list) + + for normalVar in $incomingVarList + set -l fakeVar fake_$normalVar + set -U $normalVar $$fakeVar + end + + set _tide_var_list $incomingVarList + + source "$__fish_config_dir/conf.d/_tide_Ω_init.fish" # Reload important startup variables +end \ No newline at end of file diff --git a/tide_theme/configure/choices/all/style.fish b/tide_theme/configure/choices/all/style.fish index 845c65c..4f2b69a 100644 --- a/tide_theme/configure/choices/all/style.fish +++ b/tide_theme/configure/choices/all/style.fish @@ -40,16 +40,16 @@ function style end function _load_config -a name - for var in $fake_tide_var_list + for var in $fake__tide_var_list set -e $var end - set -g fake_tide_var_list + set -g fake__tide_var_list source "$_tide_dir/configure/configs/$name.fish" end function _set -a var_name set -g $var_name $argv[2..-1] - set -a fake_tide_var_list $var_name + set -a fake__tide_var_list $var_name end \ No newline at end of file diff --git a/tools/_tide_actual_install.fish b/tools/_tide_actual_install.fish index 9c7b7a9..56ff454 100644 --- a/tools/_tide_actual_install.fish +++ b/tools/_tide_actual_install.fish @@ -30,18 +30,13 @@ function _tide_actual_install # --------------------Set Defaults-------------------- _set_immutables + set -U _tide_var_list + source "$_tide_dir/configure/choices/all/style.fish" _load_config 'lean' - cat "$_tide_dir/configure/fish_prompt.fish" >"$__fish_config_dir/functions/fish_prompt.fish" - - for normalVar in (string replace 'fake_' '' $fake_tide_var_list) - set fakeVar fake_$normalVar - set -U $normalVar $$fakeVar - end - set _tide_var_list $fake_tide_var_list - - source "$__fish_config_dir/conf.d/_tide_Ω_init.fish" # Reload important startup variables + source "$_tide_dir/configure/choices/all/finish.fish" + _tide_finish # -----------------------Finish----------------------- for file in $_tide_file_list @@ -69,10 +64,7 @@ end function _set_immutables set -U _tide_var_immutable_list - _set_immutable _tide_file_list - for file in $tempDir/{completions/*, conf.d/*, functions/*} - set -a _tide_file_list (string replace "$tempDir/" '' "$file") - end + _set_immutable _tide_file_list (string replace "$tempDir/" '' $tempDir/{completions/*, conf.d/*, functions/*}) _set_immutable _tide_version 2.0.0 _set_immutable _tide_dir "$__fish_config_dir/tide_theme"