As a side effect this should improve the performance slightly, as we get
the fore- and background color codes as early as possible, and store the
result, so that we don't have to recalculate the color code all over.
In short: the current background color was the unfiltered color and is
used to print the next segment separator. If the user set a color like
"purple3" that would result in a white segment separator as Terminal
Emulators do not understand the color "purple3".
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
Conflicts were:
- test/segments/command_execution_time.spec and
test/segments/go_version.spec: All conflicts come from renaming color
names on next (#703) and adding a whitespace to the Visual Identifier
(#854) on master.
Conflicts were:
- test/segments/rust_version.spec and powerlevel9k.zsh-theme. #826
removes grep from parsing the rust version on next; #703 changes color
names.
Conflicts were:
- powerlevel9k.zsh-theme and test/segments/rust_version.spec:
rust_version Segment changed (#641) on master and colors got
names (#703) on next.
Conflicts were:
- functions/icons.zsh: The Java Segment was added on master, but on next
were added various Segments with icons in the meantime.
- powerlevel9k.zsh-theme: Java Segment was added on master, Dropbox
Segment was added on next.
Conflicts were:
- README.md: Two commits targeted the brightness table. #781 from
14. April 2018 on master and #684 from 05. December 2017 on next.
- powerlevel9k.zsh-theme: Two commits targeted the rbenv segment. Both
achieve the same thing: To show the Ruby version number always. #795 on
next from 14. April 2018 and #610 on master from 28. September 2017. I
went with #795 here as this - although being newer - is the one on
master, and that should be more stable.
`$pipestatus` is returning all zeros when using `[[ ]]` expressions
that are false.
This works around it by using `$status` (A.K.A. `$?`) when `$pipestatus`
has only 1 items.
Fixes#749