diff options
Diffstat (limited to '.config/fish/functions/tide/configure/choices/all')
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 |