#compdef svcs _svcs() { local -a cols cols=( ctid\:"Contract ID" desc\:"Description" fmri\:"FMRI" inst\:"Instance name" nsta\:"Next state (abbr)" nstate\:"Next state" scope\:"Scope name" svc\:"Service name" sta\:"State (abbr)" state\:"State" stime\:"Start time" ) _arguments -s \ '(-l -x -d -D)-a[list all instances]' \ '(-l -x -D -a -R)-d[list dependencies]' \ '(-l -x -d -a -R)-D[list dependents]' \ '(-l -x)-H[suppress header line]' \ '(-x -d -D -a -R -s)-l[print detailed status about services and instances]' \ '(-l -x)-o[display specific columns]:column:_values -s , "column" ${^cols/\:/[}\]' \ '(-l -x)-p[list processes]' \ '(-l -x -d -D)-R[list services with the given restarter]:instance FMRI:_svcs_fmri -i' \ '(-l -x)-s[sort by a column]:column:(($cols))' \ '(-l -x)-S[reverse sort by a column]:column:(($cols))' \ '-v[verbose columns]' \ '(-l)-x[display explanation for service states]' \ '(-l -x)-\?[print help]' \ '*:FMRI or pattern:_svcs_fmri -i' } _svcs "$@" # vi:tw=0