30 lines
991 B
Plaintext
30 lines
991 B
Plaintext
#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
|