You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The right part of the prompt ends at the right of the first prompt line
Current behavior
The right part of the prompt ends at the beginning of the second line by a few characters about the same space of the SSH padlock icon
Possible solution
I could fix it only by copying an older version of .bash_it in my new server. Here are the difference between the older working version (.bash_it) and the newest version with the bug (beehive_bash_it):
Diff between the (assumed relevant) files between working and non working versions of `bash-it`.
diff -r .bash_it/docs/themes-list/powerline-base.rst beehive_bash_it/docs/themes-list/powerline-base.rst
84c84< * ``node`` - Current node version (only ``nvm`` is supported)---> * ``node`` - Current node version (``nvm`` is the default strategy; set ``NODE_VERSION_STRATEGY`` to ``node`` to use ``node --version``)diff -r .bash_it/plugins/available/powerline.plugin.bash beehive_bash_it/plugins/available/powerline.plugin.bash1a2> # shellcheck disable=SC203425,26c26,28< [ -e $bashPowerlineInit ] || return< source $bashPowerlineInit---> [ -e "$bashPowerlineInit" ] || return> # shellcheck disable=SC1090> source "$bashPowerlineInit"diff -r .bash_it/themes/gitline/gitline.theme.bash beehive_bash_it/themes/gitline/gitline.theme.bash1,3c1,4< #!/usr/bin/env bash<< . "$BASH_IT/themes/gitline/powerline.base.bash"---> # shellcheck shell=bash> # shellcheck disable=SC2034 # Expected behavior for themes.> # shellcheck source-path=SCRIPTDIR/../gitline> source "${BASH_IT?}/themes/gitline/powerline.base.bash"12c13< POWERLINE_LEFT_SEPARATOR=${POWERLINE_LEFT_SEPARATOR:=""}---> : "${POWERLINE_LEFT_SEPARATOR:=""}"57c58< BATTERY_AC_CHAR=${BATTERY_AC_CHAR:="⚡"}---> : "${BATTERY_AC_CHAR:="⚡"}"62c63< THEME_CLOCK_FORMAT=${THEME_CLOCK_FORMAT:="%H:%M:%S"}---> : "${THEME_CLOCK_FORMAT:="%H:%M:%S"}"69a71> : "${POWERLINE_PROMPT:="user_info scm python_venv ruby node cwd"}"diff -r .bash_it/themes/gitline/powerline.base.bash beehive_bash_it/themes/gitline/powerline.base.bash0a1,2> # shellcheck shell=bash> # shellcheck disable=SC2034 # Expected behavior for themes.3,12c5,14< function set_color {< set +u< if [[ "${1}" != "-" ]]; then< fg="38;5;${1}"< fi< if [[ "${2}" != "-" ]]; then< bg="48;5;${2}"< [[ -n "${fg}" ]] && bg=";${bg}"< fi< echo -e "\[\033[${fg}${bg}m\]"---> function set_color() {> local fg='' bg=''> if [[ "${1:-}" != "-" ]]; then> fg="38;5;${1}"> fi> if [[ "${2:-}" != "-" ]]; then> bg="48;5;${2}"> [[ -n "${fg}" ]] && bg=";${bg}"> fi> echo -e "\[\033[${fg}${bg}m\]"16,43c18,58< function __powerline_user_info_prompt {< local user_info="${USER}"< local color=${USER_INFO_THEME_PROMPT_COLOR}< local fg_color=15<< if [[ "${THEME_CHECK_SUDO}" = true ]]; then< if sudo -n uptime 2>&1 | grep -q "load"; then< color=${USER_INFO_THEME_PROMPT_COLOR_SUDO}< fi< fi<< case "${POWERLINE_PROMPT_USER_INFO_MODE}" in< "sudo")< if [[ "${color}" = "${USER_INFO_THEME_PROMPT_COLOR_SUDO}" ]]; then< user_info="👑 ${USER}"< fg_color=227< color=${USER_INFO_THEME_PROMPT_COLOR_SUDO}< fi< ;;< *)< if [[ -n "${SSH_CLIENT}" ]] || [[ -n "${SSH_CONNECTION}" ]]; then< user_info="${USER_INFO_SSH_CHAR}${USER}"< else< user_info="${USER}"< fi< ;;< esac< [[ -n "${user_info}" ]] && echo "${user_info}|${color}|${fg_color}"---> function __powerline_user_info_prompt() {> local user_info="${SHORT_USER:-${USER}}"> local color=${USER_INFO_THEME_PROMPT_COLOR-${POWERLINE_USER_INFO_COLOR-"32"}}> local -i fg_color=15>> if [[ "${THEME_CHECK_SUDO:-false}" == true ]]; then> if sudo -vn 2> /dev/null; then> color=${USER_INFO_THEME_PROMPT_COLOR_SUDO-${POWERLINE_USER_INFO_COLOR_SUDO-"202"}}> fi> fi>> case "${POWERLINE_PROMPT_USER_INFO_MODE:-}" in> "sudo")> if [[ "${color}" == "${USER_INFO_THEME_PROMPT_COLOR_SUDO?}" ]]; then> user_info="👑 ${USER}"> fg_color=227> fi> ;;> *)> if [[ -n "${SSH_CLIENT:-}" ]] || [[ -n "${SSH_CONNECTION:-}" ]]; then> user_info="${USER_INFO_SSH_CHAR-${POWERLINE_USER_INFO_SSH_CHAR-"⌁ "}}${user_info}"> fi> ;;> esac> echo "${user_info}|${color}|${fg_color}"> }>> function __powerline_terraform_prompt() {> local terraform_workspace="">> if [[ -d .terraform ]]; then> terraform_workspace="$(terraform_workspace_prompt)"> [[ -n "${terraform_workspace}" ]] && echo "${TERRAFORM_CHAR-${POWERLINE_TERRAFORM_CHAR-"❲t❳ "}}${terraform_workspace}|${TERRAFORM_THEME_PROMPT_COLOR-${POWERLINE_TERRAFORM_COLOR-"161"}}"> fi> }>> function __powerline_gcloud_prompt() {> local active_gcloud_account="">> active_gcloud_account="$(active_gcloud_account_prompt)"> [[ -n "${active_gcloud_account}" ]] && echo "${GCLOUD_CHAR-${POWERLINE_GCLOUD_CHAR-"❲G❳ "}}${active_gcloud_account}|${GCLOUD_THEME_PROMPT_COLOR-${POWERLINE_GCLOUD_COLOR-"161"}}"46,80c61,62< #Customising Ruby Prompt< function __powerline_ruby_prompt {< local ruby_version=""< local fg_color=206<< if _command_exists rvm; then< ruby_version="$(rvm_version_prompt)"< elif _command_exists rbenv; then< ruby_version=$(rbenv_version_prompt)< fi<< [[ -n "${ruby_version}" ]] && echo "${RUBY_CHAR}${ruby_version}|${RUBY_THEME_PROMPT_COLOR}|${fg_color}"< }<< #Customising Python (venv) Prompt< function __powerline_python_venv_prompt {< set +u< local python_venv=""< local fg_color=206<< if [[ -n "${CONDA_DEFAULT_ENV}" ]]; then< python_venv="${CONDA_DEFAULT_ENV}"< PYTHON_VENV_CHAR=${CONDA_PYTHON_VENV_CHAR}< elif [[ -n "${VIRTUAL_ENV}" ]]; then< python_venv=$(basename "${VIRTUAL_ENV}")< fi<< [[ -n "${python_venv}" ]] && echo "${PYTHON_VENV_CHAR}${python_venv}|${PYTHON_VENV_THEME_PROMPT_COLOR}|${fg_color}"< }<< #Customising SCM(GIT) Prompt< function __powerline_scm_prompt {< local color=""< local scm_prompt=""< local fg_color=206---> function __powerline_node_prompt() {> local node_version=""82,117c64,65< scm_prompt_vars<<< if [[ "${SCM_NONE_CHAR}" != "${SCM_CHAR}" ]]; then< if [[ "${SCM_DIRTY}" -eq 3 ]]; then< color=${SCM_THEME_PROMPT_STAGED_COLOR}< fg_color=124< elif [[ "${SCM_DIRTY}" -eq 2 ]]; then< color=${SCM_THEME_PROMPT_UNSTAGED_COLOR}< fg_color=56< elif [[ "${SCM_DIRTY}" -eq 1 ]]; then< color=${SCM_THEME_PROMPT_DIRTY_COLOR}< fg_color=118< elif [[ "${SCM_DIRTY}" -eq 0 ]]; then< color=${SCM_THEME_PROMPT_CLEAN_COLOR}< fg_color=16< else< color=${SCM_THEME_PROMPT_COLOR}< fg_color=255< fi< if [[ "${SCM_GIT_CHAR}" == "${SCM_CHAR}" ]]; then< scm_prompt+="${SCM_CHAR}${SCM_BRANCH}${SCM_STATE}"< elif [[ "${SCM_P4_CHAR}" == "${SCM_CHAR}" ]]; then< scm_prompt+="${SCM_CHAR}${SCM_BRANCH}${SCM_STATE}"< elif [[ "${SCM_HG_CHAR}" == "${SCM_CHAR}" ]]; then< scm_prompt+="${SCM_CHAR}${SCM_BRANCH}${SCM_STATE}"< fi< echo "${scm_prompt}${scm}|${color}|${fg_color}"< fi< }<< function __powerline_cwd_prompt {< local cwd=$(pwd | sed "s|^${HOME}|~|")< local fg_color=16<< echo "${cwd}|${CWD_THEME_PROMPT_COLOR}|${fg_color}"---> node_version="$(node_version_prompt)"> [[ -n "${node_version}" ]] && echo "${NODE_CHAR-${POWERLINE_NODE_CHAR-="❲n❳ "}}${node_version}|${NODE_THEME_PROMPT_COLOR-${POWERLINE_NODE_COLOR-"22"}}"120,130c68,71< function __powerline_hostname_prompt {< local fg_color=206<< echo "$(hostname -s)|${HOST_THEME_PROMPT_COLOR}|${fg_color}"< }<< function __powerline_wd_prompt {< local fg_color=206<< echo "\W|${CWD_THEME_PROMPT_COLOR}|${fg_color}"< }---> #Customising Ruby Prompt> function __powerline_ruby_prompt() {> local ruby_version> local -i fg_color=206132,133c73,77< function __powerline_clock_prompt {< local fg_color=206---> if _command_exists rvm; then> ruby_version="$(rvm_version_prompt)"> elif _command_exists rbenv; then> ruby_version=$(rbenv_version_prompt)> fi135c79,81< echo "$(date +"${THEME_CLOCK_FORMAT}")|${CLOCK_THEME_PROMPT_COLOR}|${fg_color}"---> if [[ -n "${ruby_version:-}" ]]; then> echo "${RUBY_CHAR?}${ruby_version}|${RUBY_THEME_PROMPT_COLOR?}|${fg_color}"> fi138,141c84,85< function __powerline_battery_prompt {< local color=""< local battery_status="$(battery_percentage 2> /dev/null)"< local fg_color=255---> function __powerline_k8s_context_prompt() {> local kubernetes_context=""143,156c87,89< if [[ -z "${battery_status}" ]] || [[ "${battery_status}" = "-1" ]] || [[ "${battery_status}" = "no" ]]; then< true< else< if [[ "$((10#${battery_status}))" -le 5 ]]; then< color="${BATTERY_STATUS_THEME_PROMPT_CRITICAL_COLOR}"< elif [[ "$((10#${battery_status}))" -le 25 ]]; then< color="${BATTERY_STATUS_THEME_PROMPT_LOW_COLOR}"< else< color="${BATTERY_STATUS_THEME_PROMPT_GOOD_COLOR}"< fi< ac_adapter_connected && battery_status="${BATTERY_AC_CHAR}${battery_status}"< echo "${battery_status}%|${color}|${fg_color}"< fi< }---> if _command_exists kubectl; then> kubernetes_context="$(k8s_context_prompt)"> fi158,163c91< function __powerline_in_vim_prompt {< local fg_color=206<< if [ -n "$VIMRUNTIME" ]; then< echo "${IN_VIM_THEME_PROMPT_TEXT}|${IN_VIM_THEME_PROMPT_COLOR}|${fg_color}"< fi---> [[ -n "${kubernetes_context}" ]] && echo "${KUBERNETES_CONTEXT_THEME_CHAR-${POWERLINE_KUBERNETES_CONTEXT_CHAR-"⎈ "}}${kubernetes_context}|${KUBERNETES_CONTEXT_THEME_PROMPT_COLOR-${POWERLINE_KUBERNETES_CONTEXT_COLOR-"26"}}"166,167c94,95< function __powerline_aws_profile_prompt {< local fg_color=206---> function __powerline_k8s_namespace_prompt() {> local kubernetes_namespace=""169,172c97,99< if [[ -n "${AWS_PROFILE}" ]]; then< echo "${AWS_PROFILE_CHAR}${AWS_PROFILE}|${AWS_PROFILE_PROMPT_COLOR}|${fg_color}"< fi< }---> if _command_exists kubectl; then> kubernetes_namespace="$(k8s_namespace_prompt)"> fi174,179c101< function __powerline_in_toolbox_prompt {< local fg_color=206<< if [ -f /run/.containerenv ] && [ -f /run/.toolboxenv ]; then< echo "${IN_TOOLBOX_THEME_PROMPT_TEXT}|${IN_TOOLBOX_THEME_PROMPT_COLOR}|${fg_color}"< fi---> [[ -n "${kubernetes_namespace}" ]] && echo "${KUBERNETES_NAMESPACE_THEME_CHAR-${POWERLINE_KUBERNETES_NAMESPACE_CHAR-"⎈ "}}${kubernetes_namespace}|${KUBERNETES_NAMESPACE_THEME_PROMPT_COLOR-${POWERLINE_KUBERNETES_NAMESPACE_COLOR-"60"}}"182,199c104,114< function __powerline_left_segment {< local OLD_IFS="${IFS}"; IFS="|"< local params=( $1 )< IFS="${OLD_IFS}"< local separator_char="${POWERLINE_LEFT_SEPARATOR}"< local separator=""< local fg_color=206<< #for seperator character< if [[ "${SEGMENTS_AT_LEFT}" -gt 0 ]]; then< separator="$(set_color ${LAST_SEGMENT_COLOR} ${params[1]})${separator_char}${normal}"< fi< #change here to cahnge fg color< LEFT_PROMPT+="${separator}$(set_color ${params[2]} ${params[1]}) ${params[0]} ${normal}"< #seperator char color = current bg< LAST_SEGMENT_COLOR=${params[1]}< (( SEGMENTS_AT_LEFT += 1 ))< }---> #Customising Python (venv) Prompt> function __powerline_python_venv_prompt() {> local python_venv=""> local -i fg_color=206>> if [[ -n "${CONDA_DEFAULT_ENV:-}" ]]; then> python_venv="${CONDA_DEFAULT_ENV}"> local PYTHON_VENV_CHAR=${CONDA_PYTHON_VENV_CHAR-${POWERLINE_CONDA_PYTHON_VENV_CHAR-"ⓔ "}}> elif [[ -n "${VIRTUAL_ENV:-}" ]]; then> python_venv="${VIRTUAL_ENV##*/}"> fi201,202c116< function __powerline_last_status_prompt {< [[ "$1" -ne 0 ]] && echo "${1}|${LAST_STATUS_THEME_PROMPT_COLOR}"---> [[ -n "${python_venv}" ]] && echo "${PYTHON_VENV_CHAR?}${python_venv}|${PYTHON_VENV_THEME_PROMPT_COLOR?}|${fg_color}"205,232c119,344< function __powerline_prompt_command {< local last_status="$?" ## always the first< local separator_char="${POWERLINE_PROMPT_CHAR}"<< LEFT_PROMPT=""< SEGMENTS_AT_LEFT=0< LAST_SEGMENT_COLOR=""<<< if [[ -n "${POWERLINE_PROMPT_DISTRO_LOGO}" ]]; then< LEFT_PROMPT+="$(set_color ${PROMPT_DISTRO_LOGO_COLOR} ${PROMPT_DISTRO_LOGO_COLORBG})${PROMPT_DISTRO_LOGO}$(set_color - -)"< fi<< ## left prompt ##< for segment in $POWERLINE_PROMPT; do< local info="$(__powerline_${segment}_prompt)"< [[ -n "${info}" ]] && __powerline_left_segment "${info}"< done<< [[ "${last_status}" -ne 0 ]] && __powerline_left_segment $(__powerline_last_status_prompt ${last_status})< [[ -n "${LEFT_PROMPT}" ]] && LEFT_PROMPT+="$(set_color ${LAST_SEGMENT_COLOR} -)${separator_char}${normal}"<< PS1="${LEFT_PROMPT} "<< ## cleanup ##< unset LAST_SEGMENT_COLOR \< LEFT_PROMPT \< SEGMENTS_AT_LEFT---> #Customising SCM(GIT) Prompt> function __powerline_scm_prompt() {> local color=""> local scm_prompt=""> local -i fg_color=206>> scm_prompt_vars>> if [[ "${SCM_NONE_CHAR?}" != "${SCM_CHAR?}" ]]; then> if [[ "${SCM_DIRTY?}" -eq 3 ]]; then> color=${SCM_THEME_PROMPT_STAGED_COLOR-${POWERLINE_SCM_STAGED_COLOR-"30"}}> fg_color=124> elif [[ "${SCM_DIRTY?}" -eq 2 ]]; then> color=${SCM_THEME_PROMPT_UNSTAGED_COLOR-${POWERLINE_SCM_UNSTAGED_COLOR-"92"}}> fg_color=56> elif [[ "${SCM_DIRTY?}" -eq 1 ]]; then> color=${SCM_THEME_PROMPT_DIRTY_COLOR-${POWERLINE_SCM_DIRTY_COLOR-"88"}}> fg_color=118> elif [[ "${SCM_DIRTY?}" -eq 0 ]]; then> color=${SCM_THEME_PROMPT_CLEAN_COLOR-${POWERLINE_SCM_CLEAN_COLOR-"25"}}> fg_color=16> else> color=${SCM_THEME_PROMPT_COLOR-${POWERLINE_SCM_CLEAN_COLOR-"25"}}> fg_color=255> fi> if [[ "${SCM_GIT_CHAR?}" == "${SCM_CHAR?}" ]]; then> scm_prompt+="${SCM_CHAR}${SCM_BRANCH?}${SCM_STATE?}"> elif [[ "${SCM_P4_CHAR?}" == "${SCM_CHAR}" ]]; then> scm_prompt+="${SCM_CHAR}${SCM_BRANCH?}${SCM_STATE?}"> elif [[ "${SCM_HG_CHAR?}" == "${SCM_CHAR}" ]]; then> scm_prompt+="${SCM_CHAR}${SCM_BRANCH?}${SCM_STATE?}"> elif [[ "${SCM_SVN_CHAR?}" == "${SCM_CHAR}" ]]; then> scm_prompt+="${SCM_CHAR}${SCM_BRANCH?}${SCM_STATE?}"> fi> echo "${scm_prompt?}|${color}|${fg_color}"> fi> }>> function __powerline_cwd_prompt() {> local -i fg_color=16>> echo "\w|${CWD_THEME_PROMPT_COLOR?}|${fg_color}"> }>> function __powerline_hostname_prompt() {> local -i fg_color=206>> echo "\h|${HOST_THEME_PROMPT_COLOR?}|${fg_color}"> }>> function __powerline_wd_prompt() {> local -i fg_color=206>> echo "\W|${CWD_THEME_PROMPT_COLOR?}|${fg_color}"> }>> function __powerline_clock_prompt() {> local -i fg_color=206>> echo "\D{${THEME_CLOCK_FORMAT?}}|${CLOCK_THEME_PROMPT_COLOR?}|${fg_color}"> }>> function __powerline_battery_prompt() {> local color="" battery_status> battery_status="$(battery_percentage 2> /dev/null)"> local -i fg_color=255>> if [[ -z "${battery_status}" || "${battery_status}" == "-1" || "${battery_status}" == "no" ]]; then> true> else> if [[ "$((10#${battery_status}))" -le 5 ]]; then> color="${BATTERY_STATUS_THEME_PROMPT_CRITICAL_COLOR-"160"}"> elif [[ "$((10#${battery_status}))" -le 25 ]]; then> color="${BATTERY_STATUS_THEME_PROMPT_LOW_COLOR-"208"}"> else> color="${BATTERY_STATUS_THEME_PROMPT_GOOD_COLOR-"70"}"> fi> ac_adapter_connected && battery_status="${BATTERY_AC_CHAR?}${battery_status}"> echo "${battery_status}%|${color}|${fg_color}"> fi> }>> function __powerline_in_vim_prompt() {> local -i fg_color=206>> if [[ -n "${VIMRUNTIME:-}" ]]; then> echo "${IN_VIM_THEME_PROMPT_TEXT?}|${IN_VIM_THEME_PROMPT_COLOR?}|${fg_color}"> fi> }>> function __powerline_aws_profile_prompt() {> local -i fg_color=206>> if [[ -n "${AWS_PROFILE:-}" ]]; then> echo "${AWS_PROFILE_CHAR?}${AWS_PROFILE?}|${AWS_PROFILE_PROMPT_COLOR?}|${fg_color}"> fi> }>> function __powerline_in_toolbox_prompt() {> local -i fg_color=206>> if [[ -f /run/.containerenv ]] && [[ -f /run/.toolboxenv ]]; then> echo "${IN_TOOLBOX_THEME_PROMPT_TEXT?}|${IN_TOOLBOX_THEME_PROMPT_COLOR?}|${fg_color}"> fi> }>> function __powerline_shlvl_prompt() {> if [[ "${SHLVL}" -gt 1 ]]; then> local prompt="${SHLVL_THEME_PROMPT_CHAR-"§"}"> local level=$((SHLVL - 1))> echo "${prompt}${level}|${SHLVL_THEME_PROMPT_COLOR-${HOST_THEME_PROMPT_COLOR-"0"}}"> fi> }>> function __powerline_dirstack_prompt() {> if [[ "${#DIRSTACK[@]}" -gt 1 ]]; then> local depth=$((${#DIRSTACK[@]} - 1))> local prompt="${DIRSTACK_THEME_PROMPT_CHAR-${POWERLINE_DIRSTACK_CHAR-"←"}}"> if [[ "${depth}" -ge 2 ]]; then> prompt+="${depth}"> fi> echo "${prompt}|${DIRSTACK_THEME_PROMPT_COLOR-${POWERLINE_DIRSTACK_COLOR-${CWD_THEME_PROMPT_COLOR-${POWERLINE_CWD_COLOR-"240"}}}}"> fi> }>> function __powerline_history_number_prompt() {> echo "${HISTORY_NUMBER_THEME_PROMPT_CHAR-${POWERLINE_HISTORY_NUMBER_CHAR-"#"}}\!|${HISTORY_NUMBER_THEME_PROMPT_COLOR-${POWERLINE_HISTORY_NUMBER_COLOR-"0"}}"> }>> function __powerline_command_number_prompt() {> echo "${COMMAND_NUMBER_THEME_PROMPT_CHAR-${POWERLINE_COMMAND_NUMBER_CHAR-"#"}}\#|${COMMAND_NUMBER_THEME_PROMPT_COLOR-${POWERLINE_COMMAND_NUMBER_COLOR-"0"}}"> }>> function __powerline_duration_prompt() {> local duration> duration=$(_command_duration)> [[ -n "$duration" ]] && echo "${duration}|${COMMAND_DURATION_PROMPT_COLOR?}"> }>> function __powerline_left_segment() {> local -a params> IFS="|" read -ra params <<< "${1}"> local pad_before_segment=" "> local -i fg_color=206>> #for seperator character> if [[ "${SEGMENTS_AT_LEFT?}" -eq 0 ]]; then> if [[ "${POWERLINE_COMPACT_BEFORE_FIRST_SEGMENT:-0}" -ne 0 ]]; then> pad_before_segment=""> fi> else> if [[ "${POWERLINE_COMPACT_AFTER_SEPARATOR:-0}" -ne 0 ]]; then> pad_before_segment=""> fi> # Since the previous segment wasn't the last segment, add padding, if needed> #> if [[ "${POWERLINE_COMPACT_BEFORE_SEPARATOR:-0}" -eq 0 ]]; then> LEFT_PROMPT+="$(set_color - "${LAST_SEGMENT_COLOR?}") ${normal?}"> fi> if [[ "${LAST_SEGMENT_COLOR?}" -eq "${params[1]:-}" ]]; then> LEFT_PROMPT+="$(set_color - "${LAST_SEGMENT_COLOR?}")${POWERLINE_LEFT_SEPARATOR_SOFT:- }${normal?}"> else> LEFT_PROMPT+="$(set_color "${LAST_SEGMENT_COLOR?}" "${params[1]:-}")${POWERLINE_LEFT_SEPARATOR:- }${normal?}"> fi> fi>> #change here to cahnge fg color> LEFT_PROMPT+="$(set_color "${params[2]:-}" "${params[1]:-}")${pad_before_segment}${params[0]}${normal?}"> #seperator char color == current bg> LAST_SEGMENT_COLOR="${params[1]:-}"> ((SEGMENTS_AT_LEFT += 1))> }>> function __powerline_left_last_segment_padding() {> LEFT_PROMPT+="$(set_color - "${LAST_SEGMENT_COLOR?}") ${normal?}"> }>> function __powerline_last_status_prompt() {> [[ "$1" -ne 0 ]] && echo "${1}|${LAST_STATUS_THEME_PROMPT_COLOR-"52"}"> }>> function __powerline_prompt_command() {> local last_status="$?" ## always the first> local info prompt_color>> local LEFT_PROMPT=""> local SEGMENTS_AT_LEFT=0> local LAST_SEGMENT_COLOR="">> _save-and-reload-history "${HISTORY_AUTOSAVE:-0}">> if [[ -n "${POWERLINE_PROMPT_DISTRO_LOGO:-}" ]]; then> LEFT_PROMPT+="$(set_color "${PROMPT_DISTRO_LOGO_COLOR?}" "${PROMPT_DISTRO_LOGO_COLORBG?}")${PROMPT_DISTRO_LOGO?}$(set_color - -)"> fi>> ## left prompt ##> for segment in ${POWERLINE_PROMPT-"user_info" "scm" "python_venv" "ruby" "node" "cwd"}; do> info="$("__powerline_${segment}_prompt")"> [[ -n "${info}" ]] && __powerline_left_segment "${info}"> done>> [[ "${last_status}" -ne 0 ]] && __powerline_left_segment "$(__powerline_last_status_prompt "${last_status}")">> if [[ -n "${LEFT_PROMPT:-}" ]] && [[ "${POWERLINE_COMPACT_AFTER_LAST_SEGMENT:-0}" -eq 0 ]]; then> __powerline_left_last_segment_padding> fi>> # By default we try to match the prompt to the adjacent segment's background color,> # but when part of the prompt exists within that segment, we instead match the foreground color.> prompt_color="$(set_color "${LAST_SEGMENT_COLOR?}" -)"> if [[ -n "${LEFT_PROMPT:-}" ]] && [[ -n "${POWERLINE_LEFT_LAST_SEGMENT_PROMPT_CHAR:-}" ]]; then> LEFT_PROMPT+="$(set_color - "${LAST_SEGMENT_COLOR?}")${POWERLINE_LEFT_LAST_SEGMENT_PROMPT_CHAR}"> prompt_color="${normal?}"> fi> [[ -n "${LEFT_PROMPT:-}" ]] && LEFT_PROMPT+="${prompt_color}${POWERLINE_PROMPT_CHAR-\\$}${normal?}">> if [[ "${POWERLINE_COMPACT_PROMPT:-0}" -eq 0 ]]; then> LEFT_PROMPT+=" "> fi>> PS1="${LEFT_PROMPT?}">> ## cleanup ##> unset LAST_SEGMENT_COLOR \> LEFT_PROMPT \> SEGMENTS_AT_LEFTdiff -r .bash_it/themes/powerline/powerline.base.bash beehive_bash_it/themes/powerline/powerline.base.bash3a4> #To set color for foreground and background11c12,14< [[ -n "${fg}" ]] && bg=";${bg}"---> if [[ -n "${fg}" ]]; then> bg=";${bg}"> fi13c16< echo -e "\[\033[${fg}${bg}m\]"---> printf '\[\\e[%s%sm\]' "${fg}" "${bg}"15a19> #Customising User Info Segment17,22c21,22< local user_info=""< local color=${USER_INFO_THEME_PROMPT_COLOR}<< if [[ "${THEME_CHECK_SUDO}" = true ]]; then< sudo -vn 1> /dev/null 2>&1 && color=${USER_INFO_THEME_PROMPT_COLOR_SUDO}< fi---> local user_info='\u'> local color=${USER_INFO_THEME_PROMPT_COLOR-${POWERLINE_USER_INFO_COLOR-"32"}}24,26c24,27< case "${POWERLINE_PROMPT_USER_INFO_MODE}" in< "sudo")< if [[ "${color}" = "${USER_INFO_THEME_PROMPT_COLOR_SUDO}" ]]; then---> if [[ "${THEME_CHECK_SUDO:-false}" == true ]]; then> if sudo -vn 2> /dev/null; then> color=${USER_INFO_THEME_PROMPT_COLOR_SUDO-${POWERLINE_USER_INFO_COLOR_SUDO-"202"}}> if [[ "${POWERLINE_PROMPT_USER_INFO_MODE:-}" == "sudo" ]]; then29,39c30,36< ;;< *)< local user=${SHORT_USER:-${USER}}< if [[ -n "${SSH_CLIENT}" ]] || [[ -n "${SSH_CONNECTION}" ]]; then< user_info="${USER_INFO_SSH_CHAR}${user}"< else< user_info="${user}"< fi< ;;< esac< [[ -n "${user_info}" ]] && echo "${user_info}|${color}"---> fi> fi>> if [[ -n "${SSH_CLIENT:-}" || -n "${SSH_CONNECTION:-}" ]]; then> user_info="${USER_INFO_SSH_CHAR-${POWERLINE_USER_INFO_SSH_CHAR-"⌁"}}${user_info}"> fi> printf '%s|%s' "${user_info}" "${color}"45c42< if [ -d .terraform ]; then---> if [[ -d .terraform ]]; then47c44,46< [[ -n "${terraform_workspace}" ]] && echo "${TERRAFORM_CHAR}${terraform_workspace}|${TERRAFORM_THEME_PROMPT_COLOR}"---> if [[ -n "${terraform_workspace}" ]]; then> printf '%s%s|%s' "${TERRAFORM_CHAR-${POWERLINE_TERRAFORM_CHAR-"❲t❳"}}" "${terraform_workspace}" "${TERRAFORM_THEME_PROMPT_COLOR-${POWERLINE_TERRAFORM_COLOR-"161"}}"> fi55c54,56< [[ -n "${active_gcloud_account}" ]] && echo "${GCLOUD_CHAR}${active_gcloud_account}|${GCLOUD_THEME_PROMPT_COLOR}"---> if [[ -n "${active_gcloud_account}" ]]; then> printf '%s%s|%s' "${GCLOUD_CHAR-${POWERLINE_GCLOUD_CHAR-"❲G❳"}}" "${active_gcloud_account}" "${GCLOUD_THEME_PROMPT_COLOR-${POWERLINE_GCLOUD_COLOR-"161"}}"> fi62c63,65< [[ -n "${node_version}" ]] && echo "${NODE_CHAR}${node_version}|${NODE_THEME_PROMPT_COLOR}"---> if [[ -n "${node_version}" ]]; then> printf '%s%s|%s' "${NODE_CHAR-${POWERLINE_NODE_CHAR-="❲n❳"}}" "${node_version}" "${NODE_THEME_PROMPT_COLOR-${POWERLINE_NODE_COLOR-"22"}}"> fi64a68> #Customising Ruby Prompt66c70< local ruby_version=""---> local ruby_version74c78,80< [[ -n "${ruby_version}" ]] && echo "${RUBY_CHAR}${ruby_version}|${RUBY_THEME_PROMPT_COLOR}"---> if [[ -n "${ruby_version:-}" ]]; then> printf '%s%s|%s' "${RUBY_CHAR-${POWERLINE_RUBY_CHAR-"💎"}}" "${ruby_version}" "${RUBY_THEME_PROMPT_COLOR-${POWERLINE_RUBY_COLOR-"161"}}"> fi84c90,92< [[ -n "${kubernetes_context}" ]] && echo "${KUBERNETES_CONTEXT_THEME_CHAR}${kubernetes_context}|${KUBERNETES_CONTEXT_THEME_PROMPT_COLOR}"---> if [[ -n "${kubernetes_context}" ]]; then> printf '%s%s|%s' "${KUBERNETES_CONTEXT_THEME_CHAR-${POWERLINE_KUBERNETES_CONTEXT_CHAR-"⎈"}}" "${kubernetes_context}" "${KUBERNETES_CONTEXT_THEME_PROMPT_COLOR-${POWERLINE_KUBERNETES_CONTEXT_COLOR-"26"}}"> fi94c102,104< [[ -n "${kubernetes_namespace}" ]] && echo "${KUBERNETES_NAMESPACE_THEME_CHAR}${kubernetes_namespace}|${KUBERNETES_NAMESPACE_THEME_PROMPT_COLOR}"---> if [[ -n "${kubernetes_namespace}" ]]; then> printf '%s%s|%s' "${KUBERNETES_NAMESPACE_THEME_CHAR-${POWERLINE_KUBERNETES_NAMESPACE_CHAR-"⎈"}}" "${kubernetes_namespace}" "${KUBERNETES_NAMESPACE_THEME_PROMPT_COLOR-${POWERLINE_KUBERNETES_NAMESPACE_COLOR-"60"}}"> fi96a107> #Customising Python (venv) Prompt102c113< PYTHON_VENV_CHAR=${CONDA_PYTHON_VENV_CHAR}---> local PYTHON_VENV_CHAR=${CONDA_PYTHON_VENV_CHAR-${POWERLINE_CONDA_PYTHON_VENV_CHAR-"ⓔ"}}107c118,120< [[ -n "${python_venv}" ]] && echo "${PYTHON_VENV_CHAR}${python_venv}|${PYTHON_VENV_THEME_PROMPT_COLOR}"---> if [[ -n "${python_venv}" ]]; then> printf '%s%s|%s' "${PYTHON_VENV_CHAR-${POWERLINE_PYTHON_VENV_CHAR-"ⓔ"}}" "${python_venv}" "${PYTHON_VENV_THEME_PROMPT_COLOR-${POWERLINE_PYTHON_VENV_COLOR-"35"}}"> fi109a123> #Customising SCM(GIT) Prompt116,122c130,138< if [[ "${SCM_NONE_CHAR}" != "${SCM_CHAR}" ]]; then< if [[ "${SCM_DIRTY}" -eq 3 ]]; then< color=${SCM_THEME_PROMPT_STAGED_COLOR}< elif [[ "${SCM_DIRTY}" -eq 2 ]]; then< color=${SCM_THEME_PROMPT_UNSTAGED_COLOR}< elif [[ "${SCM_DIRTY}" -eq 1 ]]; then< color=${SCM_THEME_PROMPT_DIRTY_COLOR}---> if [[ "${SCM_NONE_CHAR?}" != "${SCM_CHAR?}" ]]; then> if [[ "${SCM_DIRTY?}" -eq 3 ]]; then> color=${SCM_THEME_PROMPT_STAGED_COLOR-${POWERLINE_SCM_STAGED_COLOR-"30"}}> elif [[ "${SCM_DIRTY?}" -eq 2 ]]; then> color=${SCM_THEME_PROMPT_UNSTAGED_COLOR-${POWERLINE_SCM_UNSTAGED_COLOR-"92"}}> elif [[ "${SCM_DIRTY?}" -eq 1 ]]; then> color=${SCM_THEME_PROMPT_DIRTY_COLOR-${POWERLINE_SCM_DIRTY_COLOR-"88"}}> elif [[ "${SCM_DIRTY?}" -eq 0 ]]; then> color=${SCM_THEME_PROMPT_CLEAN_COLOR-${POWERLINE_SCM_CLEAN_COLOR-"25"}}124c140< color=${SCM_THEME_PROMPT_CLEAN_COLOR}---> color=${SCM_THEME_PROMPT_COLOR-${POWERLINE_SCM_CLEAN_COLOR-"25"}}126,133c142,149< if [[ "${SCM_GIT_CHAR}" == "${SCM_CHAR}" ]]; then< scm_prompt+="${SCM_CHAR}${SCM_BRANCH}${SCM_STATE}"< elif [[ "${SCM_P4_CHAR}" == "${SCM_CHAR}" ]]; then< scm_prompt+="${SCM_CHAR}${SCM_BRANCH}${SCM_STATE}"< elif [[ "${SCM_HG_CHAR}" == "${SCM_CHAR}" ]]; then< scm_prompt+="${SCM_CHAR}${SCM_BRANCH}${SCM_STATE}"< elif [[ "${SCM_SVN_CHAR}" == "${SCM_CHAR}" ]]; then< scm_prompt+="${SCM_CHAR}${SCM_BRANCH}${SCM_STATE}"---> if [[ "${SCM_GIT_CHAR?}" == "${SCM_CHAR?}" ]]; then> scm_prompt+="${SCM_CHAR}${SCM_BRANCH?}${SCM_STATE?}"> elif [[ "${SCM_P4_CHAR?}" == "${SCM_CHAR}" ]]; then> scm_prompt+="${SCM_CHAR}${SCM_BRANCH?}${SCM_STATE?}"> elif [[ "${SCM_HG_CHAR?}" == "${SCM_CHAR}" ]]; then> scm_prompt+="${SCM_CHAR}${SCM_BRANCH?}${SCM_STATE?}"> elif [[ "${SCM_SVN_CHAR?}" == "${SCM_CHAR}" ]]; then> scm_prompt+="${SCM_CHAR}${SCM_BRANCH?}${SCM_STATE?}"135c151< echo "${scm_prompt?}|${color}"---> printf '%s|%s' "${scm_prompt}" "${color}"140c156< echo "\w|${CWD_THEME_PROMPT_COLOR}"---> printf '%s|%s' "\w" "${CWD_THEME_PROMPT_COLOR-"240"}"144c160< echo "${SHORT_HOSTNAME:-$(hostname -s)}|${HOST_THEME_PROMPT_COLOR}"---> printf '%s|%s' "\h" "${HOST_THEME_PROMPT_COLOR-"0"}"148c164< echo "\W|${CWD_THEME_PROMPT_COLOR}"---> printf '%s|%s' "\W" "${CWD_THEME_PROMPT_COLOR-"240"}"152c168< echo "$(date +"${THEME_CLOCK_FORMAT}")|${CLOCK_THEME_PROMPT_COLOR}"---> printf '%s|%s' "\D{${THEME_CLOCK_FORMAT-"%H:%M:%S"}}" "${CLOCK_THEME_PROMPT_COLOR-"240"}"163c179< color="${BATTERY_STATUS_THEME_PROMPT_CRITICAL_COLOR}"---> color="${BATTERY_STATUS_THEME_PROMPT_CRITICAL_COLOR-"160"}"165c181< color="${BATTERY_STATUS_THEME_PROMPT_LOW_COLOR}"---> color="${BATTERY_STATUS_THEME_PROMPT_LOW_COLOR-"208"}"167c183,186< color="${BATTERY_STATUS_THEME_PROMPT_GOOD_COLOR}"---> color="${BATTERY_STATUS_THEME_PROMPT_GOOD_COLOR-"70"}"> fi> if ac_adapter_connected; then> battery_status="${BATTERY_AC_CHAR-"+"}${battery_status}"169,170c188< ac_adapter_connected && battery_status="${BATTERY_AC_CHAR}${battery_status}"< echo "${battery_status}%|${color}"---> printf '%s|%s' "${battery_status}%" "${color}"175,176c193,194< if [[ -n "$VIMRUNTIME" ]]; then< echo "${IN_VIM_THEME_PROMPT_TEXT}|${IN_VIM_THEME_PROMPT_COLOR}"---> if [[ -n "${VIMRUNTIME:-}" ]]; then> printf '%s|%s' "${IN_VIM_THEME_PROMPT_TEXT-"vim"}" "${IN_VIM_THEME_PROMPT_COLOR-"245"}"181,182c199,200< if [[ -n "${AWS_PROFILE}" ]]; then< echo "${AWS_PROFILE_CHAR}${AWS_PROFILE}|${AWS_PROFILE_PROMPT_COLOR}"---> if [[ -n "${AWS_PROFILE:-}" ]]; then> printf '%s%s|%s' "${AWS_PROFILE_CHAR-${POWERLINE_AWS_PROFILE_CHAR-"❲aws❳"}}" "${AWS_PROFILE}" "${AWS_PROFILE_PROMPT_COLOR-${POWERLINE_AWS_PROFILE_COLOR-"208"}}"187,188c205,206< if [ -f /run/.containerenv ] && [ -f /run/.toolboxenv ]; then< echo "${IN_TOOLBOX_THEME_PROMPT_TEXT}|${IN_TOOLBOX_THEME_PROMPT_COLOR}"---> if [[ -f /run/.containerenv && -f /run/.toolboxenv ]]; then> printf '%s|%s' "${IN_TOOLBOX_THEME_PROMPT_TEXT-"⬢"}" "${IN_TOOLBOX_THEME_PROMPT_COLOR-"125"}"194c212< local prompt="${SHLVL_THEME_PROMPT_CHAR}"---> local prompt="${SHLVL_THEME_PROMPT_CHAR-"§"}"196c214< echo "${prompt}${level}|${SHLVL_THEME_PROMPT_COLOR}"---> printf '%s|%s' "${prompt}${level}" "${SHLVL_THEME_PROMPT_COLOR-${HOST_THEME_PROMPT_COLOR-"0"}}"203c221< local prompt="${DIRSTACK_THEME_PROMPT_CHAR}"---> local prompt="${DIRSTACK_THEME_PROMPT_CHAR-${POWERLINE_DIRSTACK_CHAR-"←"}}"207c225< echo "${prompt}|${DIRSTACK_THEME_PROMPT_COLOR}"---> printf '%s|%s' "${prompt}" "${DIRSTACK_THEME_PROMPT_COLOR-${POWERLINE_DIRSTACK_COLOR-${CWD_THEME_PROMPT_COLOR-${POWERLINE_CWD_COLOR-"240"}}}}"212c230< echo "${HISTORY_NUMBER_THEME_PROMPT_CHAR}\!|${HISTORY_NUMBER_THEME_PROMPT_COLOR}"---> printf '%s%s|%s' "${HISTORY_NUMBER_THEME_PROMPT_CHAR-${POWERLINE_HISTORY_NUMBER_CHAR-"#"}}" '\!' "${HISTORY_NUMBER_THEME_PROMPT_COLOR-${POWERLINE_HISTORY_NUMBER_COLOR-"0"}}"216c234< echo "${COMMAND_NUMBER_THEME_PROMPT_CHAR}\#|${COMMAND_NUMBER_THEME_PROMPT_COLOR}"---> printf '%s%s|%s' "${COMMAND_NUMBER_THEME_PROMPT_CHAR-${POWERLINE_COMMAND_NUMBER_CHAR-"#"}}" '\#' "${COMMAND_NUMBER_THEME_PROMPT_COLOR-${POWERLINE_COMMAND_NUMBER_COLOR-"0"}}"222c240,242< [[ -n "$duration" ]] && echo "${duration}|${COMMAND_DURATION_PROMPT_COLOR}"---> if [[ -n "$duration" ]]; then> printf '%s|%s' "${duration}" "${COMMAND_DURATION_PROMPT_COLOR?}"> fi226c246< local params---> local -a params230,231c250,252< if [[ "${SEGMENTS_AT_LEFT}" -eq 0 ]]; then< if [[ "${POWERLINE_COMPACT_BEFORE_FIRST_SEGMENT}" -ne 0 ]]; then---> #for seperator character> if [[ "${SEGMENTS_AT_LEFT?}" -eq 0 ]]; then> if [[ "${POWERLINE_COMPACT_BEFORE_FIRST_SEGMENT:-${POWERLINE_COMPACT:-0}}" -ne 0 ]]; then235c256< if [[ "${POWERLINE_COMPACT_AFTER_SEPARATOR}" -ne 0 ]]; then---> if [[ "${POWERLINE_COMPACT_AFTER_SEPARATOR:-${POWERLINE_COMPACT:-0}}" -ne 0 ]]; then240,241c261,262< if [[ "${POWERLINE_COMPACT_BEFORE_SEPARATOR}" -eq 0 ]]; then< LEFT_PROMPT+="$(set_color - "${LAST_SEGMENT_COLOR}") ${normal?}"---> if [[ "${POWERLINE_COMPACT_BEFORE_SEPARATOR:-${POWERLINE_COMPACT:-0}}" -eq 0 ]]; then> LEFT_PROMPT+="$(set_color - "${LAST_SEGMENT_COLOR?}") ${normal?}"243,244c264,265< if [[ "${LAST_SEGMENT_COLOR}" -eq "${params[1]}" ]]; then< LEFT_PROMPT+="$(set_color - "${LAST_SEGMENT_COLOR}")${POWERLINE_LEFT_SEPARATOR_SOFT}${normal?}"---> if [[ "${LAST_SEGMENT_COLOR?}" -eq "${params[1]:-}" ]]; then> LEFT_PROMPT+="$(set_color - "${LAST_SEGMENT_COLOR?}")${POWERLINE_LEFT_SEPARATOR_SOFT- }${normal?}"246c267< LEFT_PROMPT+="$(set_color "${LAST_SEGMENT_COLOR}" "${params[1]}")${POWERLINE_LEFT_SEPARATOR}${normal?}"---> LEFT_PROMPT+="$(set_color "${LAST_SEGMENT_COLOR?}" "${params[1]:-}")${POWERLINE_LEFT_SEPARATOR- }${normal?}"250,251c271,274< LEFT_PROMPT+="$(set_color "${POWERLINE_PROMPT_FOREGROUND_COLOR}" "${params[1]}")${pad_before_segment}${params[0]}${normal}"< LAST_SEGMENT_COLOR=${params[1]}---> #change here to cahnge fg color> LEFT_PROMPT+="$(set_color - "${params[1]:-}")${pad_before_segment}${params[0]}${normal?}"> #seperator char color == current bg> LAST_SEGMENT_COLOR="${params[1]:-}"256c279< LEFT_PROMPT+="$(set_color - "${LAST_SEGMENT_COLOR}") ${normal?}"---> LEFT_PROMPT+="$(set_color - "${LAST_SEGMENT_COLOR?}") ${normal?}"260c283,285< [[ "$1" -ne 0 ]] && echo "${1}|${LAST_STATUS_THEME_PROMPT_COLOR}"---> if [[ "${1?}" -ne 0 ]]; then> printf '%s|%s' "${1}" "${LAST_STATUS_THEME_PROMPT_COLOR-"52"}"> fi265c290,291< local separator_char="${POWERLINE_PROMPT_CHAR}" info prompt_color---> local beginning_of_line='\[\e[G\]'> local info prompt_color segment prompt267,269c293,295< LEFT_PROMPT=""< SEGMENTS_AT_LEFT=0< LAST_SEGMENT_COLOR=""---> local LEFT_PROMPT=""> local SEGMENTS_AT_LEFT=0> local LAST_SEGMENT_COLOR=""273,274c299,300< if [[ -n "${POWERLINE_PROMPT_DISTRO_LOGO}" ]]; then< LEFT_PROMPT+="$(set_color "${PROMPT_DISTRO_LOGO_COLOR}" "${PROMPT_DISTRO_LOGO_COLORBG}")${PROMPT_DISTRO_LOGO}$(set_color - -)"---> if [[ -n "${POWERLINE_PROMPT_DISTRO_LOGO:-}" ]]; then> LEFT_PROMPT+="$(set_color "${PROMPT_DISTRO_LOGO_COLOR?}" "${PROMPT_DISTRO_LOGO_COLORBG?}")${PROMPT_DISTRO_LOGO?}$(set_color - -)"278,280c304,309< for segment in $POWERLINE_PROMPT; do< info="$(__powerline_"${segment}"_prompt)"< [[ -n "${info}" ]] && __powerline_left_segment "${info}"---> # shellcheck disable=SC2068 # intended behavior> for segment in ${POWERLINE_PROMPT[@]-"user_info" "scm" "python_venv" "ruby" "node" "cwd"}; do> info="$("__powerline_${segment}_prompt")"> if [[ -n "${info}" ]]; then> __powerline_left_segment "${info}"> fi283c312,314< [[ "${last_status}" -ne 0 ]] && __powerline_left_segment "$(__powerline_last_status_prompt "${last_status}")"---> if [[ "${last_status}" -ne 0 ]]; then> __powerline_left_segment "$(__powerline_last_status_prompt "${last_status}")"> fi285c316< if [[ -n "${LEFT_PROMPT}" ]] && [[ "${POWERLINE_COMPACT_AFTER_LAST_SEGMENT:-}" -eq 0 ]]; then---> if [[ -n "${LEFT_PROMPT:-}" && "${POWERLINE_COMPACT_AFTER_LAST_SEGMENT:-${POWERLINE_COMPACT:-0}}" -eq 0 ]]; then291,293c322,324< prompt_color="$(set_color "${LAST_SEGMENT_COLOR}" -)"< if [[ -n "${LEFT_PROMPT}" ]] && [[ -n "${POWERLINE_LEFT_LAST_SEGMENT_PROMPT_CHAR}" ]]; then< LEFT_PROMPT+="$(set_color - "${LAST_SEGMENT_COLOR}")${POWERLINE_LEFT_LAST_SEGMENT_PROMPT_CHAR}"---> prompt_color="$(set_color "${LAST_SEGMENT_COLOR?}" -)"> if [[ -n "${LEFT_PROMPT:-}" && -n "${POWERLINE_LEFT_LAST_SEGMENT_END_CHAR:-}" ]]; then> LEFT_PROMPT+="$(set_color - "${LAST_SEGMENT_COLOR?}")${POWERLINE_LEFT_LAST_SEGMENT_END_CHAR}"296d326< [[ -n "${LEFT_PROMPT}" ]] && LEFT_PROMPT+="${prompt_color}${separator_char}${normal?}"298,299c328,330< if [[ "${POWERLINE_COMPACT_PROMPT:-}" -eq 0 ]]; then< LEFT_PROMPT+=" "---> prompt="${prompt_color}${PROMPT_CHAR-${POWERLINE_PROMPT_CHAR-\\$}}${normal?}"> if [[ "${POWERLINE_COMPACT_PROMPT:-${POWERLINE_COMPACT:-0}}" -eq 0 ]]; then> prompt+=" "302,307c333< PS1="${LEFT_PROMPT}"<< ## cleanup ##< unset LAST_SEGMENT_COLOR \< LEFT_PROMPT \< SEGMENTS_AT_LEFT---> PS1="${beginning_of_line}${normal?}${LEFT_PROMPT}${prompt}"diff -r .bash_it/themes/powerline/powerline.theme.bash beehive_bash_it/themes/powerline/powerline.theme.bash3,5c3,4<< # shellcheck source=../../themes/powerline/powerline.base.bash< . "$BASH_IT/themes/powerline/powerline.base.bash"---> # shellcheck source-path=SCRIPTDIR/../powerline> source "${BASH_IT?}/themes/powerline/powerline.base.bash"8,17c7,16< POWERLINE_LEFT_SEPARATOR=${POWERLINE_LEFT_SEPARATOR:=""}< POWERLINE_LEFT_SEPARATOR_SOFT=${POWERLINE_LEFT_SEPARATOR_SOFT:=""}< POWERLINE_LEFT_LAST_SEGMENT_PROMPT_CHAR=${POWERLINE_LEFT_LAST_SEGMENT_PROMPT_CHAR:=""}<< POWERLINE_COMPACT=${POWERLINE_COMPACT:=0}< POWERLINE_COMPACT_BEFORE_SEPARATOR=${POWERLINE_COMPACT_BEFORE_SEPARATOR:=${POWERLINE_COMPACT}}< POWERLINE_COMPACT_AFTER_SEPARATOR=${POWERLINE_COMPACT_AFTER_SEPARATOR:=${POWERLINE_COMPACT}}< POWERLINE_COMPACT_BEFOR_FIRST_SEGMENT=${POWERLINE_COMPACT_BEFORE_FIRST_SEGMENT:=${POWERLINE_COMPACT}}< POWERLINE_COMPACT_AFTER_LAST_SEGMENT=${POWERLINE_COMPACT_AFTER_LAST_SEGMENT:=${POWERLINE_COMPACT}}< POWERLINE_COMPACT_PROMPT=${POWERLINE_COMPACT_PROMPT:=${POWERLINE_COMPACT}}---> : "${POWERLINE_LEFT_SEPARATOR:=""}"> : "${POWERLINE_LEFT_SEPARATOR_SOFT:=""}"> : "${POWERLINE_LEFT_LAST_SEGMENT_END_CHAR:=""}">> : "${POWERLINE_COMPACT:=0}"> : "${POWERLINE_COMPACT_BEFORE_SEPARATOR:=${POWERLINE_COMPACT}}"> : "${POWERLINE_COMPACT_AFTER_SEPARATOR:=${POWERLINE_COMPACT}}"> : "${POWERLINE_COMPACT_BEFORE_FIRST_SEGMENT:=${POWERLINE_COMPACT}}"> : "${POWERLINE_COMPACT_AFTER_LAST_SEGMENT:=${POWERLINE_COMPACT}}"> : "${POWERLINE_COMPACT_PROMPT:=${POWERLINE_COMPACT}}"41a41,42> NODE_THEME_PROMPT_PREFIX=""> NODE_THEME_PROMPT_SUFFIX=""70c71< BATTERY_AC_CHAR=${BATTERY_AC_CHAR:="⚡"}---> : "${BATTERY_AC_CHAR:="⚡"}"75c76< THEME_CLOCK_FORMAT=${THEME_CLOCK_FORMAT:="%H:%M:%S"}---> : "${THEME_CLOCK_FORMAT:="%H:%M:%S"}"102c103< POWERLINE_PROMPT=${POWERLINE_PROMPT:="user_info scm python_venv ruby node cwd"}---> : "${POWERLINE_PROMPT:="user_info scm python_venv ruby node cwd"}"diff -r .bash_it/themes/powerline-multiline/powerline-multiline.base.bash beehive_bash_it/themes/powerline-multiline/powerline-multiline.base.bash4c4< [[ "$1" -ne 0 ]] && echo "$(set_color ${LAST_STATUS_THEME_PROMPT_COLOR} -) ${1} ${normal}"---> [[ "$1" -ne 0 ]] && echo "$(set_color ${LAST_STATUS_THEME_PROMPT_COLOR} -) ${1} ${normal}"8,45c8,46< local OLD_IFS="${IFS}"; IFS="|"< local params=( $1 )< IFS="${OLD_IFS}"< local padding=0< local pad_before_segment=" "<< if [[ "${SEGMENTS_AT_RIGHT}" -eq 0 ]]; then< if [[ "${POWERLINE_COMPACT_AFTER_LAST_SEGMENT}" -ne 0 ]]; then< pad_before_segment=""< fi< RIGHT_PROMPT+="$(set_color ${params[1]} -)${POWERLINE_RIGHT_END}${normal}"< (( padding += 1 ))< else< if [[ "${POWERLINE_COMPACT_BEFORE_SEPARATOR}" -ne 0 ]]; then< pad_before_segment=""< fi< # Since the previous segment wasn't the last segment, add padding, if needed< #< if [[ "${POWERLINE_COMPACT_AFTER_SEPARATOR}" -eq 0 ]]; then< RIGHT_PROMPT+="$(set_color - ${LAST_SEGMENT_COLOR}) ${normal}"< (( padding += 1 ))< fi< if [[ "${LAST_SEGMENT_COLOR}" -eq "${params[1]}" ]]; then< RIGHT_PROMPT+="$(set_color - ${LAST_SEGMENT_COLOR})${POWERLINE_RIGHT_SEPARATOR_SOFT}${normal}"< else< RIGHT_PROMPT+="$(set_color ${params[1]} ${LAST_SEGMENT_COLOR})${POWERLINE_RIGHT_SEPARATOR}${normal}"< fi< (( padding += 1 ))< fi<< RIGHT_PROMPT+="$(set_color "${POWERLINE_PROMPT_FOREGROUND_COLOR}" ${params[1]})${pad_before_segment}${params[0]}${normal}"<< (( padding += ${#pad_before_segment} ))< (( padding += ${#params[0]} ))<< (( RIGHT_PROMPT_LENGTH += padding ))< LAST_SEGMENT_COLOR="${params[1]}"< (( SEGMENTS_AT_RIGHT += 1 ))---> local OLD_IFS="${IFS}"> IFS="|"> local params=($1)> IFS="${OLD_IFS}"> local padding=0> local pad_before_segment=" ">> if [[ "${SEGMENTS_AT_RIGHT}" -eq 0 ]]; then> if [[ "${POWERLINE_COMPACT_AFTER_LAST_SEGMENT}" -ne 0 ]]; then> pad_before_segment=""> fi> RIGHT_PROMPT+="$(set_color ${params[1]} -)${POWERLINE_RIGHT_END}${normal}"> ((padding += 1))> else> if [[ "${POWERLINE_COMPACT_BEFORE_SEPARATOR}" -ne 0 ]]; then> pad_before_segment=""> fi> # Since the previous segment wasn't the last segment, add padding, if needed> #> if [[ "${POWERLINE_COMPACT_AFTER_SEPARATOR}" -eq 0 ]]; then> RIGHT_PROMPT+="$(set_color - ${LAST_SEGMENT_COLOR}) ${normal}"> ((padding += 1))> fi> if [[ "${LAST_SEGMENT_COLOR}" -eq "${params[1]}" ]]; then> RIGHT_PROMPT+="$(set_color - ${LAST_SEGMENT_COLOR})${POWERLINE_RIGHT_SEPARATOR_SOFT}${normal}"> else> RIGHT_PROMPT+="$(set_color ${params[1]} ${LAST_SEGMENT_COLOR})${POWERLINE_RIGHT_SEPARATOR}${normal}"> fi> ((padding += 1))> fi>> RIGHT_PROMPT+="$(set_color "${POWERLINE_PROMPT_FOREGROUND_COLOR}" ${params[1]})${pad_before_segment}${params[0]}${normal}">> ((padding += ${#pad_before_segment}))> ((padding += ${#params[0]}))>> ((RIGHT_PROMPT_LENGTH += padding))> LAST_SEGMENT_COLOR="${params[1]}"> ((SEGMENTS_AT_RIGHT += 1))49,50c50,51< RIGHT_PROMPT+="$(set_color - ${LAST_SEGMENT_COLOR}) ${normal}"< (( RIGHT_PROMPT_LENGTH += 1 ))---> RIGHT_PROMPT+="$(set_color - ${LAST_SEGMENT_COLOR}) ${normal}"> ((RIGHT_PROMPT_LENGTH += 1))54,55c55,56< local last_status="$?" ## always the first< local move_cursor_rightmost='\033[500C'---> local last_status="$?" ## always the first> local move_cursor_rightmost='\033[500C'57,105c58,106< LEFT_PROMPT=""< RIGHT_PROMPT=""< RIGHT_PROMPT_LENGTH=${POWERLINE_PADDING}< SEGMENTS_AT_LEFT=0< SEGMENTS_AT_RIGHT=0< LAST_SEGMENT_COLOR=""<< _save-and-reload-history "${HISTORY_AUTOSAVE:-0}"<< ## left prompt ##< for segment in $POWERLINE_LEFT_PROMPT; do< local info="$(__powerline_${segment}_prompt)"< [[ -n "${info}" ]] && __powerline_left_segment "${info}"< done<< if [[ -n "${LEFT_PROMPT}" ]] && [[ "${POWERLINE_COMPACT_AFTER_LAST_SEGMENT}" -eq 0 ]]; then< __powerline_left_last_segment_padding< fi<< [[ -n "${LEFT_PROMPT}" ]] && LEFT_PROMPT+="$(set_color ${LAST_SEGMENT_COLOR} -)${POWERLINE_LEFT_END}${normal}"<< ## right prompt ##< if [[ -n "${POWERLINE_RIGHT_PROMPT}" ]]; then< # LEFT_PROMPT+="${move_cursor_rightmost}"< for segment in $POWERLINE_RIGHT_PROMPT; do< local info="$(__powerline_${segment}_prompt)"< [[ -n "${info}" ]] && __powerline_right_segment "${info}"< done<< if [[ -n "${RIGHT_PROMPT}" ]] && [[ "${POWERLINE_COMPACT_BEFORE_FIRST_SEGMENT}" -eq 0 ]]; then< __powerline_right_first_segment_padding< fi<< RIGHT_PAD=$(printf "%.s " $(seq 1 $RIGHT_PROMPT_LENGTH))< LEFT_PROMPT+="${RIGHT_PAD}${move_cursor_rightmost}"< LEFT_PROMPT+="\033[$(( ${#RIGHT_PAD} - 1 ))D"< fi<< local prompt="${PROMPT_CHAR}"< if [[ "${POWERLINE_COMPACT_PROMPT}" -eq 0 ]]; then< prompt+=" "< fi<< PS1="${LEFT_PROMPT}${RIGHT_PROMPT}\n$(__powerline_last_status_prompt ${last_status})${prompt}"<< ## cleanup ##< unset LAST_SEGMENT_COLOR \< LEFT_PROMPT RIGHT_PROMPT RIGHT_PROMPT_LENGTH \< SEGMENTS_AT_LEFT SEGMENTS_AT_RIGHT---> LEFT_PROMPT=""> RIGHT_PROMPT=""> RIGHT_PROMPT_LENGTH=${POWERLINE_PADDING}> SEGMENTS_AT_LEFT=0> SEGMENTS_AT_RIGHT=0> LAST_SEGMENT_COLOR="">> _save-and-reload-history "${HISTORY_AUTOSAVE:-0}">> ## left prompt ##> for segment in $POWERLINE_LEFT_PROMPT; do> local info="$(__powerline_${segment}_prompt)"> [[ -n "${info}" ]] && __powerline_left_segment "${info}"> done>> if [[ -n "${LEFT_PROMPT}" ]] && [[ "${POWERLINE_COMPACT_AFTER_LAST_SEGMENT}" -eq 0 ]]; then> __powerline_left_last_segment_padding> fi>> [[ -n "${LEFT_PROMPT}" ]] && LEFT_PROMPT+="$(set_color ${LAST_SEGMENT_COLOR} -)${POWERLINE_LEFT_END}${normal}">> ## right prompt ##> if [[ -n "${POWERLINE_RIGHT_PROMPT}" ]]; then> # LEFT_PROMPT+="${move_cursor_rightmost}"> for segment in $POWERLINE_RIGHT_PROMPT; do> local info="$(__powerline_${segment}_prompt)"> [[ -n "${info}" ]] && __powerline_right_segment "${info}"> done>> if [[ -n "${RIGHT_PROMPT}" ]] && [[ "${POWERLINE_COMPACT_BEFORE_FIRST_SEGMENT}" -eq 0 ]]; then> __powerline_right_first_segment_padding> fi>> RIGHT_PAD=$(printf "%.s " $(seq 1 $RIGHT_PROMPT_LENGTH))> LEFT_PROMPT+="${RIGHT_PAD}${move_cursor_rightmost}"> LEFT_PROMPT+="\033[$((${#RIGHT_PAD} - 1))D"> fi>> local prompt="${PROMPT_CHAR}"> if [[ "${POWERLINE_COMPACT_PROMPT}" -eq 0 ]]; then> prompt+=" "> fi>> PS1="${LEFT_PROMPT}${RIGHT_PROMPT}\n$(__powerline_last_status_prompt ${last_status})${prompt}">> ## cleanup ##> unset LAST_SEGMENT_COLOR \> LEFT_PROMPT RIGHT_PROMPT RIGHT_PROMPT_LENGTH \> SEGMENTS_AT_LEFT SEGMENTS_AT_RIGHTdiff -r .bash_it/themes/powerline-multiline/powerline-multiline.theme.bash beehive_bash_it/themes/powerline-multiline/powerline-multiline.theme.bash43a44,45> NODE_THEME_PROMPT_PREFIX=""> NODE_THEME_PROMPT_SUFFIX=""diff -r .bash_it/themes/powerline-naked/powerline-naked.base.bash beehive_bash_it/themes/powerline-naked/powerline-naked.base.bash4,8c4,9< local OLD_IFS="${IFS}"; IFS="|"< local params=( $1 )< IFS="${OLD_IFS}"< local separator=""< local pad_before_segment=" "---> local OLD_IFS="${IFS}"> IFS="|"> local params=($1)> IFS="${OLD_IFS}"> local separator=""> local pad_before_segment=" "10,24c11,25< if [[ "${SEGMENTS_AT_LEFT}" -eq 0 ]]; then< if [[ "${POWERLINE_COMPACT_BEFORE_FIRST_SEGMENT}" -ne 0 ]]; then< pad_before_segment=""< fi< else< if [[ "${POWERLINE_COMPACT_AFTER_SEPARATOR}" -ne 0 ]]; then< pad_before_segment=""< fi< # Since the previous segment wasn't the last segment, add padding, if needed< #< if [[ "${POWERLINE_COMPACT_BEFORE_SEPARATOR}" -eq 0 ]]; then< LEFT_PROMPT+=" "< fi< LEFT_PROMPT+="${POWERLINE_LEFT_SEPARATOR}"< fi---> if [[ "${SEGMENTS_AT_LEFT}" -eq 0 ]]; then> if [[ "${POWERLINE_COMPACT_BEFORE_FIRST_SEGMENT}" -ne 0 ]]; then> pad_before_segment=""> fi> else> if [[ "${POWERLINE_COMPACT_AFTER_SEPARATOR}" -ne 0 ]]; then> pad_before_segment=""> fi> # Since the previous segment wasn't the last segment, add padding, if needed> #> if [[ "${POWERLINE_COMPACT_BEFORE_SEPARATOR}" -eq 0 ]]; then> LEFT_PROMPT+=" "> fi> LEFT_PROMPT+="${POWERLINE_LEFT_SEPARATOR}"> fi26,28c27,29< LEFT_PROMPT+="$(set_color ${params[1]} -)${pad_before_segment}${params[0]}${normal}"< LAST_SEGMENT_COLOR=${params[1]}< (( SEGMENTS_AT_LEFT += 1 ))---> LEFT_PROMPT+="$(set_color ${params[1]} -)${pad_before_segment}${params[0]}${normal}"> LAST_SEGMENT_COLOR=${params[1]}> ((SEGMENTS_AT_LEFT += 1))30c31< _save-and-reload-history "${HISTORY_AUTOSAVE:-0}"---> _save-and-reload-history "${HISTORY_AUTOSAVE:-0}"34c35< LEFT_PROMPT+="$(set_color ${LAST_SEGMENT_COLOR} -) ${normal}"---> LEFT_PROMPT+="$(set_color ${LAST_SEGMENT_COLOR} -) ${normal}"diff -r .bash_it/themes/powerline-naked/powerline-naked.theme.bash beehive_bash_it/themes/powerline-naked/powerline-naked.theme.bash38a39,40> NODE_THEME_PROMPT_PREFIX=""> NODE_THEME_PROMPT_SUFFIX=""diff -r .bash_it/themes/powerline-plain/powerline-plain.base.bash beehive_bash_it/themes/powerline-plain/powerline-plain.base.bash4,26c4,27< local OLD_IFS="${IFS}"; IFS="|"< local params=( $1 )< IFS="${OLD_IFS}"< local pad_before_segment=" "<< if [[ "${SEGMENTS_AT_LEFT}" -eq 0 ]]; then< if [[ "${POWERLINE_COMPACT_BEFORE_FIRST_SEGMENT}" -ne 0 ]]; then< pad_before_segment=""< fi< else< if [[ "${POWERLINE_COMPACT_AFTER_SEPARATOR}" -ne 0 ]]; then< pad_before_segment=""< fi< # Since the previous segment wasn't the last segment, add padding, if needed< #< if [[ "${POWERLINE_COMPACT_BEFORE_SEPARATOR}" -eq 0 ]]; then< LEFT_PROMPT+="$(set_color - ${LAST_SEGMENT_COLOR}) ${normal}"< fi< fi<< LEFT_PROMPT+="$(set_color - ${params[1]})${pad_before_segment}${params[0]}${normal}"< LAST_SEGMENT_COLOR=${params[1]}< (( SEGMENTS_AT_LEFT += 1 ))---> local OLD_IFS="${IFS}"> IFS="|"> local params=($1)> IFS="${OLD_IFS}"> local pad_before_segment=" ">> if [[ "${SEGMENTS_AT_LEFT}" -eq 0 ]]; then> if [[ "${POWERLINE_COMPACT_BEFORE_FIRST_SEGMENT}" -ne 0 ]]; then> pad_before_segment=""> fi> else> if [[ "${POWERLINE_COMPACT_AFTER_SEPARATOR}" -ne 0 ]]; then> pad_before_segment=""> fi> # Since the previous segment wasn't the last segment, add padding, if needed> #> if [[ "${POWERLINE_COMPACT_BEFORE_SEPARATOR}" -eq 0 ]]; then> LEFT_PROMPT+="$(set_color - ${LAST_SEGMENT_COLOR}) ${normal}"> fi> fi>> LEFT_PROMPT+="$(set_color - ${params[1]})${pad_before_segment}${params[0]}${normal}"> LAST_SEGMENT_COLOR=${params[1]}> ((SEGMENTS_AT_LEFT += 1))30c31< local last_status="$?" ## always the first---> local last_status="$?" ## always the first32,35c33,36< LEFT_PROMPT=""< SEGMENTS_AT_LEFT=0< LAST_SEGMENT_COLOR=""< PROMPT_AFTER="${POWERLINE_PROMPT_AFTER}"---> LEFT_PROMPT=""> SEGMENTS_AT_LEFT=0> LAST_SEGMENT_COLOR=""> PROMPT_AFTER="${POWERLINE_PROMPT_AFTER}"37c38< _save-and-reload-history "${HISTORY_AUTOSAVE:-0}"---> _save-and-reload-history "${HISTORY_AUTOSAVE:-0}"39,43c40,44< ## left prompt ##< for segment in $POWERLINE_PROMPT; do< local info="$(__powerline_${segment}_prompt)"< [[ -n "${info}" ]] && __powerline_left_segment "${info}"< done---> ## left prompt ##> for segment in $POWERLINE_PROMPT; do> local info="$(__powerline_${segment}_prompt)"> [[ -n "${info}" ]] && __powerline_left_segment "${info}"> done45c46< [[ "${last_status}" -ne 0 ]] && __powerline_left_segment $(__powerline_last_status_prompt ${last_status})---> [[ "${last_status}" -ne 0 ]] && __powerline_left_segment $(__powerline_last_status_prompt ${last_status})47,49c48,50< if [[ -n "${LEFT_PROMPT}" ]] && [[ "${POWERLINE_COMPACT_AFTER_LAST_SEGMENT}" -eq 0 ]]; then< __powerline_left_last_segment_padding< fi---> if [[ -n "${LEFT_PROMPT}" ]] && [[ "${POWERLINE_COMPACT_AFTER_LAST_SEGMENT}" -eq 0 ]]; then> __powerline_left_last_segment_padding> fi51,53c52,54< if [[ "${POWERLINE_COMPACT_PROMPT}" -eq 0 ]]; then< LEFT_PROMPT+=" "< fi---> if [[ "${POWERLINE_COMPACT_PROMPT}" -eq 0 ]]; then> LEFT_PROMPT+=" "> fi55c56< PS1="${LEFT_PROMPT}${PROMPT_AFTER}"---> PS1="${LEFT_PROMPT}${PROMPT_AFTER}"57,60c58,61< ## cleanup ##< unset LAST_SEGMENT_COLOR \< LEFT_PROMPT \< SEGMENTS_AT_LEFT---> ## cleanup ##> unset LAST_SEGMENT_COLOR \> LEFT_PROMPT \> SEGMENTS_AT_LEFTdiff -r .bash_it/themes/powerline-plain/powerline-plain.theme.bash beehive_bash_it/themes/powerline-plain/powerline-plain.theme.bash35a36,37> NODE_THEME_PROMPT_PREFIX=""> NODE_THEME_PROMPT_SUFFIX=""
Context
I am simply trying to get the same powerline multiline prompt as usual without line wrapping i.e. without "leaking" of the prompt first line into the second line.
Working bashit version:
Version type: dev
Current git SHA: d985e4c on 2023-11-18T14:42:33-07:00
Commit info: d985e4c
Compare to latest: d985e4c...master
Non-working bashit version: the one from today on git (31-MARCH-2025)
Steps to reproduce
Install newest version of bash-it. Add following lines in bash:
SSH into computer having this bashit configuration. Observe the prompt leaking into second line.
Bash-it version
Version type: dev Current git SHA: d985e4c on 2023-11-18T14:42:33-07:00 Commit info: d985e4c Compare to latest: d985e4c...master
List of enabled plugins, themes and aliases
No plugins (except base), no aliases (even general removed)
Bash version
5.1.16 on old server, 5.2.21 on new server, but again it works if i copy the old bash-it code on new server
Operating system and version
Ubuntu 22.04 on old server, Ubuntu 24.04 on new server , but again it works if i copy the old bash-it code on new server
bash-it doctor output
# How to get: bash-it doctor
Your ~/.bashrc
# Path to the bash it configurationexport BASH_IT="/home/michael/.bash_it"# Lock and Load a custom theme file.# Leave empty to disable theming.# location "$BASH_IT"/themes/export BASH_IT_THEME='powerline-multiline'export POWERLINE_RIGHT_PROMPT='in_vim clock battery user_info hostname'# Some themes can show whether `sudo` has a current token or not.# Set `$THEME_CHECK_SUDO` to `true` to check every prompt:#THEME_CHECK_SUDO='true'# (Advanced): Change this to the name of your remote repo if you# cloned bash-it with a remote other than origin such as `bash-it`.# export BASH_IT_REMOTE='bash-it'# (Advanced): Change this to the name of the main development branch if# you renamed it or if it was changed for some reason# export BASH_IT_DEVELOPMENT_BRANCH='master'# Your place for hosting Git repos. I use this for private repos.export GIT_HOSTING='git@git.domain.com'# Don't check mail when opening terminal.unset MAILCHECK
# Change this to your console based IRC client of choice.export IRC_CLIENT='irssi'# Set this to the command you use for todo.txt-cliexport TODO="t"# Set this to the location of your work or project folders#BASH_IT_PROJECT_PATHS="${HOME}/Projects:/Volumes/work/src"# Set this to false to turn off version control status checking within the prompt for all themesexport SCM_CHECK=true
# Set to actual location of gitstatus directory if installed#export SCM_GIT_GITSTATUS_DIR="$HOME/gitstatus"# per default gitstatus uses 2 times as many threads as CPU cores, you can change this here if you must#export GITSTATUS_NUM_THREADS=8# Set Xterm/screen/Tmux title with only a short hostname.# Uncomment this (or set SHORT_HOSTNAME to something else),# Will otherwise fall back on $HOSTNAME.#export SHORT_HOSTNAME=$(hostname -s)# Set Xterm/screen/Tmux title with only a short username.# Uncomment this (or set SHORT_USER to something else),# Will otherwise fall back on $USER.#export SHORT_USER=${USER:0:8}# If your theme use command duration, uncomment this to# enable display of last command duration.#export BASH_IT_COMMAND_DURATION=true# You can choose the minimum time in seconds before# command duration is displayed.#export COMMAND_DURATION_MIN_SECONDS=1# Set Xterm/screen/Tmux title with shortened command and directory.# Uncomment this to set.#export SHORT_TERM_LINE=true# Set vcprompt executable path for scm advance info in prompt (demula theme)# https://github.com/djl/vcprompt#export VCPROMPT_EXECUTABLE=~/.vcprompt/bin/vcprompt# (Advanced): Uncomment this to make Bash-it reload itself automatically# after enabling or disabling aliases, plugins, and completions.# export BASH_IT_AUTOMATIC_RELOAD_AFTER_CONFIG_CHANGE=1# Uncomment this to make Bash-it create alias reload.# export BASH_IT_RELOAD_LEGACY=1# Load Bash Itsource"$BASH_IT"/bash_it.sh
Notes
Would be very grateful if possible to fix the bug in newest version of bash-it instead of relying on "old" one
The text was updated successfully, but these errors were encountered:
neurorepro
changed the title
[Bug]: Newest bashit with oowerline multiline miscalculate padlock symbol for SSH, causing extra linewrap
[Bug]: Newest bashit with powerline multiline miscalculate padlock symbol for SSH, causing extra linewrap
Mar 31, 2025
Expected behavior
The right part of the prompt ends at the right of the first prompt line
Current behavior
The right part of the prompt ends at the beginning of the second line by a few characters about the same space of the SSH padlock icon
Possible solution
I could fix it only by copying an older version of
.bash_it
in my new server. Here are the difference between the older working version (.bash_it) and the newest version with the bug (beehive_bash_it):Diff between the (assumed relevant) files between working and non working versions of `bash-it`.
Context
I am simply trying to get the same powerline multiline prompt as usual without line wrapping i.e. without "leaking" of the prompt first line into the second line.
Working bashit version:
Version type: dev
Current git SHA: d985e4c on 2023-11-18T14:42:33-07:00
Commit info: d985e4c
Compare to latest: d985e4c...master
Non-working bashit version: the one from today on git (31-MARCH-2025)
Steps to reproduce
Install newest version of bash-it. Add following lines in bash:
export BASH_IT_THEME='powerline-multiline'
export POWERLINE_RIGHT_PROMPT='in_vim clock battery user_info hostname'
SSH into computer having this bashit configuration. Observe the prompt leaking into second line.
Bash-it version
Version type: dev Current git SHA: d985e4c on 2023-11-18T14:42:33-07:00 Commit info: d985e4c Compare to latest: d985e4c...master
List of enabled plugins, themes and aliases
No plugins (except base), no aliases (even general removed)
Bash version
5.1.16 on old server, 5.2.21 on new server, but again it works if i copy the old bash-it code on new server
Operating system and version
Ubuntu 22.04 on old server, Ubuntu 24.04 on new server , but again it works if i copy the old bash-it code on new server
bash-it doctor output
Your ~/.bashrc
Notes
Would be very grateful if possible to fix the bug in newest version of bash-it instead of relying on "old" one
The text was updated successfully, but these errors were encountered: