For zsh, the following script can work:
#compdef interactively
_arguments -s -S \
"(- : *)"{-h,--help}"[Show list of command-line options]" \
"--name[Show list of command-line options]: :{_command_names -e}" \
'(-)1: :{_command_names -e}' \
'*:: :_normal'
However, it needs #3.
For zsh, the following script can work:
However, it needs #3.