On Mar 16, 12:27pm, Bart Schaefer wrote: } } _tokens() { } if [[ $PREFIX$SUFFIX = *__* ]]; then } compadd ${PREFIX%_#}${^${(f)"$(<tokenfile)"}}${SUFFIX#_#} Apologies, that needs to be ${PREFIX%%_#} and ${SUFFIX##_#} to get all the underscores.