summaryrefslogtreecommitdiff
path: root/.config/fish/functions/tide/configure/choices/all/style.fish
diff options
context:
space:
mode:
Diffstat (limited to '.config/fish/functions/tide/configure/choices/all/style.fish')
-rw-r--r--.config/fish/functions/tide/configure/choices/all/style.fish57
1 files changed, 57 insertions, 0 deletions
diff --git a/.config/fish/functions/tide/configure/choices/all/style.fish b/.config/fish/functions/tide/configure/choices/all/style.fish
new file mode 100644
index 00000000..ae52bc52
--- /dev/null
+++ b/.config/fish/functions/tide/configure/choices/all/style.fish
@@ -0,0 +1,57 @@
+function style
+ _tide_title 'Prompt Style'
+
+ _tide_option 1 Lean
+ _load_config lean
+ _tide_display_prompt
+
+ _tide_option 2 Classic
+ _load_config classic
+ _tide_display_prompt
+
+ _tide_option 3 Rainbow
+ _load_config rainbow
+ _tide_display_prompt
+
+ _tide_style_menu
+ switch $_tide_selected_option
+ case 1
+ _load_config lean
+ set -g _tide_configure_style lean
+ case 2
+ _load_config classic
+ set -g _tide_configure_style classic
+ case 3
+ _load_config rainbow
+ set -g _tide_configure_style rainbow
+ end
+ _next_choice all/prompt_colors
+end
+
+function _load_config -a name
+ string replace -r '^' 'set -g fake_' <(status dirname)/../../configs/$name.fish | source
+end
+
+function _tide_style_menu # Exactly like _tide_menu except that it doesn't have (r) option
+ set -l list_with_slashes (string join '/' $_tide_option_list)
+
+ echo '(q) Quit and do nothing'\n
+
+ while true
+ set_color -o
+ read --nchars 1 --prompt-str "Choice [$list_with_slashes/q] " input
+ set_color normal
+
+ switch $input
+ case q
+ set -e _tide_selected_option # Skip through all the _next_choices
+ set -e _tide_option_list
+ command -q clear && clear
+ break
+ case $_tide_option_list
+ set -e _tide_option_list
+ set -g _tide_selected_option $input
+ break
+ end
+ end
+end