Server IP : 103.119.228.120 / Your IP : 18.116.90.57 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/local/ssl/share/zsh/5.0.2/functions/ |
Upload File : |
#compdef todo.sh # See http://todotxt.com for todo.sh. # # Featurettes: # - "replace" will complete the original text for editing # - completing priorities will cycle through A to Z (even without # menu completion) # - list and listall will complete +<project> and @<where> from # values in existing entries # - will complete after + and @ if typed in message text setopt localoptions braceccl local expl curcontext="$curcontext" state line pri nextstate item local -a cmdlist itemlist match mbegin mend integer NORMARG _arguments -s -n : \ '-d[alternate config file]:config file:_files' \ '-f[force, no confirmation]' \ '-h[display help]' \ '-p[plain mode, no colours]' \ '-v[verbose mode, confirmation messages]' \ '-V[display version etc.]' \ '1:command:->commands' \ '*:arguments:->arguments' && return 0 local projmsg="context or project" local txtmsg="text with contexts or projects" # Skip "command" as command prefix if words after if [[ $words[NORMARG] == command && NORMARG -lt CURRENT ]]; then (( NORMARG++ )) fi case $state in (commands) cmdlist=( "add:add TODO ITEM to todo.txt." "addm:add TODO ITEMs, one per line, to todo.txt." "addto:add text to file (not item)" "append:adds to item on line NUMBER the text TEXT." "archive:moves done items from todo.txt to done.txt." "command:run internal commands only" "del:deletes the item on line NUMBER in todo.txt." "depri:remove prioritization from item" "do:marks item on line NUMBER as done in todo.txt." "help:display help" "list:displays all todo items containing TERM(s), sorted by priority." "listall:displays items including done ones containing TERM(s)" "listcon:list all contexts" "listfile:display all files in .todo directory" "listpri:displays all items prioritized at PRIORITY." "move:move item between files" "prepend:adds to the beginning of the item on line NUMBER text TEXT." "pri:adds or replace in NUMBER the priority PRIORITY (upper case letter)." "replace:replace in NUMBER the TEXT." "remdup:remove exact duplicates from todo.txt." "report:adds the number of open and done items to report.txt." ) _describe -t todo-commands 'todo.sh command' cmdlist ;; (arguments) case $words[NORMARG] in (append|command|del|move|mv|prepend|pri|replace|rm) if (( NORMARG == CURRENT - 1 )); then nextstate=item else case $words[NORMARG] in (pri) nextstate=pri ;; (append|prepend) nextstate=proj ;; (move|mv) nextstate=file ;; (replace) item=${words[CURRENT-1]##0##} compadd -Q -- "${(qq)$(todo.sh -p list "^[ 0]*$item " | sed '/^--/,$d')##<-> (\([A-Z]\) |)}" ;; esac fi ;; (depri|do|dp) nextstate=item ;; (a|add|addm|list|ls|listall|lsa) nextstate=proj ;; (addto) if (( NORMARG == CURRENT - 1 )); then nextstate=file else nexstate=proj fi ;; (listfile|lf) if (( NORMARG == CURRENT -1 )); then nextstate=file else _message "Term to search file for" fi ;; (listpri|lsp) nextstate=pri ;; (*) return 1 ;; esac ;; esac case $nextstate in (file) _path_files -W ~/.todo ;; (item) itemlist=(${${(M)${(f)"$(todo.sh -p list | sed '/^--/,$d')"}##<-> *}/(#b)(<->) (*)/${match[1]}:${match[2]}}) _describe -t todo-items 'todo item' itemlist ;; (pri) if [[ $words[CURRENT] = (|[A-Z]) ]]; then if [[ $words[CURRENT] = (|Z) ]]; then pri=A else # cycle priority pri=$words[CURRENT] pri=${(#)$(( #pri + 1 ))} fi _wanted priority expl 'priority' compadd -U -S '' -- $pri else _wanted priority expl 'priority' compadd {A-Z} fi ;; (proj) # This completes stuff beginning with + (projects) or @ (contexts); # these are todo.sh conventions. if [[ ! -prefix + && ! -prefix @ ]]; then projmsg=$txtmsg fi # In case there are quotes, ignore anything up to whitespace before # the + or @ (which may not even be there yet). compset -P '*[[:space:]]' _wanted search expl $projmsg \ compadd $(todo.sh lsprj) $(todo.sh lsc) ;; esac