#compdef find

_arguments \
  '(- *)-help' '(-)--help' \
  '(- *)-version' '(-)--version' \
  '(-L -P)-H[only follow symlinks when resolving command-line arguments]' \
  '(-H -P)-L[follow symlinks]' \
  '(-H -L)-P[never follow symlinks]' \
  '-D[print diagnostics]:deb option:(help tree search stat rates opt exec)' \
  '-O+[enable query optimisation]:level:(1 2 3)' \
  '*-daystart' \
  '*-d' '*-depth' \
  '*-follow' \
  '(-noignore_readdir_race)-ignore_readdir_race' \
  '*-maxdepth:maximum search depth' \
  '*-mindepth:minimum search depth' \
  '*-mount' \
  '(-ignore_readdir_race)-noignore_readdir_race' \
  '*-noleaf' \
  '-regextype:regexp syntax:(emacs posix-awk posix-basic posix-egrep posix-extended)' \
  '*-warn' \
  '*-nowarn' \
  '*-xdev' \
  '*-amin:access time (minutes):' \
  '*-cmin:inode change time (minutes):' \
  '*-mmin:modification time (minutes):' \
  '*-atime:access time (days):' \
  '*-ctime:inode change time (days):' \
  '*-mtime:modification time (days):' \
  '*-anewer:file to compare (access time):_files' \
  '*-cnewer:file to compare (inode change time):_files' \
  '*-newer:file to compare (modification time):_files' \
  '*-used:access after inode change (days):' \
  '*-empty' \
  '*-executable' \
  '*-false' \
  '*-fstype:file system type:_file_systems' \
  '*-gid:numeric group ID:' \
  '*-group:group:_groups' \
  '*-uid:numeric user ID:' \
  '*-user:user:_users' \
  '*-lname:link pattern to search:' \
  '*-ilname:link pattern to search (case insensitive):' \
  '*-name:name pattern to search:' \
  '*-iname:name pattern to search (case insensitive):' \
  '*-path:path pattern to search:' \
  '*-ipath:path pattern to search (case insensitive):' \
  '*-regex:regular expression to search:' \
  '*-iregex:regular expression to search (case insensitive):' \
  '*-wholename:full path pattern to search:' \
  '*-iwholename:full path pattern to search (case insensitive):' \
  '*-inum:inode number:' \
  '*-links:number of links:' \
  '*-nouser' \
  '*-nogroup' \
  '*-perm:file permission bits:' \
  '*-readable' \
  '*-writable' \
  '*-size:file size:' \
  '*-samefile:same inode as:_files' \
  '*-true' \
  '*-type:file type:((b\:block\ special\ file c\:character\ special\ file d\:directory p\:named\ pipe f\:normal\ file l\:symbolic\ link s\:socket))' \
  '*-xtype:file type:((b\:block\ special\ file c\:character\ special\ file d\:directory p\:named\ pipe f\:normal\ file l\:symbolic\ link s\:socket))' \
  '*-delete' \
  '*-exec:program: _command_names -e:*\;::program arguments: _normal' \
  '*-execdir:program: _command_names -e:*\;::program arguments: _normal' \
  '*-ok:program: _command_names -e:*\;::program arguments: _normal' \
  '*-okdir:program: _command_names -e:*\;::program arguments: _normal' \
  '*-fls:output file:_files' \
  '*-fprint:output file:_files' \
  '*-fprint0:output file:_files' \
  '*-fprintf:output file:_files:output format:' \
  '*-print' \
  '*-print0' \
  '*-printf:output format:' \
  '*-prune' \
  '*-quit' \
  '*-ls' \
  '*-and' '*-a' \
  '*-or' '*-o' \
  '*-not' \
  '*:directory:_files -/'
