#compdef find local prev="$words[CURRENT-1]" if compset -N '-(ok|exec)' '\;'; then _normal elif compset -P 1 -; then compgen -s 'daystart {max,min,}depth follow noleaf version xdev \ {a,c,}newer {a,c,m}{min,time} empty false {fs,x,}type gid inum links \ {i,}{l,}name {no,}{user,group} path perm regex size true uid used \ exec {f,}print{f,0,} ok prune ls' elif [[ CURRENT -eq 2 ]]; then local ret=1 compgen -g '. ..' && ret=0 _files -g '*(-/)' && ret=0 return ret elif [[ "$prev" = -((a|c|)newer|fprint(|0|f)) ]]; then _files elif [[ "$prev" = -fstype ]]; then compgen -k '(ufs 4.2 4.3 nfs tmp mfs S51K S52K)' elif [[ "$prev" = -group ]]; then compgen -k groups elif [[ "$prev" = -user ]]; then compgen -u fi