first attempt to fix #6 on OSX/Darwin
This commit is contained in:
parent
e34f2abaa5
commit
38dce93232
1 changed files with 308 additions and 65 deletions
307
functions
307
functions
|
|
@ -72,12 +72,40 @@ if [[ "$TERM" != "linux" ]] ; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Extra Unicode Character Manipulation
|
# Extra Unicode Character Manipulation
|
||||||
|
case $OSTYPE in
|
||||||
|
linux-gnu )
|
||||||
return_arrow=$(echo -e "\u2BAC")
|
return_arrow=$(echo -e "\u2BAC")
|
||||||
enter_arrow=$(echo -e "\u21B5")
|
enter_arrow=$(echo -e "\u21B5")
|
||||||
green_check=${grn}$(echo -e "\u2714")${dfl}
|
green_check=${grn}$(echo -e "\u2714")${dfl}
|
||||||
red_x=${lrd}$(echo -e "\u00D7")${dfl}
|
red_x=${lrd}$(echo -e "\u00D7")${dfl}
|
||||||
selected_opt=$(echo -e "\u25C9")
|
selected_opt=$(echo -e "\u25C9")
|
||||||
deselected_opt=$(echo -e "\u25CE")
|
deselected_opt=$(echo -e "\u25CE")
|
||||||
|
;;
|
||||||
|
darwin )
|
||||||
|
return_arrow=$(echo -e "⮬")
|
||||||
|
enter_arrow=$(echo -e "↵")
|
||||||
|
green_check=${grn}$(echo -e "✔")${dfl}
|
||||||
|
red_x=${lrd}$(echo -e "×")${dfl}
|
||||||
|
selected_opt=$(echo -e "◉")
|
||||||
|
deselected_opt=$(echo -e "◎")
|
||||||
|
;;
|
||||||
|
cygwin )
|
||||||
|
return_arrow=$(echo -e "\u2BAC")
|
||||||
|
enter_arrow=$(echo -e "\u21B5")
|
||||||
|
green_check=${grn}$(echo -e "\u2714")${dfl}
|
||||||
|
red_x=${lrd}$(echo -e "\u00D7")${dfl}
|
||||||
|
selected_opt=$(echo -e "\u25C9")
|
||||||
|
deselected_opt=$(echo -e "\u25CE")
|
||||||
|
;;
|
||||||
|
msys )
|
||||||
|
return_arrow=$(echo -e "\u2BAC")
|
||||||
|
enter_arrow=$(echo -e "\u21B5")
|
||||||
|
green_check=${grn}$(echo -e "\u2714")${dfl}
|
||||||
|
red_x=${lrd}$(echo -e "\u00D7")${dfl}
|
||||||
|
selected_opt=$(echo -e "\u25C9")
|
||||||
|
deselected_opt=$(echo -e "\u25CE")
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
# For drawing pretty boxes
|
# For drawing pretty boxes
|
||||||
terminal_width=$(tput cols)
|
terminal_width=$(tput cols)
|
||||||
|
|
@ -87,24 +115,49 @@ else
|
||||||
BOXWIDTH=80
|
BOXWIDTH=80
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# For printing center-justified text. To change the padding character, replace the ' ' <~~ whitespace in front of the '{' in the padding variable
|
|
||||||
center() {
|
|
||||||
padding="$(printf '%0.1s' {1..500})"
|
|
||||||
printf '%*.*s %s %*.*s\n' 0 "$(((terminal_width-2-${#1})/2))" "$padding" "$1" 0 "$(((termwidth-1-${#1})/2))" "$padding"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Box Drawing characters
|
# Box Drawing characters
|
||||||
|
case $OSTYPE in
|
||||||
|
linux-gnu )
|
||||||
light_h=$(echo -e "\u2500")
|
light_h=$(echo -e "\u2500")
|
||||||
norm_h=$(echo -e "\u2501")
|
norm_h=$(echo -e "\u2501")
|
||||||
double_h=$(echo -e "\u2550")
|
double_h=$(echo -e "\u2550")
|
||||||
light_v=$(echo -e "\u2502")
|
light_v=$(echo -e "\u2502")
|
||||||
norm_v=$(echo -e "\u2503")
|
norm_v=$(echo -e "\u2503")
|
||||||
double_v=$(echo -e "\u2551")
|
double_v=$(echo -e "\u2551")
|
||||||
|
;;
|
||||||
|
darwin )
|
||||||
|
light_h=$(echo -e "─")
|
||||||
|
norm_h=$(echo -e "━")
|
||||||
|
double_h=$(echo -e "═")
|
||||||
|
light_v=$(echo -e "│")
|
||||||
|
norm_v=$(echo -e "┃")
|
||||||
|
double_v=$(echo -e "║")
|
||||||
|
;;
|
||||||
|
cygwin )
|
||||||
|
light_h=$(echo -e "\u2500")
|
||||||
|
norm_h=$(echo -e "\u2501")
|
||||||
|
double_h=$(echo -e "\u2550")
|
||||||
|
light_v=$(echo -e "\u2502")
|
||||||
|
norm_v=$(echo -e "\u2503")
|
||||||
|
double_v=$(echo -e "\u2551")
|
||||||
|
;;
|
||||||
|
msys )
|
||||||
|
light_h=$(echo -e "\u2500")
|
||||||
|
norm_h=$(echo -e "\u2501")
|
||||||
|
double_h=$(echo -e "\u2550")
|
||||||
|
light_v=$(echo -e "\u2502")
|
||||||
|
norm_v=$(echo -e "\u2503")
|
||||||
|
double_v=$(echo -e "\u2551")
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Box border type single-line
|
# Box border type single-line
|
||||||
box-norm(){
|
box-norm(){
|
||||||
# ---------------------------------------#
|
# ---------------------------------------#
|
||||||
|
case $OSTYPE in
|
||||||
|
linux-gnu )
|
||||||
top_border=${norm_h}
|
top_border=${norm_h}
|
||||||
bottom_border=${norm_h}
|
bottom_border=${norm_h}
|
||||||
left_border=${norm_v}
|
left_border=${norm_v}
|
||||||
|
|
@ -114,36 +167,146 @@ box-norm(){
|
||||||
left_bottom_border=$(echo -e "\u2517")
|
left_bottom_border=$(echo -e "\u2517")
|
||||||
right_bottom_border=$(echo -e "\u251b")
|
right_bottom_border=$(echo -e "\u251b")
|
||||||
box_break_line=$(echo -e "\u25AB")
|
box_break_line=$(echo -e "\u25AB")
|
||||||
|
;;
|
||||||
|
darwin )
|
||||||
|
top_border=${norm_h}
|
||||||
|
bottom_border=${norm_h}
|
||||||
|
left_border=${norm_v}
|
||||||
|
right_border=${norm_v}
|
||||||
|
left_top_border=$(echo -e "┏")
|
||||||
|
right_top_border=$(echo -e "┓")
|
||||||
|
left_bottom_border=$(echo -e "┗")
|
||||||
|
right_bottom_border=$(echo -e "┛")
|
||||||
|
box_break_line=$(echo -e "▫")
|
||||||
|
;;
|
||||||
|
cygwin )
|
||||||
|
top_border=${norm_h}
|
||||||
|
bottom_border=${norm_h}
|
||||||
|
left_border=${norm_v}
|
||||||
|
right_border=${norm_v}
|
||||||
|
left_top_border=$(echo -e "\u250f")
|
||||||
|
right_top_border=$(echo -e "\u2513")
|
||||||
|
left_bottom_border=$(echo -e "\u2517")
|
||||||
|
right_bottom_border=$(echo -e "\u251b")
|
||||||
|
box_break_line=$(echo -e "\u25AB")
|
||||||
|
;;
|
||||||
|
msys )
|
||||||
|
top_border=${norm_h}
|
||||||
|
bottom_border=${norm_h}
|
||||||
|
left_border=${norm_v}
|
||||||
|
right_border=${norm_v}
|
||||||
|
left_top_border=$(echo -e "\u250f")
|
||||||
|
right_top_border=$(echo -e "\u2513")
|
||||||
|
left_bottom_border=$(echo -e "\u2517")
|
||||||
|
right_bottom_border=$(echo -e "\u251b")
|
||||||
|
box_break_line=$(echo -e "\u25AB")
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
# ---------------------------------------#
|
# ---------------------------------------#
|
||||||
}
|
}
|
||||||
|
|
||||||
# Box border type double-line
|
# Box border type double-line
|
||||||
box-double(){
|
box-double(){
|
||||||
# ---------------------------------------#
|
# ---------------------------------------#
|
||||||
|
case $OSTYPE in
|
||||||
|
linux-gnu )
|
||||||
top_border=${double_h}
|
top_border=${double_h}
|
||||||
bottom_border=${double_h}
|
bottom_border=${double_h}
|
||||||
left_border=${double_v}
|
left_border=${double_v}
|
||||||
right_border=${double_v}
|
right_border=${double_v}
|
||||||
left_top_border=$(echo -e '\u2554')
|
left_top_border=$(echo -e "\u2554")
|
||||||
right_top_border=$(echo -e '\u2557')
|
right_top_border=$(echo -e "\u2557")
|
||||||
left_bottom_border=$(echo -e '\u255A')
|
left_bottom_border=$(echo -e "\u255A")
|
||||||
right_bottom_border=$(echo -e '\u255D')
|
right_bottom_border=$(echo -e "\u255D")
|
||||||
box_break_line=$(echo -e '\u25AB')
|
box_break_line=$(echo -e "\u25AB")
|
||||||
|
;;
|
||||||
|
darwin )
|
||||||
|
top_border=${double_h}
|
||||||
|
bottom_border=${double_h}
|
||||||
|
left_border=${double_v}
|
||||||
|
right_border=${double_v}
|
||||||
|
left_top_border=$(echo -e "╔")
|
||||||
|
right_top_border=$(echo -e "╗")
|
||||||
|
left_bottom_border=$(echo -e "╚")
|
||||||
|
right_bottom_border=$(echo -e "╝")
|
||||||
|
box_break_line=$(echo -e "▫")
|
||||||
|
;;
|
||||||
|
cygwin )
|
||||||
|
top_border=${double_h}
|
||||||
|
bottom_border=${double_h}
|
||||||
|
left_border=${double_v}
|
||||||
|
right_border=${double_v}
|
||||||
|
left_top_border=$(echo -e "\u2554")
|
||||||
|
right_top_border=$(echo -e "\u2557")
|
||||||
|
left_bottom_border=$(echo -e "\u255A")
|
||||||
|
right_bottom_border=$(echo -e "\u255D")
|
||||||
|
box_break_line=$(echo -e "\u25AB")
|
||||||
|
;;
|
||||||
|
msys )
|
||||||
|
top_border=${double_h}
|
||||||
|
bottom_border=${double_h}
|
||||||
|
left_border=${double_v}
|
||||||
|
right_border=${double_v}
|
||||||
|
left_top_border=$(echo -e "\u2554")
|
||||||
|
right_top_border=$(echo -e "\u2557")
|
||||||
|
left_bottom_border=$(echo -e "\u255A")
|
||||||
|
right_bottom_border=$(echo -e "\u255D")
|
||||||
|
box_break_line=$(echo -e "\u25AB")
|
||||||
|
;;
|
||||||
|
esac
|
||||||
# ---------------------------------------#
|
# ---------------------------------------#
|
||||||
}
|
}
|
||||||
|
|
||||||
# Box border type thick-line
|
# Box border type thick-line
|
||||||
box-heavy(){
|
box-heavy(){
|
||||||
# ---------------------------------------#
|
# ---------------------------------------#
|
||||||
top_border=$(echo -e '\u2580')
|
case $OSTYPE in
|
||||||
bottom_border=$(echo -e '\u2584')
|
linux-gnu )
|
||||||
left_border=$(echo -e '\u258C')
|
top_border=$(echo -e "\u2580")
|
||||||
right_border=$(echo -e '\u2590')
|
bottom_border=$(echo -e "\u2584")
|
||||||
left_top_border=$(echo -e '\u259B')
|
left_border=$(echo -e "\u258C")
|
||||||
right_top_border=$(echo -e '\u259C')
|
right_border=$(echo -e "\u2590")
|
||||||
left_bottom_border=$(echo -e '\u2599')
|
left_top_border=$(echo -e "\u259B")
|
||||||
right_bottom_border=$(echo -e '\u259F')
|
right_top_border=$(echo -e "\u259C")
|
||||||
box_break_line=$(echo -e '\u25AC')
|
left_bottom_border=$(echo -e "\u2599")
|
||||||
|
right_bottom_border=$(echo -e "\u259F")
|
||||||
|
box_break_line=$(echo -e "\u25AC")
|
||||||
|
;;
|
||||||
|
darwin )
|
||||||
|
top_border=$(echo -e "▀")
|
||||||
|
bottom_border=$(echo -e "▄")
|
||||||
|
left_border=$(echo -e "▌")
|
||||||
|
right_border=$(echo -e "▐")
|
||||||
|
left_top_border=$(echo -e "▛")
|
||||||
|
right_top_border=$(echo -e "▜")
|
||||||
|
left_bottom_border=$(echo -e "▙")
|
||||||
|
right_bottom_border=$(echo -e "▟")
|
||||||
|
box_break_line=$(echo -e "▫")
|
||||||
|
;;
|
||||||
|
cygwin )
|
||||||
|
top_border=$(echo -e "\u2580")
|
||||||
|
bottom_border=$(echo -e "\u2584")
|
||||||
|
left_border=$(echo -e "\u258C")
|
||||||
|
right_border=$(echo -e "\u2590")
|
||||||
|
left_top_border=$(echo -e "\u259B")
|
||||||
|
right_top_border=$(echo -e "\u259C")
|
||||||
|
left_bottom_border=$(echo -e "\u2599")
|
||||||
|
right_bottom_border=$(echo -e "\u259F")
|
||||||
|
box_break_line=$(echo -e "\u25AC")
|
||||||
|
;;
|
||||||
|
msys )
|
||||||
|
top_border=$(echo -e "\u2580")
|
||||||
|
bottom_border=$(echo -e "\u2584")
|
||||||
|
left_border=$(echo -e "\u258C")
|
||||||
|
right_border=$(echo -e "\u2590")
|
||||||
|
left_top_border=$(echo -e "\u259B")
|
||||||
|
right_top_border=$(echo -e "\u259C")
|
||||||
|
left_bottom_border=$(echo -e "\u2599")
|
||||||
|
right_bottom_border=$(echo -e "\u259F")
|
||||||
|
box_break_line=$(echo -e "\u25AC")
|
||||||
|
;;
|
||||||
|
esac
|
||||||
# ---------------------------------------#
|
# ---------------------------------------#
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -151,29 +314,103 @@ box-heavy(){
|
||||||
box-light(){
|
box-light(){
|
||||||
# ---------------------------------------#
|
# ---------------------------------------#
|
||||||
#top_border=$(echo -e '\u23BA')
|
#top_border=$(echo -e '\u23BA')
|
||||||
|
case $OSTYPE in
|
||||||
|
linux-gnu )
|
||||||
top_border=${light_h}
|
top_border=${light_h}
|
||||||
bottom_border=${light_h}
|
bottom_border=${light_h}
|
||||||
left_border=${light_v}
|
left_border=${light_v}
|
||||||
right_border=${light_v}
|
right_border=${light_v}
|
||||||
left_top_border=$(echo -e '\u23BE')
|
left_top_border=$(echo -e "\u23BE")
|
||||||
right_top_border=$(echo -e '\u23CB')
|
right_top_border=$(echo -e "\u23CB")
|
||||||
left_bottom_border=$(echo -e '\u23BF')
|
left_bottom_border=$(echo -e "\u23BF")
|
||||||
right_bottom_border=$(echo -e '\u23CC')
|
right_bottom_border=$(echo -e "\u23CC")
|
||||||
box_break_line=$(echo -e '\u23AF')
|
box_break_line=$(echo -e "\u23AF")
|
||||||
|
;;
|
||||||
|
darwin )
|
||||||
|
top_border=${light_h}
|
||||||
|
bottom_border=${light_h}
|
||||||
|
left_border=${light_v}
|
||||||
|
right_border=${light_v}
|
||||||
|
left_top_border=$(echo -e "⎾")
|
||||||
|
right_top_border=$(echo -e "⏋")
|
||||||
|
left_bottom_border=$(echo -e "⎿")
|
||||||
|
right_bottom_border=$(echo -e "⏌")
|
||||||
|
box_break_line=$(echo -e "⎯")
|
||||||
|
;;
|
||||||
|
cygwin )
|
||||||
|
top_border=${light_h}
|
||||||
|
bottom_border=${light_h}
|
||||||
|
left_border=${light_v}
|
||||||
|
right_border=${light_v}
|
||||||
|
left_top_border=$(echo -e "\u23BE")
|
||||||
|
right_top_border=$(echo -e "\u23CB")
|
||||||
|
left_bottom_border=$(echo -e "\u23BF")
|
||||||
|
right_bottom_border=$(echo -e "\u23CC")
|
||||||
|
box_break_line=$(echo -e "\u23AF")
|
||||||
|
;;
|
||||||
|
msys )
|
||||||
|
top_border=${light_h}
|
||||||
|
bottom_border=${light_h}
|
||||||
|
left_border=${light_v}
|
||||||
|
right_border=${light_v}
|
||||||
|
left_top_border=$(echo -e "\u23BE")
|
||||||
|
right_top_border=$(echo -e "\u23CB")
|
||||||
|
left_bottom_border=$(echo -e "\u23BF")
|
||||||
|
right_bottom_border=$(echo -e "\u23CC")
|
||||||
|
box_break_line=$(echo -e "\u23AF")
|
||||||
|
;;
|
||||||
|
esac
|
||||||
# ---------------------------------------#
|
# ---------------------------------------#
|
||||||
}
|
}
|
||||||
|
|
||||||
box-rounded(){
|
box-rounded(){
|
||||||
# ---------------------------------------#
|
# ---------------------------------------#
|
||||||
|
case $OSTYPE in
|
||||||
|
linux-gnu )
|
||||||
top_border=${light_h}
|
top_border=${light_h}
|
||||||
bottom_border=${light_h}
|
bottom_border=${light_h}
|
||||||
left_border=${light_v}
|
left_border=${light_v}
|
||||||
right_border=${light_v}
|
right_border=${light_v}
|
||||||
left_top_border=$(echo -e '\u256D')
|
left_top_border=$(echo -e "\u256D")
|
||||||
right_top_border=$(echo -e '\u256E')
|
right_top_border=$(echo -e "\u256E")
|
||||||
left_bottom_border=$(echo -e '\u2570')
|
left_bottom_border=$(echo -e "\u2570")
|
||||||
right_bottom_border=$(echo -e '\u256F')
|
right_bottom_border=$(echo -e "\u256F")
|
||||||
box_break_line=$(echo -e '\u25A2')
|
box_break_line=$(echo -e "\u25A2")
|
||||||
|
;;
|
||||||
|
darwin )
|
||||||
|
top_border=${light_h}
|
||||||
|
bottom_border=${light_h}
|
||||||
|
left_border=${light_v}
|
||||||
|
right_border=${light_v}
|
||||||
|
left_top_border=$(echo -e "╭")
|
||||||
|
right_top_border=$(echo -e "╮")
|
||||||
|
left_bottom_border=$(echo -e "╰")
|
||||||
|
right_bottom_border=$(echo -e "╯")
|
||||||
|
box_break_line=$(echo -e "▢")
|
||||||
|
;;
|
||||||
|
cygwin )
|
||||||
|
top_border=${light_h}
|
||||||
|
bottom_border=${light_h}
|
||||||
|
left_border=${light_v}
|
||||||
|
right_border=${light_v}
|
||||||
|
left_top_border=$(echo -e "\u256D")
|
||||||
|
right_top_border=$(echo -e "\u256E")
|
||||||
|
left_bottom_border=$(echo -e "\u2570")
|
||||||
|
right_bottom_border=$(echo -e "\u256F")
|
||||||
|
box_break_line=$(echo -e "\u25A2")
|
||||||
|
;;
|
||||||
|
msys )
|
||||||
|
top_border=${light_h}
|
||||||
|
bottom_border=${light_h}
|
||||||
|
left_border=${light_v}
|
||||||
|
right_border=${light_v}
|
||||||
|
left_top_border=$(echo -e "\u256D")
|
||||||
|
right_top_border=$(echo -e "\u256E")
|
||||||
|
left_bottom_border=$(echo -e "\u2570")
|
||||||
|
right_bottom_border=$(echo -e "\u256F")
|
||||||
|
box_break_line=$(echo -e "\u25A2")
|
||||||
|
;;
|
||||||
|
esac
|
||||||
# ---------------------------------------#
|
# ---------------------------------------#
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -191,7 +428,7 @@ box-singlechar(){
|
||||||
# ---------------------------------------#
|
# ---------------------------------------#
|
||||||
}
|
}
|
||||||
|
|
||||||
# set-boxtype(){
|
set-boxtype(){
|
||||||
case $boxtype in
|
case $boxtype in
|
||||||
norm) box-norm ;;
|
norm) box-norm ;;
|
||||||
double) box-double ;;
|
double) box-double ;;
|
||||||
|
|
@ -200,7 +437,7 @@ box-singlechar(){
|
||||||
rounded) box-rounded ;;
|
rounded) box-rounded ;;
|
||||||
char) box-singlechar ;;
|
char) box-singlechar ;;
|
||||||
esac
|
esac
|
||||||
# }
|
}
|
||||||
|
|
||||||
#set-boxtype
|
#set-boxtype
|
||||||
|
|
||||||
|
|
@ -235,6 +472,12 @@ boxseparator(){
|
||||||
echo
|
echo
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# # For printing center-justified text. To change the padding character, replace the ' ' <~~ whitespace in front of the '{' in the padding variable
|
||||||
|
# center() {
|
||||||
|
# padding="$(printf '%0.1s' {1..500})"
|
||||||
|
# printf '%*.*s %s %*.*s\n' 0 "$(((terminal_width-2-${#1})/2))" "$padding" "$1" 0 "$(((termwidth-1-${#1})/2))" "$padding"
|
||||||
|
# }
|
||||||
|
|
||||||
# For printing center-justified text. To change the padding character, replace the ' ' <~~ whitespace in front of the '{' in the padding variable
|
# For printing center-justified text. To change the padding character, replace the ' ' <~~ whitespace in front of the '{' in the padding variable
|
||||||
center() {
|
center() {
|
||||||
padding="$(printf '%0.2s' ={1..500})"
|
padding="$(printf '%0.2s' ={1..500})"
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue