Readded the LAST_COMMAND_INDICATOR-Functionality, which got lost on last merge.

Added fix for #67
master
Martin Gondermann 11 years ago
parent 8a8e068e66
commit 957eb80d2a
  1. 10
      README.md
  2. 6
      git-prompt-colors.sh
  3. 28
      gitprompt.sh

@ -113,7 +113,15 @@ function prompt_callback {
- You can show an additional indicator at the start of the prompt, which shows - You can show an additional indicator at the start of the prompt, which shows
the result of the last executed command by setting the result of the last executed command by setting
``GIT_PROMPT_SHOW_LAST_COMMAND_INDICATOR=1`` before sourcing the gitprompt ``GIT_PROMPT_SHOW_LAST_COMMAND_INDICATOR=1`` before sourcing the gitprompt
script script.
If you want to display the exit code too, you can use the placeholder
``_LAST_COMMAND_STATE_`` in ``GIT_PROMPT_COMMAND_OK`` or ``GIT_PROMPT_COMMAND_FAIL``
in your ``.git-prompt-colors.sh``:
```sh
GIT_PROMPT_COMMAND_OK="${Green}✔-_LAST_COMMAND_STATE_ " # displays as ✔-0
GIT_PROMPT_COMMAND_FAIL="${Red}✘-_LAST_COMMAND_STATE_ " # displays as ✘-1 for exit code 1
```
- It is now possible to disable the fetching of the remote repository either - It is now possible to disable the fetching of the remote repository either
globally by setting ``GIT_PROMPT_FETCH_REMOTE_STATUS=0`` in your .bashrc or globally by setting ``GIT_PROMPT_FETCH_REMOTE_STATUS=0`` in your .bashrc or

@ -18,6 +18,12 @@ GIT_PROMPT_UNTRACKED="${Cyan}…" # the number of untracked files/dirs
GIT_PROMPT_STASHED="${BoldBlue}" # the number of stashed files/dir GIT_PROMPT_STASHED="${BoldBlue}" # the number of stashed files/dir
GIT_PROMPT_CLEAN="${BoldGreen}" # a colored flag indicating a "clean" repo GIT_PROMPT_CLEAN="${BoldGreen}" # a colored flag indicating a "clean" repo
# For the command indicator, the placeholder _LAST_COMMAND_STATE_
# will be replaced with the exit code of the last command
# e.g.
# GIT_PROMPT_COMMAND_OK="${Green}✔-_LAST_COMMAND_STATE_ " # indicator if the last command returned with an exit code of 0
# GIT_PROMPT_COMMAND_FAIL="${Red}✘-_LAST_COMMAND_STATE_ " # indicator if the last command returned with an exit code of other than 0
GIT_PROMPT_COMMAND_OK="${Green}" # indicator if the last command returned with an exit code of 0 GIT_PROMPT_COMMAND_OK="${Green}" # indicator if the last command returned with an exit code of 0
GIT_PROMPT_COMMAND_FAIL="${Red}" # indicator if the last command returned with an exit code of other than 0 GIT_PROMPT_COMMAND_FAIL="${Red}" # indicator if the last command returned with an exit code of other than 0

@ -62,7 +62,6 @@ function gp_maybe_set_envar_to_path(){
function git_prompt_config() function git_prompt_config()
{ {
#Checking if root to change output #Checking if root to change output
_isroot=false _isroot=false
[[ $UID -eq 0 ]] && _isroot=true [[ $UID -eq 0 ]] && _isroot=true
@ -94,11 +93,13 @@ function git_prompt_config()
fi fi
if [ "x${GIT_PROMPT_SHOW_LAST_COMMAND_INDICATOR}" == "x1" ]; then if [ "x${GIT_PROMPT_SHOW_LAST_COMMAND_INDICATOR}" == "x1" ]; then
if [ $LAST_COMMAND_STATE = 0 ]; then if [ $GIT_PROMPT_LAST_COMMAND_STATE = 0 ]; then
LAST_COMMAND_INDICATOR="${GIT_PROMPT_COMMAND_OK}"; LAST_COMMAND_INDICATOR="${GIT_PROMPT_COMMAND_OK}";
else else
LAST_COMMAND_INDICATOR="${GIT_PROMPT_COMMAND_FAIL}"; LAST_COMMAND_INDICATOR="${GIT_PROMPT_COMMAND_FAIL}";
fi fi
LAST_COMMAND_INDICATOR="${LAST_COMMAND_INDICATOR/_LAST_COMMAND_STATE_/${GIT_PROMPT_LAST_COMMAND_STATE}}"
fi fi
# Do this only once to define PROMPT_START and PROMPT_END # Do this only once to define PROMPT_START and PROMPT_END
@ -161,9 +162,11 @@ function git_prompt_config()
fi fi
} }
function setGitPrompt() { function setLastCommandState() {
LAST_COMMAND_STATE=$? GIT_PROMPT_LAST_COMMAND_STATE=$?
}
function setGitPrompt() {
local EMPTY_PROMPT local EMPTY_PROMPT
local __GIT_STATUS_CMD local __GIT_STATUS_CMD
@ -294,7 +297,7 @@ function prompt_callback_default {
return return
} }
function run { function gp_install_prompt {
if [ "`type -t prompt_callback`" = 'function' ]; then if [ "`type -t prompt_callback`" = 'function' ]; then
prompt_callback="prompt_callback" prompt_callback="prompt_callback"
else else
@ -323,8 +326,21 @@ function run {
esac esac
fi fi
if [ "x${GIT_PROMPT_SHOW_LAST_COMMAND_INDICATOR}" == "x1" ]; then
local setLastCommandStateEntry="setLastCommandState"
case ";$PROMPT_COMMAND;" in
*";$setLastCommandStateEntry;"*)
# echo "PROMPT_COMMAND already contains: $setLastCommandStateEntry"
:;;
*)
PROMPT_COMMAND="$setLastCommandStateEntry;$PROMPT_COMMAND"
# echo "PROMPT_COMMAND does not contain: $setLastCommandStateEntry"
;;
esac
fi
git_prompt_dir git_prompt_dir
source "$__GIT_PROMPT_DIR/git-prompt-help.sh" source "$__GIT_PROMPT_DIR/git-prompt-help.sh"
} }
run gp_install_prompt

Loading…
Cancel
Save