aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Smith <tim.dolores@gmail.com>2018-06-15 06:41:13 +0300
committerTim Smith <tim.dolores@gmail.com>2018-06-15 09:42:48 +0300
commit3989834bfef217115dc2ceb20cfbd6f3ac717756 (patch)
treefcdd40fda6ad718cfd57ffaf1cab0ae61b75a394
parent0e3c1924fe40835dfe189227b8a165de147e65a1 (diff)
Hide one-space indent at right margin
ZSH displays the right prompt indented one space from the right margin. This can be tweaked with ZLE_RPROMPT_INDENT=0, but that makes display problems very likely and I don't recommend it. But all is not lost. The %E prompt format does continue the current background color through that last indent space. So it can *look* like our prompt goes right up to the margin, if: 1) We remove the trailing space from the last segment, and 2) We add %E before clearing the background color
-rwxr-xr-xpowerlevel9k.zsh-theme11
1 files changed, 10 insertions, 1 deletions
diff --git a/powerlevel9k.zsh-theme b/powerlevel9k.zsh-theme
index 0e09ef03..61dfdba0 100755
--- a/powerlevel9k.zsh-theme
+++ b/powerlevel9k.zsh-theme
@@ -222,6 +222,12 @@ right_prompt_segment() {
[[ -n "$4" ]] && fg="%F{$4}" || fg="%f"
# If CURRENT_RIGHT_BG is "NONE", we are the first right segment.
+
+ if [[ "$CURRENT_RIGHT_BG" != "NONE" ]]; then
+ # This is the closing whitespace for the previous segment
+ echo -n "${POWERLEVEL9K_WHITESPACE_BETWEEN_RIGHT_SEGMENTS}%f"
+ fi
+
if [[ $joined == false ]] || [[ "$CURRENT_RIGHT_BG" == "NONE" ]]; then
if isSameColor "$CURRENT_RIGHT_BG" "$3"; then
# Middle segment with same color as previous segment
@@ -257,7 +263,7 @@ right_prompt_segment() {
# Print segment content if there is any
[[ -n "$5" ]] && echo -n "${5}"
# Print the visual identifier
- echo -n "${visual_identifier}${POWERLEVEL9K_WHITESPACE_BETWEEN_RIGHT_SEGMENTS}%f"
+ echo -n "${visual_identifier}"
CURRENT_RIGHT_BG=$3
last_right_element_index=$current_index
@@ -1484,6 +1490,9 @@ build_right_prompt() {
index=$((index + 1))
done
+
+ # Clear to the end of the line
+ echo -n "%E"
}
powerlevel9k_preexec() {