function __post_review_opts(){ post-review --help | grep -E "^ *-" | \ awk '/^ *--/ { gsub(/=.*/, "") ; print $1 } /^ *-[^-]/ { gsub(/=.*/, "") ; gsub(/,/, "") ; print $1 "\n" $2 }' | grep -v ID } which post-review >/dev/null 2>&1 && complete -W "$(__post_review_opts)" -o default post-review # vim:filetype=sh