tide/functions/_tide_prompt.fish

45 lines
1.9 KiB
Fish
Raw Normal View History

2020-11-21 01:04:04 +03:00
function _tide_prompt
2021-09-15 21:00:34 +03:00
set -g _tide_last_item_was_newline
2021-09-22 22:28:26 +03:00
_tide_side=left set -f left_prompt (for item in $tide_left_prompt_items
2021-09-15 21:00:34 +03:00
_tide_item_$item
end
if not set -e _tide_last_item_was_newline
set_color $_tide_previous_bg_color -b normal
echo -ns $tide_left_prompt_suffix
end)
set -g _tide_last_item_was_newline
2021-09-22 22:28:26 +03:00
_tide_side=right set -f right_prompt (for item in $tide_right_prompt_items
2021-09-15 21:00:34 +03:00
_tide_item_$item
end
if not set -e _tide_last_item_was_newline
set_color $_tide_previous_bg_color -b normal
echo -ns $tide_right_prompt_suffix
end)
if set -q _tide_prompt_and_frame_color # If prompt is two lines
2021-03-04 22:05:49 +03:00
if test "$tide_left_prompt_frame_enabled" = true
2021-09-17 21:10:16 +03:00
set left_prompt[1] "$_tide_prompt_and_frame_color╭─$left_prompt[1]"
set left_prompt[2] "$_tide_prompt_and_frame_color╰─$left_prompt[2]"
2021-03-04 22:05:49 +03:00
end
if test "$tide_right_prompt_frame_enabled" = true
2021-09-17 21:10:16 +03:00
set right_prompt[1] "$right_prompt[1]$_tide_prompt_and_frame_color─╮"
set right_prompt[2] "$right_prompt[2]$_tide_prompt_and_frame_color─╯"
2021-03-04 22:05:49 +03:00
end
2021-08-26 23:47:43 +03:00
# 5 = @PWD@ length which will be replaced
2021-09-15 19:49:53 +03:00
math $COLUMNS+5-(string length --visible "$left_prompt[1]$right_prompt[1]") | read -lx dist_btwn_sides
2021-09-17 21:10:16 +03:00
echo -ns "$right_prompt[2]"\n(string replace @PWD@ (_tide_pwd) "$left_prompt[1]")$_tide_prompt_and_frame_color
2021-06-27 22:15:10 +03:00
2021-09-08 06:51:16 +03:00
string repeat --no-newline --max (math max 0, $dist_btwn_sides-$pwd_length) $tide_prompt_icon_connection
2021-09-17 21:10:16 +03:00
echo -ns "$right_prompt[1]"\n"$left_prompt[2] "
2021-05-05 01:25:38 +03:00
else
2021-09-15 19:49:53 +03:00
math $COLUMNS+5-(string length --visible "$left_prompt[1]$right_prompt[1]") -$tide_prompt_min_cols | read -lx dist_btwn_sides
string replace @PWD@ (_tide_pwd) "$right_prompt[1]" "$left_prompt[1] "
2021-03-04 22:05:49 +03:00
end
end
function _tide_item_pwd
2021-07-03 21:24:29 +03:00
_tide_print_item pwd @PWD@
end