diff options
author | Ben Hilburn <bhilburn@gmail.com> | 2017-05-25 23:01:08 +0300 |
---|---|---|
committer | Ben Hilburn <bhilburn@gmail.com> | 2017-05-25 23:01:08 +0300 |
commit | 92264124a9a3894b86ec66617d5e40dea77cd2f1 (patch) | |
tree | 32a5cb475d4155ad49bb82ce39cccbf07281a80e | |
parent | 19fc709a168957219095c81a49261a21fbf9beab (diff) | |
parent | b63bf001131a3fd295365f300d508ff2401fa9a7 (diff) |
Merge branch 'master' into next
-rwxr-xr-x | powerlevel9k.zsh-theme | 4 | ||||
-rwxr-xr-x | test/segments/go_version.spec | 46 |
2 files changed, 48 insertions, 2 deletions
diff --git a/powerlevel9k.zsh-theme b/powerlevel9k.zsh-theme index caa42fde..666ce965 100755 --- a/powerlevel9k.zsh-theme +++ b/powerlevel9k.zsh-theme @@ -841,9 +841,11 @@ prompt_docker_machine() { # GO prompt prompt_go_version() { local go_version + local go_path go_version=$(go version 2>/dev/null | sed -E "s/.*(go[0-9.]*).*/\1/") + go_path=$(go env GOPATH 2>/dev/null) - if [[ -n "$go_version" ]]; then + if [[ -n "$go_version" && "${PWD##$go_path}" != "$PWD" ]]; then "$1_prompt_segment" "$0" "$2" "green" "255" "$go_version" fi } diff --git a/test/segments/go_version.spec b/test/segments/go_version.spec index aa9f625d..907dceb3 100755 --- a/test/segments/go_version.spec +++ b/test/segments/go_version.spec @@ -12,19 +12,63 @@ function setUp() { } function mockGo() { - echo 'go version go1.5.3 darwin/amd64' + case "$1" in + 'version') + echo 'go version go1.5.3 darwin/amd64' + ;; + 'env') + echo "$HOME/go" + ;; + esac +} + +function mockGoEmptyGopath() { + case "$1" in + 'version') + echo 'go version go1.5.3 darwin/amd64' + ;; + 'env') + echo "" + ;; + esac } function testGo() { alias go=mockGo POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(go_version) + PWD="$HOME/go/src/github.com/bhilburn/powerlevel9k" + assertEquals "%K{green} %F{255}go1.5.3 %k%F{green}%f " "$(build_left_prompt)" + unset PWD unset POWERLEVEL9K_LEFT_PROMPT_ELEMENTS unalias go } +function testGoSegmentPrintsNothingIfEmptyGopath() { + alias go=mockGoEmptyGopath + POWERLEVEL9K_CUSTOM_WORLD='echo world' + POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(custom_world go_version) + + assertEquals "%K{white} %F{black}world %k%F{white}%f " "$(build_left_prompt)" + + unset POWERLEVEL9K_LEFT_PROMPT_ELEMENTS + unset POWERLEVEL9K_CUSTOM_WORLD + +} + +function testGoSegmentPrintsNothingIfNotInGopath() { + alias go=mockGo + POWERLEVEL9K_CUSTOM_WORLD='echo world' + POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(custom_world go_version) + + assertEquals "%K{white} %F{black}world %k%F{white}%f " "$(build_left_prompt)" + + unset POWERLEVEL9K_LEFT_PROMPT_ELEMENTS + unset POWERLEVEL9K_CUSTOM_WORLD +} + function testGoSegmentPrintsNothingIfGoIsNotAvailable() { alias go=noGo POWERLEVEL9K_CUSTOM_WORLD='echo world' |