git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH] completion: fix issues with COMP_WORDBREAKS

From
Felipe Contreras <felipe.contreras@gmail.com>
Date
Apr 15, 2012, 21:17 UTC
Message-ID
<1334524654-13482-1-git-send-email-felipe.contreras@gmail.com>

The situation regarding COMP_WORDBREAKS has changed through time, but right now due to changes in bash 4 we are using _get_comp_words_by_ref and there's no need to mess directly with COMP_WORDBREAKS any more.

In fact if COMP_WORDBREAKS doesn't contain a colon the completion gets all messed up. For example:

 git push origin master:<TAB>
 git diff master:<TAB>
The "master:" prefix would be added again, unnecessarily.
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
---
 contrib/completion/git-completion.bash |   14 --------------
 1 file changed, 14 deletions(-)
diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index 9f56ec7..d9771f2 100755
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -65,11 +65,6 @@ if [[ -n ${ZSH_VERSION-} ]]; then
 	autoload -U +X bashcompinit && bashcompinit
 fi
 
-case "$COMP_WORDBREAKS" in
-*:*) : great ;;
-*)   COMP_WORDBREAKS="$COMP_WORDBREAKS:"
-esac
-
 # __gitdir accepts 0 or 1 arguments (i.e., location)
 # returns location of .git repo
 __gitdir ()
@@ -671,11 +666,6 @@ __git_complete_revlist_file ()
 			;;
 		esac
 
-		case "$COMP_WORDBREAKS" in
-		*:*) : great ;;
-		*)   pfx="$ref:$pfx" ;;
-		esac
-
 		local IFS=$'\n'
 		COMPREPLY=($(compgen -P "$pfx" \
 			-W "$(git --git-dir="$(__gitdir)" ls-tree "$ls" \
@@ -758,10 +748,6 @@ __git_complete_remote_or_refspec ()
 	[ "$remote" = "." ] && remote=
 	case "$cur_" in
 	*:*)
-		case "$COMP_WORDBREAKS" in
-		*:*) : great ;;
-		*)   pfx="${cur_%%:*}:" ;;
-		esac
 		cur_="${cur_#*:}"
 		lhs=0
 		;;
-- 
1.7.10
Next: Jonathan Nieder
Message 1 of 3 in “completion: fix issues with COMP_WORDBREAKS”
  1. completion: fix issues with COMP_WORDBREAKSFelipe Contreras, Apr 15, 2012
  2. Jonathan NiederApr 16, 2012
  3. Felipe ContrerasApr 16, 2012

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.