From: Felipe Contreras Date: Sun, 18 Nov 2012 00:58:27 GMT Subject: Re: [PATCH 5/7] completion: fix expansion issues in __gitcomp_nl() Message-ID: In-Reply-To: <1353150353-29874-6-git-send-email-szeder@ira.uka.de> On Sat, Nov 17, 2012 at 12:05 PM, SZEDER Gábor wrote: > __gitcomp_nl () > { > local IFS=$'\n' > - COMPREPLY=($(compgen -P "${2-}" -S "${4- }" -W "$1" -- "${3-$cur}")) > + COMPREPLY=($(awk -v pfx="${2-}" -v sfx="${4- }" -v cur="${3-$cur}" ' > + BEGIN { > + FS="\n"; > + len=length(cur); > + } > + { > + if (cur == substr($1, 1, len)) > + print pfx$1sfx; > + }' <<< "$1" )) > } This version is simpler and faster: local IFS=$'\n' COMPREPLY=($(awk -v cur="${3-$cur}" -v pre="${2-}" -v suf="${4- }" '$0 ~ cur { print pre$0suf }' <<< "$1" )) == 10000 == awk 1: real 0m0.067s user 0m0.066s sys 0m0.001s awk 2: real 0m0.057s user 0m0.055s sys 0m0.002s -- Felipe Contreras