summaryrefslogtreecommitdiff
path: root/.config/fish/functions/tide/configure/choices/all
diff options
context:
space:
mode:
Diffstat (limited to '.config/fish/functions/tide/configure/choices/all')
-rw-r--r--.config/fish/functions/tide/configure/choices/all/finish.fish33
-rw-r--r--.config/fish/functions/tide/configure/choices/all/icons.fish33
-rw-r--r--.config/fish/functions/tide/configure/choices/all/prompt_colors.fish26
-rw-r--r--.config/fish/functions/tide/configure/choices/all/prompt_connection.fish28
-rw-r--r--.config/fish/functions/tide/configure/choices/all/prompt_connection_andor_frame_color.fish36
-rw-r--r--.config/fish/functions/tide/configure/choices/all/prompt_spacing.fish21
-rw-r--r--.config/fish/functions/tide/configure/choices/all/show_time.fish31
-rw-r--r--.config/fish/functions/tide/configure/choices/all/style.fish57
8 files changed, 265 insertions, 0 deletions
diff --git a/.config/fish/functions/tide/configure/choices/all/finish.fish b/.config/fish/functions/tide/configure/choices/all/finish.fish
new file mode 100644
index 00000000..f60a1285
--- /dev/null
+++ b/.config/fish/functions/tide/configure/choices/all/finish.fish
@@ -0,0 +1,33 @@
+function finish
+ set_color red
+ _tide_title 'Overwrite tide config?'
+ set_color normal
+
+ _tide_option y Yes
+ echo
+
+ _tide_menu
+ switch $_tide_selected_option
+ case y
+ _tide_finish
+ command -q clear && clear
+ end
+end
+
+function _tide_finish
+ set -e _tide_selected_option # Skip through all the _next_choices
+
+ # Deal with prompt char/vi mode
+ contains character $fake_tide_left_prompt_items || set -p fake_tide_left_prompt_items vi_mode
+
+ # Set the real variables
+ for fakeVar in (set --names | string match -r "^fake_tide.*")
+ set -U (string replace 'fake_' '' $fakeVar) $$fakeVar
+ end
+
+ # Make sure old prompt won't display
+ set -e $_tide_prompt_var 2>/dev/null
+
+ # Re-initialize the prompt
+ source (functions --details fish_prompt)
+end
diff --git a/.config/fish/functions/tide/configure/choices/all/icons.fish b/.config/fish/functions/tide/configure/choices/all/icons.fish
new file mode 100644
index 00000000..e53bffa5
--- /dev/null
+++ b/.config/fish/functions/tide/configure/choices/all/icons.fish
@@ -0,0 +1,33 @@
+function icons
+ _tide_title Icons
+
+ _tide_option 1 'Few icons'
+ _tide_display_prompt
+
+ _tide_option 2 'Many icons'
+ _enable_icons
+ _tide_display_prompt
+
+ _tide_menu
+ switch $_tide_selected_option
+ case 1
+ _disable_icons
+ end
+ _next_choice all/finish
+end
+
+function _enable_icons
+ set -p fake_tide_left_prompt_items os
+ set -g fake_tide_pwd_icon 
+ set -g fake_tide_pwd_icon_home 
+ set -g fake_tide_cmd_duration_icon 
+ set -g fake_tide_git_icon 
+end
+
+function _disable_icons
+ _tide_find_and_remove os fake_tide_left_prompt_items
+ set fake_tide_pwd_icon
+ set fake_tide_pwd_icon_home
+ set fake_tide_cmd_duration_icon
+ set fake_tide_git_icon
+end
diff --git a/.config/fish/functions/tide/configure/choices/all/prompt_colors.fish b/.config/fish/functions/tide/configure/choices/all/prompt_colors.fish
new file mode 100644
index 00000000..90b1a9d9
--- /dev/null
+++ b/.config/fish/functions/tide/configure/choices/all/prompt_colors.fish
@@ -0,0 +1,26 @@
+function prompt_colors
+ _tide_title 'Prompt Colors'
+
+ _tide_option 1 'True color'
+ _tide_display_prompt
+
+ _tide_option 2 '16 colors'
+ _load_config "$_tide_configure_style"_16color
+ set -g _tide_16color true
+ _tide_display_prompt
+
+ _tide_menu
+ switch $_tide_selected_option
+ case 1
+ _load_config "$_tide_configure_style"
+ set -e _tide_16color
+ switch $_tide_configure_style
+ case lean rainbow
+ _next_choice all/show_time
+ case classic
+ _next_choice classic/classic_prompt_color
+ end
+ case 2
+ _next_choice all/show_time
+ end
+end
diff --git a/.config/fish/functions/tide/configure/choices/all/prompt_connection.fish b/.config/fish/functions/tide/configure/choices/all/prompt_connection.fish
new file mode 100644
index 00000000..ae31ef36
--- /dev/null
+++ b/.config/fish/functions/tide/configure/choices/all/prompt_connection.fish
@@ -0,0 +1,28 @@
+function prompt_connection
+ _tide_title 'Prompt Connection'
+
+ _tide_option 1 Disconnected
+ _tide_display_prompt fake_tide_prompt_icon_connection ' '
+
+ _tide_option 2 Dotted
+ _tide_display_prompt fake_tide_prompt_icon_connection '·'
+
+ _tide_option 3 Solid
+ _tide_display_prompt fake_tide_prompt_icon_connection '─'
+
+ _tide_menu
+ switch $_tide_selected_option
+ case 1
+ set -g fake_tide_prompt_icon_connection ' '
+ case 2
+ set -g fake_tide_prompt_icon_connection '·'
+ case 3
+ set -g fake_tide_prompt_icon_connection '─'
+ end
+ switch $_tide_configure_style
+ case lean
+ _next_choice all/prompt_connection_andor_frame_color
+ case classic rainbow
+ _next_choice powerline/powerline_prompt_frame
+ end
+end
diff --git a/.config/fish/functions/tide/configure/choices/all/prompt_connection_andor_frame_color.fish b/.config/fish/functions/tide/configure/choices/all/prompt_connection_andor_frame_color.fish
new file mode 100644
index 00000000..b8803b40
--- /dev/null
+++ b/.config/fish/functions/tide/configure/choices/all/prompt_connection_andor_frame_color.fish
@@ -0,0 +1,36 @@
+function prompt_connection_andor_frame_color
+ if test "$_tide_16color" = true ||
+ test "$fake_tide_left_prompt_frame_enabled" = false -a \
+ "$fake_tide_right_prompt_frame_enabled" = false -a \
+ "$fake_tide_prompt_icon_connection" = ' '
+ _next_choice all/prompt_spacing
+ return 0
+ end
+
+ _tide_title "Connection & Frame Color"
+
+ _tide_option 1 Lightest
+ _tide_display_prompt fake_tide_prompt_color_frame_and_connection 808080
+
+ _tide_option 2 Light
+ _tide_display_prompt fake_tide_prompt_color_frame_and_connection 6C6C6C
+
+ _tide_option 3 Dark
+ _tide_display_prompt fake_tide_prompt_color_frame_and_connection 585858
+
+ _tide_option 4 Darkest
+ _tide_display_prompt fake_tide_prompt_color_frame_and_connection 444444
+
+ _tide_menu
+ switch $_tide_selected_option
+ case 1
+ set -g fake_tide_prompt_color_frame_and_connection 808080
+ case 2
+ set -g fake_tide_prompt_color_frame_and_connection 6C6C6C
+ case 3
+ set -g fake_tide_prompt_color_frame_and_connection 585858
+ case 4
+ set -g fake_tide_prompt_color_frame_and_connection 444444
+ end
+ _next_choice all/prompt_spacing
+end
diff --git a/.config/fish/functions/tide/configure/choices/all/prompt_spacing.fish b/.config/fish/functions/tide/configure/choices/all/prompt_spacing.fish
new file mode 100644
index 00000000..a5bb98bc
--- /dev/null
+++ b/.config/fish/functions/tide/configure/choices/all/prompt_spacing.fish
@@ -0,0 +1,21 @@
+function prompt_spacing
+ _tide_title 'Prompt Spacing'
+
+ _tide_option 1 Compact
+ _tide_display_prompt
+ printf \e\[1A # Move cursor up 1 row
+ _tide_display_prompt
+
+ _tide_option 2 Sparse
+ _tide_display_prompt
+ _tide_display_prompt
+
+ _tide_menu
+ switch $_tide_selected_option
+ case 1
+ set -g fake_tide_prompt_add_newline_before false
+ case 2
+ set -g fake_tide_prompt_add_newline_before true
+ end
+ _next_choice all/icons
+end
diff --git a/.config/fish/functions/tide/configure/choices/all/show_time.fish b/.config/fish/functions/tide/configure/choices/all/show_time.fish
new file mode 100644
index 00000000..8cf18436
--- /dev/null
+++ b/.config/fish/functions/tide/configure/choices/all/show_time.fish
@@ -0,0 +1,31 @@
+function show_time
+ _tide_title 'Show current time?'
+
+ _tide_option 1 No
+ _tide_display_prompt
+
+ set -a fake_tide_right_prompt_items time
+
+ _tide_option 2 '24-hour format'
+ _tide_display_prompt fake_tide_time_format %T
+
+ _tide_option 3 '12-hour format'
+ _tide_display_prompt fake_tide_time_format '%r'
+
+ _tide_menu
+ switch $_tide_selected_option
+ case 1
+ set -g fake_tide_time_format ''
+ set -e fake_tide_right_prompt_items[-1]
+ case 2
+ set -g fake_tide_time_format %T
+ case 3
+ set -g fake_tide_time_format '%r'
+ end
+ switch $_tide_configure_style
+ case lean
+ _next_choice "$_tide_configure_style"/"$_tide_configure_style"_prompt_height
+ case classic rainbow
+ _next_choice "$_tide_configure_style"/"$_tide_configure_style"_prompt_separators
+ end
+end
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