fix(dotmatrix): follow style rules on variable quoting and arrays

This commit is contained in:
Johann Dreo 2022-08-19 10:40:01 +02:00
commit cde80a17ae

View file

@ -9,7 +9,7 @@ _lp_dotmatrix_theme_activate() {
DOTMATRIX_DISPLAY_TEXT=${DOTMATRIX_DISPLAY_TEXT:-"T"}
DOTMATRIX_DISPLAY_X11=${DOTMATRIX_DISPLAY_X11:-"X"}
DOTMATRIX_HOST_LOCAL=${POWERLINE_HOST_LOCAL:-"⌂"}
DOTMATRIX_HOST_LOCAL=${DOTMATRIX_HOST_LOCAL:-"⌂"}
DOTMATRIX_MARK_STASH=${DOTMATRIX_MARK_STASH:-"✝"}
DOTMATRIX_MARK_UNTRACKED=${DOTMATRIX_MARK_UNTRACKED:-"?"} # ⛶
DOTMATRIX_DIFF=${DOTMATRIX_DIFF:-"≠"}
@ -20,7 +20,7 @@ _lp_dotmatrix_theme_activate() {
DOTMATRIX_SPACED=${DOTMATRIX_SPACED:-0}
# Dotmatrix theme
DOTMATRIX_HOST_LOCAL=${POWERLINE_HOST_LOCAL:-"⌂"}
DOTMATRIX_HOST_LOCAL=${DOTMATRIX_HOST_LOCAL:-"⌂"}
DOTMATRIX_USER_LOCAL=${DOTMATRIX_USER_LOCAL:-"♟"}
DOTMATRIX_VCS=${DOTMATRIX_VCS:-"╟┘"}
DOTMATRIX_MARK=${DOTMATRIX_MARK:-"■"}
@ -29,17 +29,22 @@ _lp_dotmatrix_theme_activate() {
DOTMATRIX_SOFT=${DOTMATRIX_SOFT:-""}
DOTMATRIX_MEAN=${DOTMATRIX_MEAN:-"▞"}
# Separator arrays (left center right
[[ -z ${DOTMATRIX_LINK[@]+x} ]] && DOTMATRIX_LINK=("▙" " " "▜")
[[ -z ${DOTMATRIX_OPEN[@]+x} ]] && DOTMATRIX_OPEN=("▙" " ▚ " "▜")
[[ -z ${DOTMATRIX_DANG[@]+x} ]] && DOTMATRIX_DANG=("▙" " □ " "▜")
[[ -z ${DOTMATRIX_ENDS[@]+x} ]] && DOTMATRIX_ENDS=("▛▞▗ ▝" "▖ ▘▞▟")
[[ -z ${DOTMATRIX_ITEMS[@]+x} ]] && DOTMATRIX_ITEMS=("┫" "┃" "┣")
DOTMATRIX_LINK=( ${DOTMATRIX_LINK[@]+"${DOTMATRIX_LINK[@]}"} )
[[ ${#DOTMATRIX_LINK[@]} == 0 ]] && DOTMATRIX_LINK=("▙" " " "▜")
DOTMATRIX_OPEN=( ${DOTMATRIX_OPEN[@]+"${DOTMATRIX_OPEN[@]}"} )
[[ ${#DOTMATRIX_OPEN[@]} == 0 ]] && DOTMATRIX_OPEN=("▙" " ▚ " "▜")
DOTMATRIX_DANG=( ${DOTMATRIX_DANG[@]+"${DOTMATRIX_DANG[@]}"} )
[[ ${#DOTMATRIX_DANG[@]} == 0 ]] && DOTMATRIX_DANG=("▙" " □ " "▜")
DOTMATRIX_ENDS=( ${DOTMATRIX_ENDS[@]+"${DOTMATRIX_ENDS[@]}"} )
[[ ${#DOTMATRIX_ENDS[@]} == 0 ]] && DOTMATRIX_ENDS=("▛▞▗ ▝" "▖ ▘▞▟")
DOTMATRIX_ITEMS=( ${DOTMATRIX_ITEMS[@]+"${DOTMATRIX_ITEMS[@]}"} )
[[ ${#DOTMATRIX_ITEMS[@]} == 0 ]] && DOTMATRIX_ITEMS=("┫" "┃" "┣")
elif [[ "${DOTMATRIX_VARIANT}" == "text" ]] ; then
DOTMATRIX_SPACED=${DOTMATRIX_SPACED:-0}
# Dotmatrix theme
DOTMATRIX_HOST_LOCAL=${POWERLINE_HOST_LOCAL:-"lcl"}
DOTMATRIX_HOST_LOCAL=${DOTMATRIX_HOST_LOCAL:-"lcl"}
DOTMATRIX_USER_LOCAL=${DOTMATRIX_USER_LOCAL:-"me"}
DOTMATRIX_VCS=${DOTMATRIX_VCS:-"VCS"}
DOTMATRIX_MARK=${DOTMATRIX_MARK:-">"}
@ -48,18 +53,23 @@ _lp_dotmatrix_theme_activate() {
DOTMATRIX_SOFT=${DOTMATRIX_SOFT:-""}
DOTMATRIX_MEAN=${DOTMATRIX_MEAN:-"┃"}
# Separator arrays (left center right
[[ -z ${DOTMATRIX_LINK[@]+x} ]] && DOTMATRIX_LINK=("▌" "<" "▐")
[[ -z ${DOTMATRIX_OPEN[@]+x} ]] && DOTMATRIX_OPEN=("▌" "<<" "▐")
[[ -z ${DOTMATRIX_DANG[@]+x} ]] && DOTMATRIX_DANG=("▌" "<<<" "▐")
[[ -z ${DOTMATRIX_ENDS[@]+x} ]] && DOTMATRIX_ENDS=("▌···" "···▐")
[[ -z ${DOTMATRIX_ITEMS[@]+x} ]] && DOTMATRIX_ITEMS=("┫" "┃" "┣")
DOTMATRIX_LINK=( ${DOTMATRIX_LINK[@]+"${DOTMATRIX_LINK[@]}"} )
[[ ${#DOTMATRIX_LINK[@]} == 0 ]] && DOTMATRIX_LINK=("▌" "<" "▐")
DOTMATRIX_OPEN=( ${DOTMATRIX_OPEN[@]+"${DOTMATRIX_OPEN[@]}"} )
[[ ${#DOTMATRIX_OPEN[@]} == 0 ]] && DOTMATRIX_OPEN=("▌" "<<" "▐")
DOTMATRIX_DANG=( ${DOTMATRIX_DANG[@]+"${DOTMATRIX_DANG[@]}"} )
[[ ${#DOTMATRIX_DANG[@]} == 0 ]] && DOTMATRIX_DANG=("▌" "<<<" "▐")
DOTMATRIX_ENDS=( ${DOTMATRIX_ENDS[@]+"${DOTMATRIX_ENDS[@]}"} )
[[ ${#DOTMATRIX_ENDS[@]} == 0 ]] && DOTMATRIX_ENDS=("▌···" "···▐")
DOTMATRIX_ITEMS=( ${DOTMATRIX_ITEMS[@]+"${DOTMATRIX_ITEMS[@]}"} )
[[ ${#DOTMATRIX_ITEMS[@]} == 0 ]] && DOTMATRIX_ITEMS=("┫" "┃" "┣")
elif [[ "${DOTMATRIX_VARIANT}" == "chevron" ]] ; then
DOTMATRIX_SPACED=${DOTMATRIX_SPACED:-1}
# Powerline chevron theme
DOTMATRIX_HOST_LOCAL=${POWERLINE_HOST_LOCAL:-""}
DOTMATRIX_HOST_LOCAL=${DOTMATRIX_HOST_LOCAL:-""}
DOTMATRIX_USER_LOCAL=${DOTMATRIX_USER_LOCAL:-""}
DOTMATRIX_VCS=${DOTMATRIX_VCS:-""}
DOTMATRIX_MARK=${DOTMATRIX_MARK:-""}
@ -67,17 +77,22 @@ _lp_dotmatrix_theme_activate() {
DOTMATRIX_PLUG=${DOTMATRIX_PLUG:-""}
DOTMATRIX_SOFT=${DOTMATRIX_SOFT:-""}
DOTMATRIX_MEAN=${DOTMATRIX_MEAN:-""}
[[ -z ${DOTMATRIX_LINK[@]+x} ]] && DOTMATRIX_LINK=("" "" "")
[[ -z ${DOTMATRIX_OPEN[@]+x} ]] && DOTMATRIX_OPEN=("" "" "")
[[ -z ${DOTMATRIX_DANG[@]+x} ]] && DOTMATRIX_DANG=("" "" "")
[[ -z ${DOTMATRIX_ENDS[@]+x} ]] && DOTMATRIX_ENDS=("" "")
[[ -z ${DOTMATRIX_ITEMS[@]+x} ]] && DOTMATRIX_ITEMS=("" "┃" "")
DOTMATRIX_LINK=( ${DOTMATRIX_LINK[@]+"${DOTMATRIX_LINK[@]}"} )
[[ ${#DOTMATRIX_LINK[@]} == 0 ]] && DOTMATRIX_LINK=("" "" "")
DOTMATRIX_OPEN=( ${DOTMATRIX_OPEN[@]+"${DOTMATRIX_OPEN[@]}"} )
[[ ${#DOTMATRIX_OPEN[@]} == 0 ]] && DOTMATRIX_OPEN=("" "" "")
DOTMATRIX_DANG=( ${DOTMATRIX_DANG[@]+"${DOTMATRIX_DANG[@]}"} )
[[ ${#DOTMATRIX_DANG[@]} == 0 ]] && DOTMATRIX_DANG=("" "" "")
DOTMATRIX_ENDS=( ${DOTMATRIX_ENDS[@]+"${DOTMATRIX_ENDS[@]}"} )
[[ ${#DOTMATRIX_ENDS[@]} == 0 ]] && DOTMATRIX_ENDS=("" "")
DOTMATRIX_ITEMS=( ${DOTMATRIX_ITEMS[@]+"${DOTMATRIX_ITEMS[@]}"} )
[[ ${#DOTMATRIX_ITEMS[@]} == 0 ]] && DOTMATRIX_ITEMS=("" "┃" "")
elif [[ "${DOTMATRIX_VARIANT}" == "round" ]] ; then
DOTMATRIX_SPACED=${DOTMATRIX_SPACED:-1}
# Powerline round theme
DOTMATRIX_HOST_LOCAL=${POWERLINE_HOST_LOCAL:-""}
DOTMATRIX_HOST_LOCAL=${DOTMATRIX_HOST_LOCAL:-""}
DOTMATRIX_USER_LOCAL=${DOTMATRIX_USER_LOCAL:-""}
DOTMATRIX_VCS=${DOTMATRIX_VCS:-""}
DOTMATRIX_MARK=${DOTMATRIX_MARK:-""}
@ -85,17 +100,22 @@ _lp_dotmatrix_theme_activate() {
DOTMATRIX_PLUG=${DOTMATRIX_PLUG:-""}
DOTMATRIX_SOFT=${DOTMATRIX_SOFT:-""}
DOTMATRIX_MEAN=${DOTMATRIX_MEAN:-""}
[[ -z ${DOTMATRIX_LINK[@]+x} ]] && DOTMATRIX_LINK=("█" "" "")
[[ -z ${DOTMATRIX_OPEN[@]+x} ]] && DOTMATRIX_OPEN=("█" "" "")
[[ -z ${DOTMATRIX_DANG[@]+x} ]] && DOTMATRIX_DANG=("█" "" "")
[[ -z ${DOTMATRIX_ENDS[@]+x} ]] && DOTMATRIX_ENDS=("" "")
[[ -z ${DOTMATRIX_ITEMS[@]+x} ]] && DOTMATRIX_ITEMS=("" "┃" "")
DOTMATRIX_LINK=( ${DOTMATRIX_LINK[@]+"${DOTMATRIX_LINK[@]}"} )
[[ ${#DOTMATRIX_LINK[@]} == 0 ]] && DOTMATRIX_LINK=("█" "" "")
DOTMATRIX_OPEN=( ${DOTMATRIX_OPEN[@]+"${DOTMATRIX_OPEN[@]}"} )
[[ ${#DOTMATRIX_OPEN[@]} == 0 ]] && DOTMATRIX_OPEN=("█" "" "")
DOTMATRIX_DANG=( ${DOTMATRIX_DANG[@]+"${DOTMATRIX_DANG[@]}"} )
[[ ${#DOTMATRIX_DANG[@]} == 0 ]] && DOTMATRIX_DANG=("█" "" "")
DOTMATRIX_ENDS=( ${DOTMATRIX_ENDS[@]+"${DOTMATRIX_ENDS[@]}"} )
[[ ${#DOTMATRIX_ENDS[@]} == 0 ]] && DOTMATRIX_ENDS=("" "")
DOTMATRIX_ITEMS=( ${DOTMATRIX_ITEMS[@]+"${DOTMATRIX_ITEMS[@]}"} )
[[ ${#DOTMATRIX_ITEMS[@]} == 0 ]] && DOTMATRIX_ITEMS=("" "┃" "")
elif [[ "${DOTMATRIX_VARIANT}" == "slant" ]] ; then
DOTMATRIX_SPACED=${DOTMATRIX_SPACED:-1}
# Powerline slanted theme
DOTMATRIX_HOST_LOCAL=${POWERLINE_HOST_LOCAL:-""}
DOTMATRIX_HOST_LOCAL=${DOTMATRIX_HOST_LOCAL:-""}
DOTMATRIX_USER_LOCAL=${DOTMATRIX_USER_LOCAL:-""}
DOTMATRIX_VCS=${DOTMATRIX_VCS:-""}
DOTMATRIX_MARK=${DOTMATRIX_MARK:-""}
@ -103,11 +123,16 @@ _lp_dotmatrix_theme_activate() {
DOTMATRIX_PLUG=${DOTMATRIX_PLUG:-""}
DOTMATRIX_SOFT=${DOTMATRIX_SOFT:-""}
DOTMATRIX_MEAN=${DOTMATRIX_MEAN:-""}
[[ -z ${DOTMATRIX_LINK[@]+x} ]] && DOTMATRIX_LINK=("" "" "")
[[ -z ${DOTMATRIX_OPEN[@]+x} ]] && DOTMATRIX_OPEN=("" "" "")
[[ -z ${DOTMATRIX_DANG[@]+x} ]] && DOTMATRIX_DANG=("" "" "")
[[ -z ${DOTMATRIX_ENDS[@]+x} ]] && DOTMATRIX_ENDS=("" "")
[[ -z ${DOTMATRIX_ITEMS[@]+x} ]] && DOTMATRIX_ITEMS=("" "┃" "")
DOTMATRIX_LINK=( ${DOTMATRIX_LINK[@]+"${DOTMATRIX_LINK[@]}"} )
[[ ${#DOTMATRIX_LINK[@]} == 0 ]] && DOTMATRIX_LINK=("" "" "")
DOTMATRIX_OPEN=( ${DOTMATRIX_OPEN[@]+"${DOTMATRIX_OPEN[@]}"} )
[[ ${#DOTMATRIX_OPEN[@]} == 0 ]] && DOTMATRIX_OPEN=("" "" "")
DOTMATRIX_DANG=( ${DOTMATRIX_DANG[@]+"${DOTMATRIX_DANG[@]}"} )
[[ ${#DOTMATRIX_DANG[@]} == 0 ]] && DOTMATRIX_DANG=("" "" "")
DOTMATRIX_ENDS=( ${DOTMATRIX_ENDS[@]+"${DOTMATRIX_ENDS[@]}"} )
[[ ${#DOTMATRIX_ENDS[@]} == 0 ]] && DOTMATRIX_ENDS=("" "")
DOTMATRIX_ITEMS=( ${DOTMATRIX_ITEMS[@]+"${DOTMATRIX_ITEMS[@]}"} )
[[ ${#DOTMATRIX_ITEMS[@]} == 0 ]] && DOTMATRIX_ITEMS=("" "┃" "")
fi
@ -135,26 +160,57 @@ _lp_dotmatrix_theme_activate() {
# Color arrays defaults fg bg b u ffg fbg
[[ -z ${DOTMATRIX_COLOR_DARK[@]+x} ]] && DOTMATRIX_COLOR_DARK=(252 239 0 0 15 0)
[[ -z ${DOTMATRIX_COLOR_LITE[@]+x} ]] && DOTMATRIX_COLOR_LITE=(239 252 0 0 0 15)
[[ -z ${DOTMATRIX_COLOR_GLOW[@]+x} ]] && DOTMATRIX_COLOR_GLOW=( 0 252 1 0 0 15)
[[ -z ${DOTMATRIX_COLOR_NOTE[@]+x} ]] && DOTMATRIX_COLOR_NOTE=( 15 33 0 0 15 12)
[[ -z ${DOTMATRIX_COLOR_WARN[@]+x} ]] && DOTMATRIX_COLOR_WARN=(196 220 1 0 0 11)
[[ -z ${DOTMATRIX_COLOR_FAIR[@]+x} ]] && DOTMATRIX_COLOR_FAIR=( 0 244 0 0 0 8)
DOTMATRIX_COLOR_DARK=( ${DOTMATRIX_COLOR_DARK[@]+"${DOTMATRIX_COLOR_DARK[@]}"} )
[[ ${#DOTMATRIX_COLOR_DARK[@]} == 0 ]] && DOTMATRIX_COLOR_DARK=(252 239 0 0 15 0)
[[ -z ${DOTMATRIX_COLOR_PATH_SHORT[@]+x} ]] && DOTMATRIX_COLOR_PATH_SHORT=(252 239 0 0 0 15)
[[ -z ${DOTMATRIX_COLOR_PATH_VCS[@]+x} ]] && DOTMATRIX_COLOR_PATH_VCS=(252 239 0 1 0 15)
[[ -z ${DOTMATRIX_COLOR_PATH_LAST[@]+x} ]] && DOTMATRIX_COLOR_PATH_LAST=(15 239 1 0 0 15)
DOTMATRIX_COLOR_LITE=( ${DOTMATRIX_COLOR_LITE[@]+"${DOTMATRIX_COLOR_LITE[@]}"} )
[[ ${#DOTMATRIX_COLOR_LITE[@]} == 0 ]] && DOTMATRIX_COLOR_LITE=(239 252 0 0 0 15)
[[ -z ${DOTMATRIX_COLOR_LINE[@]+x} ]] && DOTMATRIX_COLOR_LINE=(244 -1 0 0 15 -1)
# [[ -z ${DOTMATRIX_COLOR_LINE_START[@]+x} ]] && DOTMATRIX_COLOR_LINE_START=(255 -1 1 0 15 -1)
# [[ -z ${DOTMATRIX_COLOR_LINE_END[@]+x} ]] && DOTMATRIX_COLOR_LINE_END=(232 -1 1 0 15 -1)
DOTMATRIX_COLOR_GLOW=( ${DOTMATRIX_COLOR_GLOW[@]+"${DOTMATRIX_COLOR_GLOW[@]}"} )
[[ ${#DOTMATRIX_COLOR_GLOW[@]} == 0 ]] && DOTMATRIX_COLOR_GLOW=( 0 252 1 0 0 15)
[[ -z ${DOTMATRIX_COLOR_MARK[@]+x} ]] && DOTMATRIX_COLOR_MARK=(15 -1 0 0 15 -1)
DOTMATRIX_COLOR_NOTE=( ${DOTMATRIX_COLOR_NOTE[@]+"${DOTMATRIX_COLOR_NOTE[@]}"} )
[[ ${#DOTMATRIX_COLOR_NOTE[@]} == 0 ]] && DOTMATRIX_COLOR_NOTE=( 15 33 0 0 15 12)
DOTMATRIX_COLOR_WARN=( ${DOTMATRIX_COLOR_WARN[@]+"${DOTMATRIX_COLOR_WARN[@]}"} )
[[ ${#DOTMATRIX_COLOR_WARN[@]} == 0 ]] && DOTMATRIX_COLOR_WARN=(196 220 1 0 0 11)
DOTMATRIX_COLOR_FAIR=( ${DOTMATRIX_COLOR_FAIR[@]+"${DOTMATRIX_COLOR_FAIR[@]}"} )
[[ ${#DOTMATRIX_COLOR_FAIR[@]} == 0 ]] && DOTMATRIX_COLOR_FAIR=( 0 244 0 0 0 8)
DOTMATRIX_COLOR_PATH_SHORT=( ${DOTMATRIX_COLOR_PATH_SHORT[@]+"${DOTMATRIX_COLOR_PATH_SHORT[@]}"} )
[[ ${#DOTMATRIX_COLOR_PATH_SHORT[@]} == 0 ]] && DOTMATRIX_COLOR_PATH_SHORT=(252 239 0 0 0 15)
DOTMATRIX_COLOR_PATH_VCS=( ${DOTMATRIX_COLOR_PATH_VCS[@]+"${DOTMATRIX_COLOR_PATH_VCS[@]}"} )
[[ ${#DOTMATRIX_COLOR_PATH_VCS[@]} == 0 ]] && DOTMATRIX_COLOR_PATH_VCS=(252 239 0 1 0 15)
DOTMATRIX_COLOR_PATH_LAST=( ${DOTMATRIX_COLOR_PATH_LAST[@]+"${DOTMATRIX_COLOR_PATH_LAST[@]}"} )
[[ ${#DOTMATRIX_COLOR_PATH_LAST[@]} == 0 ]] && DOTMATRIX_COLOR_PATH_LAST=(15 239 1 0 0 15)
DOTMATRIX_COLOR_LINE=( ${DOTMATRIX_COLOR_LINE[@]+"${DOTMATRIX_COLOR_LINE[@]}"} )
[[ ${#DOTMATRIX_COLOR_LINE[@]} == 0 ]] && DOTMATRIX_COLOR_LINE=(244 -1 0 0 15 -1)
# DOTMATRIX_COLOR_LINE_START=( ${DOTMATRIX_COLOR_LINE_START[@]+"${DOTMATRIX_COLOR_LINE_START[@]}"} )
# [[ ${#DOTMATRIX_COLOR_LINE_START[@]} == 0 ]] && DOTMATRIX_COLOR_LINE_START=(255 -1 1 0 15 -1)
DOTMATRIX_COLOR_LINE_END=( ${DOTMATRIX_COLOR_LINE_END[@]+"${DOTMATRIX_COLOR_LINE_END[@]}"} )
[[ ${#DOTMATRIX_COLOR_LINE_END[@]} == 0 ]] && DOTMATRIX_COLOR_LINE_END=(232 -1 1 0 15 -1)
DOTMATRIX_COLOR_MARK=( ${DOTMATRIX_COLOR_MARK[@]+"${DOTMATRIX_COLOR_MARK[@]}"} )
[[ ${#DOTMATRIX_COLOR_MARK[@]} == 0 ]] && DOTMATRIX_COLOR_MARK=(15 -1 0 0 15 -1)
DOTMATRIX_COLOR_SEP_DARK=( ${DOTMATRIX_COLOR_SEP_DARK[@]+"${DOTMATRIX_COLOR_SEP_DARK[@]}"} )
[[ ${#DOTMATRIX_COLOR_SEP_DARK[@]} == 0 ]] && DOTMATRIX_COLOR_SEP_DARK=( 0 -2 0 0 0 -2)
DOTMATRIX_COLOR_SEP_FAIR=( ${DOTMATRIX_COLOR_SEP_FAIR[@]+"${DOTMATRIX_COLOR_SEP_FAIR[@]}"} )
[[ ${#DOTMATRIX_COLOR_SEP_FAIR[@]} == 0 ]] && DOTMATRIX_COLOR_SEP_FAIR=(244 -2 0 0 0 -2)
DOTMATRIX_COLOR_SEP_LITE=( ${DOTMATRIX_COLOR_SEP_LITE[@]+"${DOTMATRIX_COLOR_SEP_LITE[@]}"} )
[[ ${#DOTMATRIX_COLOR_SEP_LITE[@]} == 0 ]] && DOTMATRIX_COLOR_SEP_LITE=( 15 -2 0 0 15 -2)
[[ -z ${DOTMATRIX_COLOR_SEP_DARK[@]+x} ]] && DOTMATRIX_COLOR_SEP_DARK=( 0 -2 0 0 0 -2)
[[ -z ${DOTMATRIX_COLOR_SEP_FAIR[@]+x} ]] && DOTMATRIX_COLOR_SEP_FAIR=(244 -2 0 0 0 -2)
[[ -z ${DOTMATRIX_COLOR_SEP_LITE[@]+x} ]] && DOTMATRIX_COLOR_SEP_LITE=( 15 -2 0 0 15 -2)
__dotmatrix_activate_display
__dotmatrix_activate_connection
@ -165,7 +221,7 @@ _lp_dotmatrix_theme_activate() {
_lp_dotmatrix_theme_directory() {
lp_terminal_format "${DOTMATRIX_COLOR_LITE[@]}"
lp_terminal_format ${DOTMATRIX_COLOR_LITE[@]+"${DOTMATRIX_COLOR_LITE[@]}"}
__dotmatrix_directory_FS
__dotmatrix_directory_path
}
@ -197,14 +253,14 @@ _lp_dotmatrix_theme_prompt() {
header+="${_DOTMATRIX_PATH} "
if _lp_dirstack; then
__dotmatrix_make_sep_plug "${DOTMATRIX_COLOR_LITE[@]}"
__dotmatrix_make_sep_plug ${DOTMATRIX_COLOR_LITE[@]+"${DOTMATRIX_COLOR_LITE[@]}"}
header+="${dotmatrix_sep}"
__dotmatrix_make_field "${lp_dirstack}" "${DOTMATRIX_COLOR_LITE[@]}"
__dotmatrix_make_field $lp_dirstack ${DOTMATRIX_COLOR_LITE[@]+"${DOTMATRIX_COLOR_LITE[@]}"}
header+="${dotmatrix_field}"
else
# Recall a dark format to correctly reset sections history
# to match the path's section colors.
lp_terminal_format "${DOTMATRIX_COLOR_DARK[@]}"
lp_terminal_format ${DOTMATRIX_COLOR_DARK[@]+"${DOTMATRIX_COLOR_DARK[@]}"}
fi
__dotmatrix_make_sep_last
@ -218,46 +274,46 @@ _lp_dotmatrix_theme_prompt() {
side="${dotmatrix_sep}"
# battery / load / temperature
__dotmatrix_make_sep_plug "${DOTMATRIX_COLOR_DARK[@]}"
__dotmatrix_make_sep_plug ${DOTMATRIX_COLOR_DARK[@]+"${DOTMATRIX_COLOR_DARK[@]}"}
local blt_plug="${dotmatrix_sep}"
local battery=""
if _lp_battery ; then
__dotmatrix_make_field "$lp_battery" "${DOTMATRIX_COLOR_DARK[@]}"
__dotmatrix_make_field "$lp_battery" ${DOTMATRIX_COLOR_DARK[@]+"${DOTMATRIX_COLOR_DARK[@]}"}
battery="${dotmatrix_field}${LP_MARK_BATTERY}"
fi
local load=""
if _lp_load ; then
__dotmatrix_make_field "$lp_load" "${DOTMATRIX_COLOR_DARK[@]}"
__dotmatrix_make_field "$lp_load" ${DOTMATRIX_COLOR_DARK[@]+"${DOTMATRIX_COLOR_DARK[@]}"}
load="${dotmatrix_field}${LP_MARK_LOAD}"
fi
local temperature=""
if _lp_temperature ; then
__dotmatrix_make_field "$lp_temperature" "${DOTMATRIX_COLOR_DARK[@]}"
__dotmatrix_make_field "$lp_temperature" ${DOTMATRIX_COLOR_DARK[@]+"${DOTMATRIX_COLOR_DARK[@]}"}
temperature="${dotmatrix_field}${LP_MARK_TEMP}"
fi
__dotmatrix_make_sep_soft "${DOTMATRIX_COLOR_SEP_DARK[@]}"
__dotmatrix_make_sep_soft ${DOTMATRIX_COLOR_SEP_DARK[@]+"${DOTMATRIX_COLOR_SEP_DARK[@]}"}
# Non-bracketed variables are intentionals,
# so that if the variable is null, it does not count in the arguments array.
__dotmatrix_join_fields "$dotmatrix_sep" $battery $load $temperature
if [[ -n "$dotmatrix_join_fields" ]] ; then
side+="${blt_plug}${dotmatrix_join_fields}"
else
lp_terminal_format "${DOTMATRIX_COLOR_FAIR[@]}"
lp_terminal_format ${DOTMATRIX_COLOR_FAIR[@]+"${DOTMATRIX_COLOR_FAIR[@]}"}
side+="${lp_terminal_format}"
fi
# jobs: detached / running / stopped
__dotmatrix_make_sep_plug "${DOTMATRIX_COLOR_LITE[@]}"
__dotmatrix_make_sep_plug ${DOTMATRIX_COLOR_LITE[@]+"${DOTMATRIX_COLOR_LITE[@]}"}
local djc_plug="${dotmatrix_sep}"
local detached_sessions=""
if _lp_detached_sessions ; then
if [[ -n "${lp_detached_sessions}" && "${lp_detached_sessions}" > 0 ]] ; then
__dotmatrix_make_field "${lp_detached_sessions}d" "${DOTMATRIX_COLOR_LITE[@]}"
__dotmatrix_make_field "${lp_detached_sessions}d" ${DOTMATRIX_COLOR_LITE[@]+"${DOTMATRIX_COLOR_LITE[@]}"}
detached_sessions="${dotmatrix_field}"
fi
fi
@ -266,34 +322,34 @@ _lp_dotmatrix_theme_prompt() {
local stopped_jobs=""
if _lp_jobcount ; then
if [[ -n "${lp_running_jobs}" && "${lp_running_jobs}" > 0 ]] ; then
__dotmatrix_make_field "${lp_running_jobs}&" "${DOTMATRIX_COLOR_LITE[@]}"
__dotmatrix_make_field "${lp_running_jobs}&" ${DOTMATRIX_COLOR_LITE[@]+"${DOTMATRIX_COLOR_LITE[@]}"}
running_jobs="${dotmatrix_field}"
fi
if [[ -n "${lp_stopped_jobs}" && "${lp_stopped_jobs}" > 0 ]] ; then
__dotmatrix_make_field "${lp_stopped_jobs}z" "${DOTMATRIX_COLOR_LITE[@]}"
__dotmatrix_make_field "${lp_stopped_jobs}z" ${DOTMATRIX_COLOR_LITE[@]+"${DOTMATRIX_COLOR_LITE[@]}"}
stopped_jobs="${dotmatrix_field}"
fi
fi
__dotmatrix_make_sep_soft "${DOTMATRIX_COLOR_SEP_LITE[@]}"
__dotmatrix_make_sep_soft ${DOTMATRIX_COLOR_SEP_LITE[@]+"${DOTMATRIX_COLOR_SEP_LITE[@]}"}
__dotmatrix_join_fields "$dotmatrix_sep" ${detached_sessions} ${running_jobs} ${stopped_jobs}
if [[ -n "$dotmatrix_join_fields" ]] ; then
side+="${djc_plug}${dotmatrix_join_fields}"
else
lp_terminal_format "${DOTMATRIX_COLOR_FAIR[@]}"
lp_terminal_format ${DOTMATRIX_COLOR_FAIR[@]+"${DOTMATRIX_COLOR_FAIR[@]}"}
side+="${lp_terminal_format}"
fi
# clock
if _lp_time ; then
__dotmatrix_make_sep_plug "${DOTMATRIX_COLOR_DARK[@]}"
__dotmatrix_make_sep_plug ${DOTMATRIX_COLOR_DARK[@]+"${DOTMATRIX_COLOR_DARK[@]}"}
side+="${dotmatrix_sep}"
if _lp_analog_time ; then
__dotmatrix_make_field "$lp_analog_time" "${DOTMATRIX_COLOR_DARK[@]}"
__dotmatrix_make_field "$lp_analog_time" ${DOTMATRIX_COLOR_DARK[@]+"${DOTMATRIX_COLOR_DARK[@]}"}
side+="$dotmatrix_field"
else
__dotmatrix_make_field "$lp_time" "${DOTMATRIX_COLOR_DARK[@]}"
__dotmatrix_make_field "$lp_time" ${DOTMATRIX_COLOR_DARK[@]+"${DOTMATRIX_COLOR_DARK[@]}"}
side+="$dotmatrix_field"
fi
fi
@ -319,7 +375,7 @@ _lp_dotmatrix_theme_prompt() {
inline="$LP_PS1_PREFIX${NO_COL}"
local lp_terminal_format
lp_terminal_format "${DOTMATRIX_COLOR_LINE[@]}"
lp_terminal_format ${DOTMATRIX_COLOR_LINE[@]+"${DOTMATRIX_COLOR_LINE[@]}"}
local inline_width
if _lp_software_collections ; then
@ -338,7 +394,7 @@ _lp_dotmatrix_theme_prompt() {
# Gradient line: too slow (or not enough optimized? check COLUMNS change before recompute?)
# for i in $(seq ${inline_width}) ; do
# local dash_color=()
# for c in $(seq 0 $((${#DOTMATRIX_COLOR_LINE_START[@]}-1)) ); do
# for c in $(seq 0 $(${#DOTMATRIX_COLOR_LINE_START[@]+"${DOTMATRIX_COLOR_LINE_START[@]}-}1)) ); do
# f=$(bc -l <<< "$i / ${inline_width}")
# a=${DOTMATRIX_COLOR_LINE_START[c]}
# b=${DOTMATRIX_COLOR_LINE_END[c]}
@ -346,7 +402,7 @@ _lp_dotmatrix_theme_prompt() {
# dash_color+=($j)
# done
#
# lp_terminal_format ${dash_color[@]}
# lp_terminal_format ${dash_color[@]+"${dash_color[@]}"}
# inline+="${lp_terminal_format}${inline}"
# done
@ -355,25 +411,25 @@ _lp_dotmatrix_theme_prompt() {
####################################################################
prompt=""
lp_terminal_format "${DOTMATRIX_COLOR_DARK[@]}"
lp_terminal_format ${DOTMATRIX_COLOR_DARK[@]+"${DOTMATRIX_COLOR_DARK[@]}"}
prompt+="${lp_terminal_format}·" # Put internet here when (if) it's done.
local net_sep_color="${DOTMATRIX_COLOR_LITE[@]}"
local net_sep_color=${DOTMATRIX_COLOR_LITE[@]+"${DOTMATRIX_COLOR_LITE[@]}"}
if _lp_find_vcs && _lp_vcs_commits_off_remote ; then
if _lp_http_proxy ; then
__dotmatrix_make_sep_link "${DOTMATRIX_COLOR_LITE[@]}"
__dotmatrix_make_sep_link ${DOTMATRIX_COLOR_LITE[@]+"${DOTMATRIX_COLOR_LITE[@]}"}
prompt+="${dotmatrix_sep}"
else
__dotmatrix_make_sep_plug "${DOTMATRIX_COLOR_LITE[@]}"
__dotmatrix_make_sep_plug ${DOTMATRIX_COLOR_LITE[@]+"${DOTMATRIX_COLOR_LITE[@]}"}
prompt+="${dotmatrix_sep}"
fi
else
if _lp_http_proxy ; then
__dotmatrix_make_sep_link "${DOTMATRIX_COLOR_DARK[@]}"
__dotmatrix_make_sep_link ${DOTMATRIX_COLOR_DARK[@]+"${DOTMATRIX_COLOR_DARK[@]}"}
prompt+="${dotmatrix_sep}"
else
__dotmatrix_make_sep_mid "${DOTMATRIX_COLOR_DARK[@]}"
__dotmatrix_make_sep_mid ${DOTMATRIX_COLOR_DARK[@]+"${DOTMATRIX_COLOR_DARK[@]}"}
prompt+="${dotmatrix_sep}${DOTMATRIX_SPACE_VOID}"
fi
@ -383,20 +439,20 @@ _lp_dotmatrix_theme_prompt() {
prompt+="${_DOTMATRIX_VCS}"
if _lp_runtime_format ; then
__dotmatrix_make_sep_plug "${DOTMATRIX_COLOR_NOTE[@]}"
__dotmatrix_make_field "${lp_runtime_format}" "${DOTMATRIX_COLOR_NOTE[@]}"
__dotmatrix_make_sep_plug ${DOTMATRIX_COLOR_NOTE[@]+"${DOTMATRIX_COLOR_NOTE[@]}"}
__dotmatrix_make_field "${lp_runtime_format}" ${DOTMATRIX_COLOR_NOTE[@]+"${DOTMATRIX_COLOR_NOTE[@]}"}
prompt+="${dotmatrix_sep}${dotmatrix_field}"
fi
if _lp_error ; then
__dotmatrix_make_sep_plug "${DOTMATRIX_COLOR_WARN[@]}"
__dotmatrix_make_field "${lp_error}" "${DOTMATRIX_COLOR_WARN[@]}"
__dotmatrix_make_sep_plug ${DOTMATRIX_COLOR_WARN[@]+"${DOTMATRIX_COLOR_WARN[@]}"}
__dotmatrix_make_field "${lp_error}" ${DOTMATRIX_COLOR_WARN[@]+"${DOTMATRIX_COLOR_WARN[@]}"}
prompt+="${dotmatrix_sep}${dotmatrix_field}"
fi
__dotmatrix_make_sep_plug "${DOTMATRIX_COLOR_MARK[@]}"
__dotmatrix_make_sep_plug ${DOTMATRIX_COLOR_MARK[@]+"${DOTMATRIX_COLOR_MARK[@]}"}
prompt+="${dotmatrix_sep}"
lp_terminal_format "${DOTMATRIX_COLOR_MARK[@]}"
lp_terminal_format ${DOTMATRIX_COLOR_MARK[@]+"${DOTMATRIX_COLOR_MARK[@]}"}
prompt+="${lp_terminal_format}${DOTMATRIX_MARK}"
prompt+="${NO_COL}"
@ -411,11 +467,11 @@ _lp_dotmatrix_theme_prompt() {
__dotmatrix_activate_display() {
if _lp_connected_display ; then
__dotmatrix_make_field "${DOTMATRIX_DISPLAY_X11}" "${DOTMATRIX_COLOR_LITE[@]}"
_DOTMATRIX_DISPLAY=${dotmatrix_field}
__dotmatrix_make_field $DOTMATRIX_DISPLAY_X11 ${DOTMATRIX_COLOR_LITE[@]+"${DOTMATRIX_COLOR_LITE[@]}"}
_DOTMATRIX_DISPLAY=$dotmatrix_field
else
__dotmatrix_make_field "${DOTMATRIX_DISPLAY_TEXT}" "${DOTMATRIX_COLOR_DARK[@]}"
_DOTMATRIX_DISPLAY=${dotmatrix_field}
__dotmatrix_make_field $DOTMATRIX_DISPLAY_TEXT ${DOTMATRIX_COLOR_DARK[@]+"${DOTMATRIX_COLOR_DARK[@]}"}
_DOTMATRIX_DISPLAY=$dotmatrix_field
fi
}
@ -426,13 +482,13 @@ __dotmatrix_activate_connection() {
local user_color
case $user_type in
0) # logged-in user
user_color=(${DOTMATRIX_COLOR_DARK[@]})
user_color=${DOTMATRIX_COLOR_DARK[@]+"${DOTMATRIX_COLOR_DARK[@]}"}
;;
1) # other user
user_color=(${DOTMATRIX_COLOR_NOTE[@]})
user_color=${DOTMATRIX_COLOR_NOTE[@]+"${DOTMATRIX_COLOR_NOTE[@]}"}
;;
2) # root
user_color=(${DOTMATRIX_COLOR_WARN[@]})
user_color=${DOTMATRIX_COLOR_WARN[@]+"${DOTMATRIX_COLOR_WARN[@]}"}
;;
esac
@ -441,23 +497,23 @@ __dotmatrix_activate_connection() {
_lp_connection
case "$lp_connection" in
lcl)
__dotmatrix_make_sep_plug "${user_color[@]}"
__dotmatrix_make_sep_plug ${user_color[@]}
connection="${dotmatrix_sep}"
;;
su)
_dotmatrix_make_sep_link "${user_color[@]}"
_dotmatrix_make_sep_link ${user_color[@]}
connection="${dotmatrix_sep}"
;;
ssh)
__dotmatrix_make_sep_open "${user_color[@]}"
__dotmatrix_make_sep_open ${user_color[@]}
connection="${dotmatrix_sep}"
;;
tel)
_dotmatrix_make_sep_dang "${user_color[@]}"
_dotmatrix_make_sep_dang ${user_color[@]}
connection="${dotmatrix_sep}"
;;
*)
__dotmatrix_make_sep_plug "${user_color[@]}"
__dotmatrix_make_sep_plug ${user_color[@]}
connection="${dotmatrix_sep}"
;;
esac
@ -471,22 +527,22 @@ __dotmatrix_activate_user() {
user_type=$?
case $user_type in
0) # logged-in user
if [[ -z "${lp_username}" ]] ; then # Honors LP_USER_ALWAYS
__dotmatrix_make_field "${DOTMATRIX_USER_LOCAL}" "${DOTMATRIX_COLOR_DARK[@]}"
if [[ -z ${lp_username} ]] ; then # Honors LP_USER_ALWAYS
__dotmatrix_make_field $DOTMATRIX_USER_LOCAL ${DOTMATRIX_COLOR_DARK[@]+"${DOTMATRIX_COLOR_DARK[@]}"}
_DOTMATRIX_USER="${dotmatrix_field}"
else
__dotmatrix_make_field "${lp_username}" "${DOTMATRIX_COLOR_DARK[@]}"
__dotmatrix_make_field $lp_username ${DOTMATRIX_COLOR_DARK[@]+"${DOTMATRIX_COLOR_DARK[@]}"}
_DOTMATRIX_USER="${dotmatrix_field}"
fi
;;
1) # other user
_lp_username_color
__dotmatrix_make_field "${lp_username_color}" "${DOTMATRIX_COLOR_NOTE[@]}"
__dotmatrix_make_field $lp_username_color ${DOTMATRIX_COLOR_NOTE[@]+"${DOTMATRIX_COLOR_NOTE[@]}"}
_DOTMATRIX_USER="${dotmatrix_field}"
;;
2) # root
_lp_username
__dotmatrix_make_field "${lp_username}" "${DOTMATRIX_COLOR_WARN[@]}"
__dotmatrix_make_field $lp_username ${DOTMATRIX_COLOR_WARN[@]+"${DOTMATRIX_COLOR_WARN[@]}"}
_DOTMATRIX_USER="${dotmatrix_field}"
;;
esac
@ -512,7 +568,7 @@ __dotmatrix_activate_hostname() {
hostname="${DOTMATRIX_HOST_LOCAL}"
fi
__dotmatrix_make_field "${hostname}" "${DOTMATRIX_COLOR_LITE[@]}"
__dotmatrix_make_field $hostname ${DOTMATRIX_COLOR_LITE[@]+"${DOTMATRIX_COLOR_LITE[@]}"}
_DOTMATRIX_HOSTNAME="${dotmatrix_field}"
}
@ -522,20 +578,20 @@ __dotmatrix_activate_multiplexer() {
if _lp_multiplexer ; then
case "$lp_multiplexer" in
tmux)
__dotmatrix_make_sep_link "${DOTMATRIX_COLOR_LITE[@]}"
__dotmatrix_make_sep_link ${DOTMATRIX_COLOR_LITE[@]+"${DOTMATRIX_COLOR_LITE[@]}"}
multiplexer="${dotmatrix_sep}"
;;
screen)
__dotmatrix_make_sep_link "${DOTMATRIX_COLOR_LITE[@]}"
__dotmatrix_make_sep_link ${DOTMATRIX_COLOR_LITE[@]+"${DOTMATRIX_COLOR_LITE[@]}"}
multiplexer="${dotmatrix_sep}"
;;
*)
__dotmatrix_make_sep_link "${DOTMATRIX_COLOR_LITE[@]}"
__dotmatrix_make_sep_link ${DOTMATRIX_COLOR_LITE[@]+"${DOTMATRIX_COLOR_LITE[@]}"}
multiplexer="${dotmatrix_sep}"
;;
esac
else
__dotmatrix_make_sep_plug "${DOTMATRIX_COLOR_LITE[@]}"
__dotmatrix_make_sep_plug ${DOTMATRIX_COLOR_LITE[@]+"${DOTMATRIX_COLOR_LITE[@]}"}
multiplexer="${dotmatrix_sep}"
fi
@ -552,18 +608,18 @@ __dotmatrix_directory_FS() {
if (( LP_ENABLE_PERM )); then
if _lp_chroot ; then
if [[ -w "${PWD}" ]]; then
__dotmatrix_make_sep_open "${DOTMATRIX_COLOR_DARK[@]}"
__dotmatrix_make_sep_open ${DOTMATRIX_COLOR_DARK[@]+"${DOTMATRIX_COLOR_DARK[@]}"}
fs="${dotmatrix_sep}"
else
_dotmatrix_make_sep_dang "${DOTMATRIX_COLOR_DARK[@]}"
_dotmatrix_make_sep_dang ${DOTMATRIX_COLOR_DARK[@]+"${DOTMATRIX_COLOR_DARK[@]}"}
fs="${dotmatrix_sep}"
fi
else
if [[ -w "${PWD}" ]]; then
__dotmatrix_make_sep_plug "${DOTMATRIX_COLOR_DARK[@]}"
__dotmatrix_make_sep_plug ${DOTMATRIX_COLOR_DARK[@]+"${DOTMATRIX_COLOR_DARK[@]}"}
fs="${dotmatrix_sep}"
else
__dotmatrix_make_sep_link "${DOTMATRIX_COLOR_DARK[@]}"
__dotmatrix_make_sep_link ${DOTMATRIX_COLOR_DARK[@]+"${DOTMATRIX_COLOR_DARK[@]}"}
fs="${dotmatrix_sep}"
fi
fi
@ -575,19 +631,19 @@ __dotmatrix_directory_FS() {
__dotmatrix_directory_path() {
local lp_terminal_format
lp_terminal_format "${DOTMATRIX_COLOR_DARK[@]}"
lp_terminal_format ${DOTMATRIX_COLOR_DARK[@]+"${DOTMATRIX_COLOR_DARK[@]}"}
local path_format="${lp_terminal_format}"
lp_terminal_format "${DOTMATRIX_COLOR_SEP_DARK[@]}"
lp_terminal_format ${DOTMATRIX_COLOR_SEP_DARK[@]+"${DOTMATRIX_COLOR_SEP_DARK[@]}"}
local separator_format=$lp_terminal_format
lp_terminal_format "${DOTMATRIX_COLOR_PATH_SHORT[@]}"
lp_terminal_format ${DOTMATRIX_COLOR_PATH_SHORT[@]+"${DOTMATRIX_COLOR_PATH_SHORT[@]}"}
local shortened_format=$lp_terminal_format
lp_terminal_format "${DOTMATRIX_COLOR_PATH_VCS[@]}"
lp_terminal_format ${DOTMATRIX_COLOR_PATH_VCS[@]+"${DOTMATRIX_COLOR_PATH_VCS[@]}"}
local vcs_format=$lp_terminal_format
lp_terminal_format "${DOTMATRIX_COLOR_PATH_LAST[@]}"
lp_terminal_format ${DOTMATRIX_COLOR_PATH_LAST[@]+"${DOTMATRIX_COLOR_PATH_LAST[@]}"}
local last_dir_format=$lp_terminal_format
local lp_path_format
@ -611,85 +667,85 @@ __dotmatrix_prompt_vcs() {
local diffs=
if (( LP_ENABLE_VCS_DIFFSTATS )) ; then
if [[ "$lp_vcs_commit_ahead" -ne "0" && "$lp_vcs_commit_behind" -ne "0" ]]; then
__dotmatrix_make_field "+$lp_vcs_commit_ahead" "${DOTMATRIX_COLOR_NOTE[@]}"
__dotmatrix_make_field "+$lp_vcs_commit_ahead" ${DOTMATRIX_COLOR_NOTE[@]+"${DOTMATRIX_COLOR_NOTE[@]}"}
has_commit+="${dotmatrix_field}"
__dotmatrix_make_sep_soft "${DOTMATRIX_COLOR_NOTE[@]}"
__dotmatrix_make_sep_soft ${DOTMATRIX_COLOR_NOTE[@]+"${DOTMATRIX_COLOR_NOTE[@]}"}
has_commit+="${dotmatrix_sep}"
__dotmatrix_make_field "-$lp_vcs_commit_behind" "${DOTMATRIX_COLOR_NOTE[@]}"
__dotmatrix_make_field "-$lp_vcs_commit_behind" ${DOTMATRIX_COLOR_NOTE[@]+"${DOTMATRIX_COLOR_NOTE[@]}"}
has_commit+="${dotmatrix_field}"
elif [[ "$lp_vcs_commit_ahead" -ne "0" ]]; then
__dotmatrix_make_field "+$lp_vcs_commit_ahead" "${DOTMATRIX_COLOR_NOTE[@]}"
__dotmatrix_make_field "+$lp_vcs_commit_ahead" ${DOTMATRIX_COLOR_NOTE[@]+"${DOTMATRIX_COLOR_NOTE[@]}"}
has_commit+="${dotmatrix_field}"
elif [[ "$lp_vcs_commit_behind" -ne "0" ]]; then
__dotmatrix_make_field "-$lp_vcs_commit_behind" "${DOTMATRIX_COLOR_NOTE[@]}"
__dotmatrix_make_field "-$lp_vcs_commit_behind" ${DOTMATRIX_COLOR_NOTE[@]+"${DOTMATRIX_COLOR_NOTE[@]}"}
has_commit+="${dotmatrix_field}"
fi
diffs+="${has_commit}"
else
__dotmatrix_make_field "${DOTMATRIX_DIFF}" "${DOTMATRIX_COLOR_LITE[@]}"
__dotmatrix_make_field "${DOTMATRIX_DIFF}" ${DOTMATRIX_COLOR_LITE[@]+"${DOTMATRIX_COLOR_LITE[@]}"}
diffs+="${dotmatrix_field}"
fi # LP_ENABLE_VCS_DIFFSTATS
# Mark & commits off remote
local has_commit=
if _lp_vcs_commits_off_remote; then
__dotmatrix_make_field "${DOTMATRIX_VCS}${lp_smart_mark}" "${DOTMATRIX_COLOR_NOTE[@]}"
__dotmatrix_make_field "${DOTMATRIX_VCS}${lp_smart_mark}" ${DOTMATRIX_COLOR_NOTE[@]+"${DOTMATRIX_COLOR_NOTE[@]}"}
_DOTMATRIX_VCS="${dotmatrix_field}"
__dotmatrix_make_sep_link "${DOTMATRIX_COLOR_NOTE[@]}"
__dotmatrix_make_sep_link ${DOTMATRIX_COLOR_NOTE[@]+"${DOTMATRIX_COLOR_NOTE[@]}"}
_DOTMATRIX_VCS+="${dotmatrix_sep}"
_DOTMATRIX_VCS+="${diffs}"
if [[ "$lp_vcs_commit_ahead" -ne "0" && "$lp_vcs_commit_behind" -ne "0" ]]; then
__dotmatrix_make_sep_plug "${DOTMATRIX_COLOR_NOTE[@]}"
__dotmatrix_make_sep_plug ${DOTMATRIX_COLOR_NOTE[@]+"${DOTMATRIX_COLOR_NOTE[@]}"}
_DOTMATRIX_VCS+="${dotmatrix_sep}"
else
__dotmatrix_make_sep_plug "${DOTMATRIX_COLOR_LITE[@]}"
__dotmatrix_make_sep_plug ${DOTMATRIX_COLOR_LITE[@]+"${DOTMATRIX_COLOR_LITE[@]}"}
_DOTMATRIX_VCS+="${dotmatrix_sep}"
fi
else # No commit off remote
__dotmatrix_make_field "${DOTMATRIX_VCS}${lp_smart_mark}" "${DOTMATRIX_COLOR_DARK[@]}"
__dotmatrix_make_field "${DOTMATRIX_VCS}${lp_smart_mark}" ${DOTMATRIX_COLOR_DARK[@]+"${DOTMATRIX_COLOR_DARK[@]}"}
_DOTMATRIX_VCS="${dotmatrix_field}"
__dotmatrix_make_sep_plug "${DOTMATRIX_COLOR_LITE[@]}"
__dotmatrix_make_sep_plug ${DOTMATRIX_COLOR_LITE[@]+"${DOTMATRIX_COLOR_LITE[@]}"}
_DOTMATRIX_VCS+="${dotmatrix_sep}"
fi # commits off remote
# Branch:bookmark/tag
if _lp_vcs_branch; then
__dotmatrix_make_field "${lp_vcs_branch}" "${DOTMATRIX_COLOR_GLOW[@]}"
__dotmatrix_make_field "${lp_vcs_branch}" ${DOTMATRIX_COLOR_GLOW[@]+"${DOTMATRIX_COLOR_GLOW[@]}"}
_DOTMATRIX_VCS+="${dotmatrix_field}"
if _lp_vcs_bookmark; then
__dotmatrix_make_field ":${lp_vcs_bookmark}" "${DOTMATRIX_COLOR_LITE[@]}"
__dotmatrix_make_field ":${lp_vcs_bookmark}" ${DOTMATRIX_COLOR_LITE[@]+"${DOTMATRIX_COLOR_LITE[@]}"}
_DOTMATRIX_VCS+="${dotmatrix_field}"
fi
if _lp_vcs_tag; then
__dotmatrix_make_sep_soft "${DOTMATRIX_COLOR_SEP_LITE[@]}"
__dotmatrix_make_field "${lp_vcs_tag}" "${DOTMATRIX_COLOR_LITE[@]}"
__dotmatrix_make_sep_soft ${DOTMATRIX_COLOR_SEP_LITE[@]+"${DOTMATRIX_COLOR_SEP_LITE[@]}"}
__dotmatrix_make_field "${lp_vcs_tag}" ${DOTMATRIX_COLOR_LITE[@]+"${DOTMATRIX_COLOR_LITE[@]}"}
_DOTMATRIX_VCS+="${dotmatrix_sep}${dotmatrix_field}"
fi
elif _lp_vcs_bookmark; then
__dotmatrix_make_field "${lp_vcs_bookmark}" "${DOTMATRIX_COLOR_GLOW[@]}"
__dotmatrix_make_field "${lp_vcs_bookmark}" ${DOTMATRIX_COLOR_GLOW[@]+"${DOTMATRIX_COLOR_GLOW[@]}"}
_DOTMATRIX_VCS+="${dotmatrix_field}"
elif _lp_vcs_tag; then
__dotmatrix_make_field "${lp_vcs_tag}" "${DOTMATRIX_COLOR_GLOW[@]}"
__dotmatrix_make_field "${lp_vcs_tag}" ${DOTMATRIX_COLOR_GLOW[@]+"${DOTMATRIX_COLOR_GLOW[@]}"}
_DOTMATRIX_VCS+="${dotmatrix_field}"
else
_lp_vcs_commit_id
branch="${lp_vcs_commit_id:0:7}"
__dotmatrix_make_field "${lp_vcs_commit_id:0:7}" "${DOTMATRIX_COLOR_GLOW[@]}"
__dotmatrix_make_field "${lp_vcs_commit_id:0:7}" ${DOTMATRIX_COLOR_GLOW[@]+"${DOTMATRIX_COLOR_GLOW[@]}"}
_DOTMATRIX_VCS+="${dotmatrix_field}"
fi # vcs branch
# Diff stats
local ret has_lines=
if _lp_vcs_uncommitted_files; then
__dotmatrix_make_sep_link "${DOTMATRIX_COLOR_NOTE[@]}"
__dotmatrix_make_sep_link ${DOTMATRIX_COLOR_NOTE[@]+"${DOTMATRIX_COLOR_NOTE[@]}"}
_DOTMATRIX_VCS+="${dotmatrix_sep}"
_lp_vcs_unstaged_lines; ret=$?
@ -698,38 +754,38 @@ __dotmatrix_prompt_vcs() {
if (( ret == 0 )); then
if [[ "$lp_vcs_unstaged_i_lines" == "$lp_vcs_unstaged_d_lines" ]] ; then
# If same number of lines inserted and deleted: display a single number.
__dotmatrix_make_field "±$lp_vcs_unstaged_i_lines" "${DOTMATRIX_COLOR_NOTE[@]}"
__dotmatrix_make_field "±$lp_vcs_unstaged_i_lines" ${DOTMATRIX_COLOR_NOTE[@]+"${DOTMATRIX_COLOR_NOTE[@]}"}
has_lines="${dotmatrix_field}"
else
__dotmatrix_make_field "+$lp_vcs_unstaged_i_lines" "${DOTMATRIX_COLOR_NOTE[@]}"
__dotmatrix_make_field "+$lp_vcs_unstaged_i_lines" ${DOTMATRIX_COLOR_NOTE[@]+"${DOTMATRIX_COLOR_NOTE[@]}"}
has_lines="${dotmatrix_field}"
__dotmatrix_make_sep_soft "${DOTMATRIX_COLOR_SEP_NOTE[@]}"
__dotmatrix_make_sep_soft ${DOTMATRIX_COLOR_SEP_NOTE[@]+"${DOTMATRIX_COLOR_SEP_NOTE[@]}"}
has_lines+="$dotmatrix_sep"
__dotmatrix_make_field "-$lp_vcs_unstaged_d_lines" "${DOTMATRIX_COLOR_NOTE[@]}"
__dotmatrix_make_field "-$lp_vcs_unstaged_d_lines" ${DOTMATRIX_COLOR_NOTE[@]+"${DOTMATRIX_COLOR_NOTE[@]}"}
has_lines+="${dotmatrix_field}"
fi
elif (( ret == 1 )); then
__dotmatrix_make_field "±0" "${DOTMATRIX_COLOR_DARK[@]}"
__dotmatrix_make_field "±0" ${DOTMATRIX_COLOR_DARK[@]+"${DOTMATRIX_COLOR_DARK[@]}"}
has_lines="+${dotmatrix_field}"
else
_lp_vcs_uncommitted_lines
if [[ "$lp_vcs_uncommitted_i_lines" == "$lp_vcs_uncommitted_d_lines" ]] ; then
__dotmatrix_make_field "±$lp_vcs_uncommitted_i_lines" "${DOTMATRIX_COLOR_NOTE[@]}"
__dotmatrix_make_field "±$lp_vcs_uncommitted_i_lines" ${DOTMATRIX_COLOR_NOTE[@]+"${DOTMATRIX_COLOR_NOTE[@]}"}
has_lines="${dotmatrix_field}"
else
__dotmatrix_make_field "+$lp_vcs_uncommitted_i_lines" "${DOTMATRIX_COLOR_NOTE[@]}"
__dotmatrix_make_field "+$lp_vcs_uncommitted_i_lines" ${DOTMATRIX_COLOR_NOTE[@]+"${DOTMATRIX_COLOR_NOTE[@]}"}
has_lines="${dotmatrix_field}"
__dotmatrix_make_sep_soft "${DOTMATRIX_COLOR_SEP_NOTE[@]}"
__dotmatrix_make_sep_soft ${DOTMATRIX_COLOR_SEP_NOTE[@]+"${DOTMATRIX_COLOR_SEP_NOTE[@]}"}
has_lines+="$dotmatrix_sep"
__dotmatrix_make_field "-$lp_vcs_uncommitted_d_lines" "${DOTMATRIX_COLOR_NOTE[@]}"
__dotmatrix_make_field "-$lp_vcs_uncommitted_d_lines" ${DOTMATRIX_COLOR_NOTE[@]+"${DOTMATRIX_COLOR_NOTE[@]}"}
has_lines+="${dotmatrix_field}"
fi
fi
if (( LP_ENABLE_VCS_DIFFSTATS )) ; then
_DOTMATRIX_VCS+="${has_lines}"
else
__dotmatrix_make_field "${DOTMATRIX_DIFF}" "${DOTMATRIX_COLOR_NOTE[@]}"
__dotmatrix_make_field "${DOTMATRIX_DIFF}" ${DOTMATRIX_COLOR_NOTE[@]+"${DOTMATRIX_COLOR_NOTE[@]}"}
_DOTMATRIX_VCS+="${dotmatrix_field}"
fi # LP_ENABLE_VCS_DIFFSTATS
fi # uncommitted files
@ -749,40 +805,40 @@ __dotmatrix_prompt_vcs() {
# fi
fi
if [[ -n "$stash" || -n "$untracked" || -n "$head" ]] ; then
if [[ -z "$has_lines" ]] ; then
__dotmatrix_make_sep_mid "${DOTMATRIX_COLOR_SEP_FAIR[@]}"
if [[ -z $has_lines ]] ; then
__dotmatrix_make_sep_mid ${DOTMATRIX_COLOR_SEP_FAIR[@]+"${DOTMATRIX_COLOR_SEP_FAIR[@]}"}
_DOTMATRIX_VCS+=" $dotmatrix_sep "
else
__dotmatrix_make_sep_plug "${DOTMATRIX_COLOR_LITE[@]}"
__dotmatrix_make_sep_plug ${DOTMATRIX_COLOR_LITE[@]+"${DOTMATRIX_COLOR_LITE[@]}"}
_DOTMATRIX_VCS+="$dotmatrix_sep"
fi
fi
if [[ -n "$stash" ]] ; then
__dotmatrix_make_field "$stash" "${DOTMATRIX_COLOR_LITE[@]}"
__dotmatrix_make_field "$stash" ${DOTMATRIX_COLOR_LITE[@]+"${DOTMATRIX_COLOR_LITE[@]}"}
_DOTMATRIX_VCS+="$dotmatrix_field"
if [[ -n "$untracked" ]] ; then
__dotmatrix_make_field "$untracked" "${DOTMATRIX_COLOR_LITE[@]}"
__dotmatrix_make_sep_soft "${DOTMATRIX_COLOR_SEP_LITE[@]}"
__dotmatrix_make_field "$untracked" ${DOTMATRIX_COLOR_LITE[@]+"${DOTMATRIX_COLOR_LITE[@]}"}
__dotmatrix_make_sep_soft ${DOTMATRIX_COLOR_SEP_LITE[@]+"${DOTMATRIX_COLOR_SEP_LITE[@]}"}
_DOTMATRIX_VCS+="${dotmatrix_sep}${dotmatrix_field}"
fi
if [[ -n "$head" ]] ; then
__dotmatrix_make_field "$head" "${DOTMATRIX_COLOR_LITE[@]}"
__dotmatrix_make_sep_soft "${DOTMATRIX_COLOR_SEP_LITE[@]}"
__dotmatrix_make_field "$head" ${DOTMATRIX_COLOR_LITE[@]+"${DOTMATRIX_COLOR_LITE[@]}"}
__dotmatrix_make_sep_soft ${DOTMATRIX_COLOR_SEP_LITE[@]+"${DOTMATRIX_COLOR_SEP_LITE[@]}"}
_DOTMATRIX_VCS+="${dotmatrix_sep}${dotmatrix_field}"
fi
else # no stash
if [[ -n "$untracked" ]] ; then
__dotmatrix_make_field "$untracked" "${DOTMATRIX_COLOR_LITE[@]}"
__dotmatrix_make_field "$untracked" ${DOTMATRIX_COLOR_LITE[@]+"${DOTMATRIX_COLOR_LITE[@]}"}
_DOTMATRIX_VCS+="${dotmatrix_field}"
if [[ -n "$head" ]] ; then
__dotmatrix_make_field "$head" "${DOTMATRIX_COLOR_LITE[@]}"
__dotmatrix_make_sep_soft "${DOTMATRIX_COLOR_SEP_LITE[@]}"
__dotmatrix_make_field "$head" ${DOTMATRIX_COLOR_LITE[@]+"${DOTMATRIX_COLOR_LITE[@]}"}
__dotmatrix_make_sep_soft ${DOTMATRIX_COLOR_SEP_LITE[@]+"${DOTMATRIX_COLOR_SEP_LITE[@]}"}
_DOTMATRIX_VCS+="${dotmatrix_sep}${dotmatrix_field}"
fi
else # no untracked
if [[ -n "$head" ]] ; then
__dotmatrix_make_field "$head" "${DOTMATRIX_COLOR_LITE[@]}"
__dotmatrix_make_field "$head" ${DOTMATRIX_COLOR_LITE[@]+"${DOTMATRIX_COLOR_LITE[@]}"}
_DOTMATRIX_VCS+="${dotmatrix_field}"
fi
fi
@ -800,10 +856,10 @@ __dotmatrix_prompt_vcs() {
__dotmatrix_join_fields() {
dotmatrix_join_fields=""
local sep=${1-}
local sep="${1-}"
shift
if [[ -n "$@" ]] ; then
local first_field=${1-}
local first_field="${1-}"
shift
dotmatrix_join_fields="${first_field}"
for f in "$@"; do
@ -813,12 +869,16 @@ __dotmatrix_join_fields() {
}
__dotmatrix_make_field() { # string, (color array)
local lp_terminal_format string=${1-}
shift
local lp_terminal_format string="${1-}"
[[ -z $string ]] && return 1
lp_terminal_format "$@"
shift
local format="$@"
if [[ -z $format ]] ; then
lp_terminal_format -1
else
lp_terminal_format $format
fi
dotmatrix_field="${lp_terminal_format}${DOTMATRIX_SPACE_FIELD}${string}${DOTMATRIX_SPACE_FIELD}"
}
@ -830,11 +890,18 @@ __dotmatrix_make_sep_plug() { # color
# -2 = keep last color
# -3 = set last fg to last bg (and conversely)
local lp_terminal_format sep
local bg="${2-}"
[[ -z $bg ]] && bg=-1
local fbg="${6-}"
[[ -z $fbg ]] && fbg=-1
sep="${DOTMATRIX_PLUG}"
if [[ "${_lp_last_ab_color-}" == "${2-}" ]] ; then
if [[ "${_lp_last_ab_color-}" == "$bg" ]] ; then
sep="${DOTMATRIX_MEAN}"
fi
lp_terminal_format -3 "${2-}" 0 0 -1 "${6-}"
lp_terminal_format -3 $bg 0 0 -1 $fbg
dotmatrix_sep="${DOTMATRIX_SPACE_VOID}${lp_terminal_format}${sep}${DOTMATRIX_SPACE_VOID}"
}
@ -842,51 +909,84 @@ __dotmatrix_make_sep_link() { # color
local lp_terminal_format
dotmatrix_sep=""
lp_terminal_format -3 -1 0 0 -1 "${6-}"
local fg="${2-}"
[[ -z $fg ]] && fg=-1
local fbg="${6-}"
[[ -z $fbg ]] && fbg=-1
lp_terminal_format -3 -1 0 0 -1 $fbg
dotmatrix_sep+="${DOTMATRIX_SPACE_VOID}${lp_terminal_format}${DOTMATRIX_LINK[0]}"
lp_terminal_format 244 -1 0 0 -1 "${6-}"
local dsfg="${DOTMATRIX_COLOR_SEP_FAIR[0]}"
[[ -z $dsfg ]] && dsfg=-1
lp_terminal_format ${dsf} -1 0 0 -1 $fbg
dotmatrix_sep+="${lp_terminal_format}${DOTMATRIX_LINK[1]}"
lp_terminal_format "${2-}" -1 0 0 -1 "${6-}"
lp_terminal_format $fg -1 0 0 -1 $fbg
dotmatrix_sep+="${lp_terminal_format}${DOTMATRIX_LINK[2]}${DOTMATRIX_SPACE_FILL}"
}
__dotmatrix_make_sep_open() { # color
local lp_terminal_format
lp_terminal_format -3 -1 0 0 -1 "${6-}"
local fg="${2-}"
[[ -z $fg ]] && fg=-1
local fbg="${6-}"
[[ -z $fbg ]] && fbg=-1
lp_terminal_format -3 -1 0 0 -1 $fbg
dotmatrix_sep+="${DOTMATRIX_SPACE_VOID}${lp_terminal_format}${DOTMATRIX_OPEN[0]}"
lp_terminal_format 244 -1 0 0 -1 "${6-}"
local dsfg="${DOTMATRIX_COLOR_SEP_FAIR[0]}"
[[ -z $dsfg ]] && dsfg=-1
lp_terminal_format ${dsfg} -1 0 0 -1 $fbg
dotmatrix_sep+="${lp_terminal_format}${DOTMATRIX_OPEN[1]}"
lp_terminal_format "${2-}" -1 0 0 -1 "${6-}"
lp_terminal_format $fg -1 0 0 -1 $fbg
dotmatrix_sep+="${lp_terminal_format}${DOTMATRIX_OPEN[2]}${DOTMATRIX_SPACE_FILL}"
}
__dotmatrix_make_sep_dang() { # color
local lp_terminal_format
lp_terminal_format -3 -1 0 0 -1 "${6-}"
local fg="${2-}"
[[ -z $fg ]] && fg=-1
local fbg="${6-}"
[[ -z $fbg ]] && fbg=-1
lp_terminal_format -3 -1 0 0 -1 $fbg
dotmatrix_sep+="${DOTMATRIX_SPACE_VOID}${lp_terminal_format}${DOTMATRIX_DANG[0]}"
lp_terminal_format 220 -1 0 0 -1 "${6-}"
local dcwfg="${DOTMATRIX_COLOR_WARN[1]}"
[[ -z $dcwfg ]] && dcwfg=-1
lp_terminal_format ${dcwfg} -1 0 0 -1 $fbg
dotmatrix_sep+="${lp_terminal_format}${DOTMATRIX_DANG[1]}"
lp_terminal_format "${2-}" -1 0 0 -1 "${6-}"
lp_terminal_format $fg -1 0 0 -1 $fbg
dotmatrix_sep+="${lp_terminal_format}${DOTMATRIX_DANG[2]}${DOTMATRIX_SPACE_FILL}"
}
__dotmatrix_make_sep_soft() { # color
local lp_terminal_format
lp_terminal_format "${1-}" -2 0 0 "${5-}"
local fg="${1-}"
[[ -z $fg ]] && fg=-1
local fbg="${5-}"
[[ -z $fbg ]] && fbg=-1
lp_terminal_format $fg -2 0 0 $fbg
dotmatrix_sep="${lp_terminal_format}${DOTMATRIX_SOFT}"
}
__dotmatrix_make_sep_mid() { # color
local lp_terminal_format
lp_terminal_format "${1-}" -2 0 0 "${5-}"
local fg="${1-}"
[[ -z $fg ]] && fg=-1
local fbg="${5-}"
[[ -z $fbg ]] && fbg=-1
lp_terminal_format $fg -2 0 0 $fbg
dotmatrix_sep="${lp_terminal_format}${DOTMATRIX_MEAN}"
}
@ -898,7 +998,9 @@ __dotmatrix_make_sep_last() { # no arg
__dotmatrix_make_sep_side() { # no arg
local lp_terminal_format
lp_terminal_format "${DOTMATRIX_COLOR_SEP_FAIR[@]}"
local dsf=${DOTMATRIX_COLOR_SEP_FAIR[@]+"${DOTMATRIX_COLOR_SEP_FAIR[@]}"}
[[ -z $dsf ]] && dsf=-1
lp_terminal_format ${dsf}
dotmatrix_sep="${lp_terminal_format}${DOTMATRIX_ENDS[1]}"
}