Re: [PATCH v3 5/7] completion: get rid of compgen
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:56:48
Felipe Contreras [off-list ref] writes:
Here are some numbers filtering N amount of words:
Nice table. "N amount of words" sounded somewhat funny to me, but I am not a native.
... == 1000 == original: 0.012s new: 0.011s == 10000 == original: 0.056s new: 0.066s == 100000 == original: 2.669s new: 0.622s If the results are not narrowed: ... == 1000 == original: 0.020s new: 0.015s == 10000 == original: 0.101s new: 0.355s == 100000 == original: 2.850s new: 31.941s So, unless 'git checkout <tab>' usually gives you more than 100000 results, you'll get an improvement :)
Nice numbers. I think you meant 10000 not 100000 here.
quoted hunk
diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash index 90b54ab..d8009f5 100644 --- a/contrib/completion/git-completion.bash +++ b/contrib/completion/git-completion.bash@@ -197,11 +197,16 @@ fi __gitcompadd () { - COMPREPLY=($(compgen -W "$1" -P "$2" -S "$4" -- "$3")) + local i=0 + for x in $1; do + if [[ "$x" == "$3"* ]]; then + COMPREPLY[i++]="$2$x$4" + fi + done }
Nice; can't be simpler than that ;-)