Hello list menbers, I'm writing a completion function for the OS X command system_profiler. (I did't find one preinstalled with `find $fpath -name _system_profiler` so I assume there isn't one already) The manpage for system_profiler says: > SYNOPSIS > system_profiler [-usage] > system_profiler [-listDataTypes] > system_profiler [-xml] dataType1 ... dataTypeN > system_profiler [-xml] [-detailLevel level] My problem is the third posibility: I do not know how to tell the completion system to allow several dataTypes after the command. I store the dataTypes in an array which I populate with `system_profiler -listDataTypes`. How can I tell zsh that any of these strings may follow in any order several times, unless -usage or -listDataTypes is given? My code so far is attached. Note that the man page is not correct at one point: It is possible to specify both -detailLevel and some dataTypes. For example `system_profiler -detailLevel mini SPAirPortDataType` differs from `system_profiler -detailLevel full SPAirPortDataType` Thank you for any help or hints Lucas