Skip to content

Commit

Permalink
Fix early wrapping of the command line when using git-prompt.sh
Browse files Browse the repository at this point in the history
When running git-prompt in Bash, the lack of \001 and \002 causes
the command line to wrap early.

The issue is the current \001 and \002 were not themselves escaped
and so resulted in binary 0b1 and 0b10 being present, rather than
the strings "\001" and "\002".
  • Loading branch information
Richard Quadling authored and Richard Quadling committed Mar 11, 2024
1 parent e09f125 commit d1e4c63
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 8 deletions.
8 changes: 4 additions & 4 deletions contrib/completion/git-prompt.sh
Original file line number Diff line number Diff line change
Expand Up @@ -259,10 +259,10 @@ __git_ps1_colorize_gitstring ()
else
# Using \001 and \002 around colors is necessary to prevent
# issues with command line editing/browsing/completion!
local c_red=$'\001\e[31m\002'
local c_green=$'\001\e[32m\002'
local c_lblue=$'\001\e[1;34m\002'
local c_clear=$'\001\e[0m\002'
local c_red=$'\\001\e[31m\\002'
local c_green=$'\\001\e[32m\\002'
local c_lblue=$'\\001\e[1;34m\\002'
local c_clear=$'\\001\e[0m\\002'
fi
local bad_color=$c_red
local ok_color=$c_green
Expand Down
8 changes: 4 additions & 4 deletions t/t9903-bash-prompt.sh
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,10 @@ export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
. "$GIT_BUILD_DIR/contrib/completion/git-prompt.sh"

actual="$TRASH_DIRECTORY/actual"
c_red='\001\e[31m\002'
c_green='\001\e[32m\002'
c_lblue='\001\e[1;34m\002'
c_clear='\001\e[0m\002'
c_red='\\001\e[31m\\002'
c_green='\\001\e[32m\\002'
c_lblue='\\001\e[1;34m\\002'
c_clear='\\001\e[0m\\002'

test_expect_success 'setup for prompt tests' '
git init otherrepo &&
Expand Down

0 comments on commit d1e4c63

Please sign in to comment.