diff options
author | Robby Russell <robby@planetargon.com> | 2015-09-19 09:05:57 -0700 |
---|---|---|
committer | Robby Russell <robby@planetargon.com> | 2015-09-19 09:05:57 -0700 |
commit | 51677da85f98fb8003ea915edbef138df2f577b7 (patch) | |
tree | 26fc645c761bd2d894264c09ac98df762650a0ea /themes/agnoster.zsh-theme | |
parent | 36884cca36a4a426f27d1f6e731714737e19bbb3 (diff) | |
parent | c82deedc97f7578fa0a8a2dd3c8b598a166bfd04 (diff) | |
download | zsh-51677da85f98fb8003ea915edbef138df2f577b7.tar.gz zsh-51677da85f98fb8003ea915edbef138df2f577b7.tar.bz2 zsh-51677da85f98fb8003ea915edbef138df2f577b7.zip |
Merge pull request #4091 from apjanke/agnoster-clarify-powerline
agnoster: Use current Powerline chars everywhere, and clarify behavior
Diffstat (limited to 'themes/agnoster.zsh-theme')
-rw-r--r-- | themes/agnoster.zsh-theme | 32 |
1 files changed, 25 insertions, 7 deletions
diff --git a/themes/agnoster.zsh-theme b/themes/agnoster.zsh-theme index ee0c2afb8..e54346acf 100644 --- a/themes/agnoster.zsh-theme +++ b/themes/agnoster.zsh-theme @@ -7,6 +7,9 @@ # # In order for this theme to render correctly, you will need a # [Powerline-patched font](https://github.com/Lokaltog/powerline-fonts). +# Make sure you have a recent version: the code points that Powerline +# uses changed in 2012, and older versions will display incorrectly, +# in confusing ways. # # In addition, I recommend the # [Solarized theme](https://github.com/altercation/solarized/) and, if you're @@ -27,12 +30,21 @@ CURRENT_BG='NONE' -# Fix odd char on mac -if [[ `uname` == 'Darwin' ]]; then - SEGMENT_SEPARATOR='\ue0b0' -else - SEGMENT_SEPARATOR='' -fi +# Special Powerline characters + +() { + local LC_ALL="" LC_CTYPE="en_US.UTF-8" + # NOTE: This segment separator character is correct. In 2012, Powerline changed + # the code points they use for their special characters. This is the new code point. + # If this is not working for you, you probably have an old version of the + # Powerline-patched fonts installed. Download and install the new version. + # Do not submit PRs to change this unless you have reviewed the Powerline code point + # history and have new information. + # This is defined using a Unicode escape sequence so it is unambiguously readable, regardless of + # what font the user is viewing this source code in. Do not replace the + # escape sequence with a single literal character. + SEGMENT_SEPARATOR=$'\ue0b0' # +} # Begin a segment # Takes two arguments, background and foreground. Both can be omitted, @@ -73,6 +85,12 @@ prompt_context() { # Git: branch/detached head, dirty status prompt_git() { + + local PL_BRANCH_CHAR + () { + local LC_ALL="" LC_CTYPE="en_US.UTF-8" + PL_BRANCH_CHAR=$'\ue0a0' # + } local ref dirty mode repo_path repo_path=$(git rev-parse --git-dir 2>/dev/null) @@ -104,7 +122,7 @@ prompt_git() { zstyle ':vcs_info:*' formats ' %u%c' zstyle ':vcs_info:*' actionformats ' %u%c' vcs_info - echo -n "${ref/refs\/heads\// }${vcs_info_msg_0_%% }${mode}" + echo -n "${ref/refs\/heads\//$PL_BRANCH_CHAR }${vcs_info_msg_0_%% }${mode}" fi } |