From a078cbfa3ce5ff2ae2168ddad638c528287429d0 Mon Sep 17 00:00:00 2001 From: Steve Kondik Date: Thu, 27 Dec 2012 15:28:34 -0800 Subject: [PATCH] envsetup: Don't tread on my $PROMPT_COMMAND * I want my own PROMPT_COMMAND to coexist with Android's, so stash it in the environment and add it to the new command. Change-Id: I200902f135d0c5c620a8eb3ce9cefdba318cf9d3 envsetup: Fix $PROMPT_COMMAND Change I200902f135d0c5c620a8eb3ce9cefdba318cf9d3 broke the android PROMPT_COMMAND on scenarios where the existing prompt already had a hardstatus adjustment, since appending it to Android's just clobbered Android's in favor of the original. So instead of appending them, inject android's at the beggining of the existing one (and create a default if none exists) Change-Id: I1fbcbfdb6220d886dda3662da498d1759a4c195b envsetup: Really fix PROMPT_COMMAND handling * Add ANDROID_NO_PROMPT_COMMAND to not change it at all. * Export ANDROID_PROMPT_PREFIX so it can be used elsewhere. Change-Id: Ib2a487404d3b8a367a21582e8a0ce69c2d212a9a envsetup: More PROMPT_COMMAND * Get rid of ANDROID_NO_PROMPT_COMMAND, the pre-existing STAY_OFF_MY_LAWN does the same thing * Remove any pre-existing android prefixes to avoid accumulation scenarios in consecutive builds (i.e., multiple build identification strings in hardstatus) Change-Id: I86661e066e18ea6ad0c742fa1dc6555780fa5441 envsetup: add quotes around PROMPT_COMMAND Better compatibility for zsh. Change-Id: Ie010c30580e67e3b5357e3cc869114a525762677 --- envsetup.sh | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/envsetup.sh b/envsetup.sh index 1562dfa3b..015a9c385 100644 --- a/envsetup.sh +++ b/envsetup.sh @@ -319,11 +319,26 @@ function settitle() local product=$TARGET_PRODUCT local variant=$TARGET_BUILD_VARIANT local apps=$TARGET_BUILD_APPS + if [ -z "$PROMPT_COMMAND" ]; then + # No prompts + PROMPT_COMMAND="echo -ne \"\033]0;${USER}@${HOSTNAME}: ${PWD}\007\"" + elif [ -z "$(echo $PROMPT_COMMAND | grep '033]0;')" ]; then + # Prompts exist, but no hardstatus + PROMPT_COMMAND="echo -ne \"\033]0;${USER}@${HOSTNAME}: ${PWD}\007\";${PROMPT_COMMAND}" + fi + if [ ! -z "$ANDROID_PROMPT_PREFIX" ]; then + PROMPT_COMMAND=$(echo $PROMPT_COMMAND | sed -e 's/$ANDROID_PROMPT_PREFIX //g') + fi + if [ -z "$apps" ]; then - export PROMPT_COMMAND="echo -ne \"\033]0;[${arch}-${product}-${variant}] ${USER}@${HOSTNAME}: ${PWD}\007\"" + ANDROID_PROMPT_PREFIX="[${arch}-${product}-${variant}]" else - export PROMPT_COMMAND="echo -ne \"\033]0;[$arch $apps $variant] ${USER}@${HOSTNAME}: ${PWD}\007\"" + ANDROID_PROMPT_PREFIX="[$arch $apps $variant]" fi + export ANDROID_PROMPT_PREFIX + + # Inject build data into hardstatus + export PROMPT_COMMAND="$(echo $PROMPT_COMMAND | sed -e 's/\\033]0;\(.*\)\\007/\\033]0;$ANDROID_PROMPT_PREFIX \1\\007/g')" fi } -- 2.11.0