From 59c1ec80aa9b018db34078e69a27e57aea5ad761 Mon Sep 17 00:00:00 2001 From: Rocky Date: Wed, 31 Jul 2019 01:23:50 -0600 Subject: agnoster: fix VIRTUAL_ENV_DISABLE_PROMPT logic (#8050) Fixes #7985 --- themes/agnoster.zsh-theme | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'themes/agnoster.zsh-theme') diff --git a/themes/agnoster.zsh-theme b/themes/agnoster.zsh-theme index 518a14a37..7e37440a4 100644 --- a/themes/agnoster.zsh-theme +++ b/themes/agnoster.zsh-theme @@ -204,7 +204,7 @@ prompt_dir() { # Virtualenv: current working virtualenv prompt_virtualenv() { local virtualenv_path="$VIRTUAL_ENV" - if [[ -n $virtualenv_path && -n $VIRTUAL_ENV_DISABLE_PROMPT ]]; then + if [[ -n $virtualenv_path && -z $VIRTUAL_ENV_DISABLE_PROMPT ]]; then prompt_segment blue black "(`basename $virtualenv_path`)" fi } -- cgit v1.2.3-70-g09d2 From 89366be43fd6ceff52a9da2f2edef654ab619514 Mon Sep 17 00:00:00 2001 From: Marc Cornellà Date: Tue, 6 Aug 2019 18:01:32 +0200 Subject: Revert "agnoster: fix VIRTUAL_ENV_DISABLE_PROMPT logic (#8050)" (#8061) This reverts commit 59c1ec80aa9b018db34078e69a27e57aea5ad761. --- themes/agnoster.zsh-theme | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'themes/agnoster.zsh-theme') diff --git a/themes/agnoster.zsh-theme b/themes/agnoster.zsh-theme index 7e37440a4..518a14a37 100644 --- a/themes/agnoster.zsh-theme +++ b/themes/agnoster.zsh-theme @@ -204,7 +204,7 @@ prompt_dir() { # Virtualenv: current working virtualenv prompt_virtualenv() { local virtualenv_path="$VIRTUAL_ENV" - if [[ -n $virtualenv_path && -z $VIRTUAL_ENV_DISABLE_PROMPT ]]; then + if [[ -n $virtualenv_path && -n $VIRTUAL_ENV_DISABLE_PROMPT ]]; then prompt_segment blue black "(`basename $virtualenv_path`)" fi } -- cgit v1.2.3-70-g09d2 From c1b798aff39942b2f23a0a5f2ef206ebc8ce4970 Mon Sep 17 00:00:00 2001 From: Marc Cornellà Date: Wed, 19 Feb 2020 00:16:54 +0100 Subject: agnoster: fix bzr prompt with breezy installed (#8646) * Change indentation to 2 spaces in prompt_bzr function * Check if in a bzr repository and optimize bzr calls in prompt_bzr --- themes/agnoster.zsh-theme | 40 +++++++++++++++++++++++----------------- 1 file changed, 23 insertions(+), 17 deletions(-) (limited to 'themes/agnoster.zsh-theme') diff --git a/themes/agnoster.zsh-theme b/themes/agnoster.zsh-theme index 518a14a37..8c700d06a 100644 --- a/themes/agnoster.zsh-theme +++ b/themes/agnoster.zsh-theme @@ -140,24 +140,30 @@ prompt_git() { } prompt_bzr() { - (( $+commands[bzr] )) || return - if (bzr status >/dev/null 2>&1); then - status_mod=`bzr status | head -n1 | grep "modified" | wc -m` - status_all=`bzr status | head -n1 | wc -m` - revision=`bzr log | head -n2 | tail -n1 | sed 's/^revno: //'` - if [[ $status_mod -gt 0 ]] ; then - prompt_segment yellow black - echo -n "bzr@"$revision "✚ " - else - if [[ $status_all -gt 0 ]] ; then - prompt_segment yellow black - echo -n "bzr@"$revision - else - prompt_segment green black - echo -n "bzr@"$revision - fi - fi + (( $+commands[bzr] )) || return + + # Test if bzr repository in directory hierarchy + local dir="$PWD" + while [[ ! -d "$dir/.bzr" ]]; do + [[ "$dir" = "/" ]] && return + dir="${dir:h}" + done + + local bzr_status status_mod status_all revision + if bzr_status=$(bzr status 2>&1); then + status_mod=$(echo -n "$bzr_status" | head -n1 | grep "modified" | wc -m) + status_all=$(echo -n "$bzr_status" | head -n1 | wc -m) + revision=$(bzr log -r-1 --log-format line | cut -d: -f1) + if [[ $status_mod -gt 0 ]] ; then + prompt_segment yellow black "bzr@$revision ✚" + else + if [[ $status_all -gt 0 ]] ; then + prompt_segment yellow black "bzr@$revision" + else + prompt_segment green black "bzr@$revision" + fi fi + fi } prompt_hg() { -- cgit v1.2.3-70-g09d2