diff options
author | Roman Perepelitsa <roman.perepelitsa@gmail.com> | 2023-08-15 11:30:02 +0300 |
---|---|---|
committer | Roman Perepelitsa <roman.perepelitsa@gmail.com> | 2023-08-15 11:30:02 +0300 |
commit | d8041e4700ace779aaf42e19c3de2d25a14dbae8 (patch) | |
tree | d4e260a521cd6897a8f3e6f19153982577d30531 | |
parent | 9401ed17c0a8c3d1654214a204b8d5b5f7ccf386 (diff) |
Squashed 'gitstatus/' changes from bdaad2e8d..38d35b959
38d35b959 cleanup
7e7b5e807 bash prompt: set PROMPT_COMMAND in a nicer and more robust manner (#403)
7ee9227de Merge branch 'samiam-append_prompt'
198ed58ce Revert "Update README to append to PROMPT_COMMAND"
8b6a229fa Switch to using var assignment for backward compatibility
693f9efa0 Update README to append to PROMPT_COMMAND
a48175ce1 Append to PROMPT_COMMAND to play nice with other prompt programs
git-subtree-dir: gitstatus
git-subtree-split: 38d35b95926e09d07b8cf78edade7cee7a9a1dcf
-rw-r--r-- | gitstatus.prompt.sh | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/gitstatus.prompt.sh b/gitstatus.prompt.sh index 8ee28de0..f54c11ac 100644 --- a/gitstatus.prompt.sh +++ b/gitstatus.prompt.sh @@ -2,7 +2,7 @@ # Source gitstatus.plugin.sh from $GITSTATUS_DIR or from the same directory # in which the current script resides if the variable isn't set. -if [[ -n "${GITSTATUS_DIR:-}" ]]; then +if [[ -n "${GITSTATUS_DIR-}" ]]; then source "$GITSTATUS_DIR" || return elif [[ "${BASH_SOURCE[0]}" == */* ]]; then source "${BASH_SOURCE[0]%/*}/gitstatus.plugin.sh" || return @@ -85,7 +85,14 @@ function gitstatus_prompt_update() { gitstatus_stop && gitstatus_start -s -1 -u -1 -c -1 -d -1 # On every prompt, fetch git status and set GITSTATUS_PROMPT. -PROMPT_COMMAND=gitstatus_prompt_update +if [[ -z "${PROMPT_COMMAND[*]}" ]]; then + PROMPT_COMMAND=gitstatus_prompt_update +elif [[ ! "${PROMPT_COMMAND[*]}" =~ [[:space:]\;]?gitstatus_prompt_update[[:space:]\;]? ]]; then + # Note: If PROMPT_COMMAND is an array, this will modify its first element. + PROMPT_COMMAND=$'gitstatus_prompt_update\n'"$PROMPT_COMMAND" +fi + +# Retain 3 trailing components of the current directory. PROMPT_DIRTRIM=3 # Enable promptvars so that ${GITSTATUS_PROMPT} in PS1 is expanded. |