Server IP : 103.119.228.120 / Your IP : 3.144.40.216 Web Server : Apache System : Linux v8.techscape8.com 3.10.0-1160.119.1.el7.tuxcare.els2.x86_64 #1 SMP Mon Jul 15 12:09:18 UTC 2024 x86_64 User : nobody ( 99) PHP Version : 5.6.40 Disable Function : shell_exec,symlink,system,exec,proc_get_status,proc_nice,proc_terminate,define_syslog_variables,syslog,openlog,closelog,escapeshellcmd,passthru,ocinum cols,ini_alter,leak,listen,chgrp,apache_note,apache_setenv,debugger_on,debugger_off,ftp_exec,dl,dll,myshellexec,proc_open,socket_bind,proc_close,escapeshellarg,parse_ini_filepopen,fpassthru,exec,passthru,escapeshellarg,escapeshellcmd,proc_close,proc_open,ini_alter,popen,show_source,proc_nice,proc_terminate,proc_get_status,proc_close,pfsockopen,leak,apache_child_terminate,posix_kill,posix_mkfifo,posix_setpgid,posix_setsid,posix_setuid,dl,symlink,shell_exec,system,dl,passthru,escapeshellarg,escapeshellcmd,myshellexec,c99_buff_prepare,c99_sess_put,fpassthru,getdisfunc,fx29exec,fx29exec2,is_windows,disp_freespace,fx29sh_getupdate,fx29_buff_prepare,fx29_sess_put,fx29shexit,fx29fsearch,fx29ftpbrutecheck,fx29sh_tools,fx29sh_about,milw0rm,imagez,sh_name,myshellexec,checkproxyhost,dosyayicek,c99_buff_prepare,c99_sess_put,c99getsource,c99sh_getupdate,c99fsearch,c99shexit,view_perms,posix_getpwuid,posix_getgrgid,posix_kill,parse_perms,parsesort,view_perms_color,set_encoder_input,ls_setcheckboxall,ls_reverse_all,rsg_read,rsg_glob,selfURL,dispsecinfo,unix2DosTime,addFile,system,get_users,view_size,DirFiles,DirFilesWide,DirPrintHTMLHeaders,GetFilesTotal,GetTitles,GetTimeTotal,GetMatchesCount,GetFileMatchesCount,GetResultFiles,fs_copy_dir,fs_copy_obj,fs_move_dir,fs_move_obj,fs_rmdir,SearchText,getmicrotime MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/share/zsh/5.0.2/functions/ |
Upload File : |
#compdef -redirect-,-default-,-default- local opts tmp glob pat pats expl tag i def descr end ign ret=1 match tried local type sdef ignvars ignvar prepath oprefix rfiles rfile zparseopts -a opts \ '/=tmp' 'f=tmp' 'g+:-=tmp' q n 1 2 P: S: r: R: W: X+: M+: F: J+: V+: type="${(@j::M)${(@)tmp#-}#?}" if (( $tmp[(I)-g*] )); then glob="${${${${(@M)tmp:#-g*}#-g}##[[:blank:]]#}%%[[:blank:]]#}" [[ "$glob" = *[^\\][[:blank:]]* ]] && glob="{${glob//(#b)([^\\])[[:blank:]]##/${match[1]},}}" # add `#q' to the beginning of any glob qualifier if not there already [[ "$glob" = (#b)(*\()([^\|\~]##\)) && $match[2] != \#q* ]] && glob="${match[1]}#q${match[2]}" fi tmp=$opts[(I)-F] if (( tmp )); then ignvars=($=opts[tmp+1]) if [[ $ignvars = _comp_ignore ]]; then ign=( $_comp_ignore ) else ign=() for ignvar in $ignvars; do ign+=(${(P)ignvar}) done opts[tmp+1]=_comp_ignore fi else ign=() fi if zstyle -a ":completion:${curcontext}:" file-patterns tmp; then [[ "$type" = */* ]] && glob="$glob,*(-/)" pats=() for i in ${tmp//\%p/${${glob:-\*}//:/\\:}}; do if [[ $i = *[^\\]:* ]]; then pats=( "$pats[@]" " $i " ) else pats=( "$pats[@]" " ${i}:files " ) fi done elif zstyle -t ":completion:${curcontext}:" list-dirs-first; then if [[ "$type" = *g* ]]; then # add `^-/' after `#q' glob qualifier if not there already if [[ "$glob" = (#b)(*\(\#q)(*\)) ]]; then [[ $match[2] != \^-/* ]] && glob="${match[1]}^-/,${match[2]}" else glob="$glob(#q^-/)" fi pats=( " *(-/):directories:directories ${glob//:/\\:}:globbed-files" ) elif [[ "$type" = */* ]] then pats=( '*(-/):directories ' '*:all-files ' ) else pats=( '*(-/):directories:directories *(^-/):other-files ' ) fi else if [[ "$type" = *g* ]]; then # People prefer to have directories shown on first try as default. # Even if the calling function didn't use -/. # # if [[ "$type" = */* ]]; then pats=( " ${glob//:/\\:}:globbed-files *(-/):directories" '*:all-files ' ### We could allow _next_tags to offer only globbed-files or directories ### by adding: ### " ${glob//:/\\:}:only-globbed-files " ' *(-/):only-directories ' ) # else # pats=( " ${glob//:/\\:}:globbed-files " # '*(-/):directories ' '*:all-files ' ) # fi elif [[ "$type" = */* ]]; then pats=( '*(-/):directories ' '*:all-files ' ) else pats=( '*:all-files ' ) fi fi tried=() for def in "$pats[@]"; do eval "def=( ${${def//\\:/\\\\\\:}//(#b)([][()|*?^#~<>])/\\${match[1]}} )" tmp="${(@M)def#*[^\\]:}" (( $tried[(I)${(q)tmp}] )) && continue tried=( "$tried[@]" "$tmp" ) for sdef in "$def[@]"; do tag="${${sdef#*[^\\]:}%%:*}" pat="${${sdef%%:${tag}*}//\\:/:}" if [[ "$sdef" = *:${tag}:* ]]; then descr="${(Q)sdef#*:${tag}:}" else if (( $opts[(I)-X] )); then descr= else descr=file fi end=yes fi _tags "$tag" while _tags; do _comp_ignore=() while _next_label "$tag" expl "$descr"; do _comp_ignore=( $_comp_ignore $ign ) if [[ -n "$end" ]]; then if _path_files -g "$pat" "$opts[@]" "$expl[@]"; then ret=0 elif [[ $PREFIX$SUFFIX != */* ]] && zstyle -a ":completion:${curcontext}:$tag" recursive-files rfiles; then for rfile in $rfiles; do if [[ $PWD/ = ${~rfile} ]]; then for prepath in **/*(/); do oprefix=$PREFIX PREFIX=$prepath/$PREFIX _path_files -g "$pat" "$opts[@]" "$expl[@]" && ret=0 PREFIX=$oprefix done break fi done fi else _path_files "$expl[@]" -g "$pat" "$opts[@]" && ret=0 fi done (( ret )) || break done ### For that _next_tags change mentioned above we would have to ### comment out the following line. (Or not, depending on the order ### of the patterns.) [[ "$pat" = '*' ]] && return ret done (( ret )) || return 0 done return 1