#compdef mdfind local ret=1 local -a context line state state_descr tmp local -A opt_args val_args _arguments -s -S : \ '(-count)-0[separate result paths by NUL]' \ '(-0)-count[display count of results instead of paths]' \ '(-literal)-interpret[interpret query as if entered in Spotlight search field]' \ '(-interpret)-literal[interpret query as literal query string]' \ '-live[provide live updates to query results]' \ '-onlyin[limit search to specified directory]: :_directories' \ '(: -s)*-name[search for files with names matching specified string]:file name string' \ '-reprint[reprint -live results on update]' \ '(: -name)-s[show contents of specified smart folder]: :->smart-folders' \ '(-s -name)1: :_guard "^-*" "query"' \ && ret=0 [[ $state == smart-folders ]] && { tmp=( "$HOME/Library/Saved Searches/"*.savedSearch(-.N:r:t) ) if (( $#tmp )); then _values 'smart folder' $tmp && ret=0 else _message 'smart folder' && ret=0 fi } return ret