Merge branch 'fc/completion-colors-do-not-need-prompt-command'

Lift the limitation that colored prompts can only be used with
PROMPT_COMMAND mode.

* fc/completion-colors-do-not-need-prompt-command:
  completion: prompt: use generic colors
This commit is contained in:
Junio C Hamano 2023-03-28 10:51:52 -07:00
commit 6041a13ec2
2 changed files with 11 additions and 16 deletions

View File

@ -100,9 +100,7 @@
# #
# If you would like a colored hint about the current dirty state, set # If you would like a colored hint about the current dirty state, set
# GIT_PS1_SHOWCOLORHINTS to a nonempty value. The colors are based on # GIT_PS1_SHOWCOLORHINTS to a nonempty value. The colors are based on
# the colored output of "git status -sb" and are available only when # the colored output of "git status -sb".
# using __git_ps1 for PROMPT_COMMAND or precmd in Bash,
# but always available in Zsh.
# #
# If you would like __git_ps1 to do nothing in the case when the current # If you would like __git_ps1 to do nothing in the case when the current
# directory is set up to be ignored by git, then set # directory is set up to be ignored by git, then set
@ -259,12 +257,12 @@ __git_ps1_colorize_gitstring ()
local c_lblue='%F{blue}' local c_lblue='%F{blue}'
local c_clear='%f' local c_clear='%f'
else else
# Using \[ and \] around colors is necessary to prevent # Using \001 and \002 around colors is necessary to prevent
# issues with command line editing/browsing/completion! # issues with command line editing/browsing/completion!
local c_red='\[\e[31m\]' local c_red=$'\001\e[31m\002'
local c_green='\[\e[32m\]' local c_green=$'\001\e[32m\002'
local c_lblue='\[\e[1;34m\]' local c_lblue=$'\001\e[1;34m\002'
local c_clear='\[\e[0m\]' local c_clear=$'\001\e[0m\002'
fi fi
local bad_color=$c_red local bad_color=$c_red
local ok_color=$c_green local ok_color=$c_green
@ -574,11 +572,8 @@ __git_ps1 ()
b="\${__git_ps1_branch_name}" b="\${__git_ps1_branch_name}"
fi fi
# NO color option unless in PROMPT_COMMAND mode or it's Zsh
if [ -n "${GIT_PS1_SHOWCOLORHINTS-}" ]; then if [ -n "${GIT_PS1_SHOWCOLORHINTS-}" ]; then
if [ $pcmode = yes ] || [ -n "${ZSH_VERSION-}" ]; then __git_ps1_colorize_gitstring
__git_ps1_colorize_gitstring
fi
fi fi
local f="$h$w$i$s$u$p" local f="$h$w$i$s$u$p"

View File

@ -13,10 +13,10 @@ export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
. "$GIT_BUILD_DIR/contrib/completion/git-prompt.sh" . "$GIT_BUILD_DIR/contrib/completion/git-prompt.sh"
actual="$TRASH_DIRECTORY/actual" actual="$TRASH_DIRECTORY/actual"
c_red='\\[\\e[31m\\]' c_red='\001\e[31m\002'
c_green='\\[\\e[32m\\]' c_green='\001\e[32m\002'
c_lblue='\\[\\e[1;34m\\]' c_lblue='\001\e[1;34m\002'
c_clear='\\[\\e[0m\\]' c_clear='\001\e[0m\002'
test_expect_success 'setup for prompt tests' ' test_expect_success 'setup for prompt tests' '
git init otherrepo && git init otherrepo &&