Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DRAFT: theme/powerline-naked: harmonize powerline.base files #2052

Draft
wants to merge 8 commits into
base: master
Choose a base branch
from
1 change: 1 addition & 0 deletions clean_files.txt
Original file line number Diff line number Diff line change
Expand Up @@ -165,6 +165,7 @@ themes/modern
themes/norbu
themes/pete
themes/powerline
themes/powerline-naked
themes/pure
themes/purity

Expand Down
58 changes: 31 additions & 27 deletions themes/powerline-naked/powerline-naked.base.bash
Original file line number Diff line number Diff line change
@@ -1,35 +1,39 @@
. "$BASH_IT/themes/powerline/powerline.base.bash"
# shellcheck shell=bash
# shellcheck disable=SC2034 # Expected behavior for themes.
# shellcheck source-path=SCRIPTDIR/../powerline
source "${BASH_IT?}/themes/powerline/powerline.base.bash"

function __powerline_left_segment {
local OLD_IFS="${IFS}"; IFS="|"
local params=( $1 )
IFS="${OLD_IFS}"
local separator=""
local pad_before_segment=" "
function __powerline_left_segment() {
local -a params
IFS="|" read -ra params <<< "${1}"
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+=" "
fi
LEFT_PROMPT+="${POWERLINE_LEFT_SEPARATOR}"
fi
#for seperator character
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:-0}" -eq 0 ]]; then
LEFT_PROMPT+=" "
fi
LEFT_PROMPT+="${POWERLINE_LEFT_SEPARATOR}"
fi

LEFT_PROMPT+="$(set_color ${params[1]} -)${pad_before_segment}${params[0]}${normal}"
LAST_SEGMENT_COLOR=${params[1]}
(( SEGMENTS_AT_LEFT += 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]:-}"
((SEGMENTS_AT_LEFT += 1))

_save-and-reload-history "${HISTORY_AUTOSAVE:-0}"
_save-and-reload-history "${HISTORY_AUTOSAVE:-0}"
}

function __powerline_left_last_segment_padding {
LEFT_PROMPT+="$(set_color ${LAST_SEGMENT_COLOR} -) ${normal}"
LEFT_PROMPT+="$(set_color "${LAST_SEGMENT_COLOR?}" -) ${normal?}"
}
27 changes: 14 additions & 13 deletions themes/powerline-naked/powerline-naked.theme.bash
Original file line number Diff line number Diff line change
@@ -1,17 +1,18 @@
#!/usr/bin/env bash

. "$BASH_IT/themes/powerline-naked/powerline-naked.base.bash"
# shellcheck shell=bash
# shellcheck disable=SC2034 # Expected behavior for themes.
# shellcheck source-path=SCRIPTDIR/../powerline
source "${BASH_IT?}/themes/powerline/powerline.base.bash"

PROMPT_CHAR=${POWERLINE_PROMPT_CHAR:=""}
POWERLINE_LEFT_SEPARATOR=${POWERLINE_LEFT_SEPARATOR:=""}
: "${POWERLINE_LEFT_SEPARATOR:=""}"
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_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}}"

USER_INFO_SSH_CHAR=${POWERLINE_USER_INFO_SSH_CHAR:=" "}
USER_INFO_THEME_PROMPT_COLOR=${POWERLINE_USER_INFO_COLOR:=240}
Expand Down Expand Up @@ -62,12 +63,12 @@ LAST_STATUS_THEME_PROMPT_COLOR=${POWERLINE_LAST_STATUS_COLOR:=124}

CLOCK_THEME_PROMPT_COLOR=${POWERLINE_CLOCK_COLOR:=240}

BATTERY_AC_CHAR=${BATTERY_AC_CHAR:="⚡"}
: "${BATTERY_AC_CHAR:="⚡"}"
BATTERY_STATUS_THEME_PROMPT_GOOD_COLOR=${POWERLINE_BATTERY_GOOD_COLOR:=70}
BATTERY_STATUS_THEME_PROMPT_LOW_COLOR=${POWERLINE_BATTERY_LOW_COLOR:=208}
BATTERY_STATUS_THEME_PROMPT_CRITICAL_COLOR=${POWERLINE_BATTERY_CRITICAL_COLOR:=160}

THEME_CLOCK_FORMAT=${THEME_CLOCK_FORMAT:="%H:%M:%S"}
: "${THEME_CLOCK_FORMAT:="%H:%M:%S"}"

IN_VIM_THEME_PROMPT_COLOR=${POWERLINE_IN_VIM_COLOR:=245}
IN_VIM_THEME_PROMPT_TEXT=${POWERLINE_IN_VIM_TEXT:="vim"}
Expand All @@ -92,6 +93,6 @@ COMMAND_NUMBER_THEME_PROMPT_CHAR=${POWERLINE_COMMAND_NUMBER_CHAR:="#"}
GCLOUD_THEME_PROMPT_COLOR=${POWERLINE_GCLOUD_COLOR:=161}
GCLOUD_CHAR=${POWERLINE_GCLOUD_CHAR:="❲G❳ "}

POWERLINE_PROMPT=${POWERLINE_PROMPT:="user_info scm python_venv ruby node cwd"}
: "${POWERLINE_PROMPT:="user_info scm python_venv ruby node cwd"}"

safe_append_prompt_command __powerline_prompt_command
Loading