diff options
Diffstat (limited to 'Completion/Unix')
-rw-r--r-- | Completion/Unix/Command/.distfiles | 7 | ||||
-rw-r--r-- | Completion/Unix/Command/_attr | 48 | ||||
-rw-r--r-- | Completion/Unix/Command/_less | 112 | ||||
-rw-r--r-- | Completion/Unix/Command/_rcs | 16 | ||||
-rw-r--r-- | Completion/Unix/Command/_wiggle | 23 |
5 files changed, 201 insertions, 5 deletions
diff --git a/Completion/Unix/Command/.distfiles b/Completion/Unix/Command/.distfiles index e06ad4215..21281cbb1 100644 --- a/Completion/Unix/Command/.distfiles +++ b/Completion/Unix/Command/.distfiles @@ -21,7 +21,8 @@ _netcat _larch _texinfo _figlet _elinks _tidy _global _ant _lsof _mt _xmlsoft _perforce _python _antiword _screen _renice _apm _ecasound _gpg _subversion _aap _sablotron _nmap -_chmod _du _getent _gphoto2 _raggle -_nice _printenv -_rar _sed _uniq _vorbis +_attr _chmod _du +_getent _gphoto2 _less +_nice _printenv _raggle +_rar _sed _uniq _vorbis _wiggle ' diff --git a/Completion/Unix/Command/_attr b/Completion/Unix/Command/_attr new file mode 100644 index 000000000..c7ca1b850 --- /dev/null +++ b/Completion/Unix/Command/_attr @@ -0,0 +1,48 @@ +#compdef attr getfattr setfattr + +case $service in + attr) + local -a list + [[ $OSTYPE = irix* ]] && + list=( '(-g -s -r -V)-l[list extended attributes associated with file]' ) + _arguments -s -S "$list[@]" \ + '(-l -r -s -V)-g[get extended attribute for file]:attribute name' \ + '(-l -g -s -q -V)-r[remove given attribute from file]:attribute name' \ + '(-l -g -r)-s[set named attribute for file]:attribute name' \ + '(-r)-q[quiet output]' \ + '(-g -r)-V[specify value of attribute]:value' \ + '-L[dereference symbolic links]' \ + '-R[operator in the root attribute namespace]' \ + '1:file:_files' + return + ;; + getfattr) + _arguments -s -S \ + '(-d --dump -n --name)'{-n+,--name=}'[dump the value of the named extended attribute]' \ + '(-n --name -d --dump)'{-d,--dump}'[dump the values of all extended attributes]' \ + '(-e --encoding)'{-e+,--encoding=}'[encode values after retrieving them]:encoding:(text hex base64)' \ + '(-h --no-derference)'{-h,--no-dereference}'[do not follow symbolic links]' \ + '(-m --match)'{-m+,--match=}'[only include attributes with names matching regex]:regular expression' \ + '--absolute-names[do not string leasing slash characters]' \ + '--only-values[dump only attribute values]' \ + '(-R --recursive)'{-R,--recursive}'[list attributes of all files and directories recurively]' \ + '(-P --physical -L --logical)'{-L,--logical}'[follow all symbolic links]' \ + '(-L --logical -P --physical)'{-P,--physical}'[skip all symbolic links]' \ + '(* -)--version[display version information]' \ + '(* -)--help[display help information]' \ + '*:file:_files' + return + ;; + setfattr) + _arguments -s -S \ + '(-n --name)'{-n+,--name=}'[specify extended attribute to set]' \ + '(-v --value)'{-v+,--value=}'[specify value for the attribute]' \ + '(-x --remove)'{-x+,--remove=}'[remove specified extended attribute]' \ + '(-n --name -v --value)--restore[restore extended attributes from dump file]:dump file:_files' \ + '(-h --no-derference)'{-h,--no-dereference}'[do not follow symbolic links]' \ + '(* -)--version[display version information]' \ + '(* -)--help[display help information]' \ + '*:file:_files' + return + ;; +esac diff --git a/Completion/Unix/Command/_less b/Completion/Unix/Command/_less new file mode 100644 index 000000000..c39fe7820 --- /dev/null +++ b/Completion/Unix/Command/_less @@ -0,0 +1,112 @@ +#compdef less -value-,LESS,-default- -value-,LESSCHARSET,-default- + +local curcontext="$curcontext" state line expl ret=1 +local -a files + +case $service in + *LESSCHARSET*) + _wanted charsets expl 'character set' compadd ascii iso8859 latin1 latin9 \ + dos ebcdic IBM-1047 koi8-r next utf-8 + return + ;; + *LESS*) + compset -q + words=( fake "$words[@]" ) + (( CURRENT++ )) + ;; + *) + files=( '*:file:_files' ) + ;; +esac + +if compset -P '+[-0-9]#'; then + _describe 'less command' '( + g:goto\ line + F:scroll\ to\ end\ and\ keep\ reading\ file + G:go\ to\ end\ of\ file + %:go\ to\ position\ in\ file + p:go\ to\ position\ in\ file + )' + return +fi + +_arguments -S -s -A "[-+]*" \ + '(-? --help)'{-\?,--help}'[display summary of less commands]' \ + '(-a --search-skip-screen)'{-a,--search-skip-screen}'[begin forward searches after last displayed line]' \ + '(-b --buffers)'{-b+,--buffers=}'[specify amount of buffer space used for each file]:buffer space (kilobytes)' \ + '(-B --auto-buffers)'{-B,--auto-buffers}"[don't automatically allocate buffers for pipes]" \ + '(-C --CLEAR-SCREEN -c --clear-screen)'{-c,--clear-screen}'[repaint screen instead of scrolling]' \ + '(-c --clear-screen -C --CLEAR-SCREEN)'{-C,--CLEAR-SCREEN}'[clear screen before repaints]' \ + '(-d --dumb)'{-d,--dumb}'[suppress error message if terminal is dumb]' \ + '(-e -E --quit-at-eof --QUIT-AT-EOF)'{-e,--quit-at-eof}'[exit the second time end-of-file is reached]' \ + '(-e -E --quit-at-eof --QUIT-AT-EOF)'{-E,--QUIT-AT-EOF}'[exit when end-of-file is reached]' \ + '(-f --force)'{-f,--force}'[force opening of non-reqular files]' \ + '(-F --quit-if-one-screen)'{-F,--quit-if-one-screen}'[exit if entire file fits on first screen]' \ + '(-G --HILITE-SEARCH -g --hilite-search)'{-g,--hilite-search}'[highlight only one match for searches]' \ + '(-g --hilite-search -G --HILITE-SEARCH)'{-G,--HILITE-SEARCH}'[disable highlighting of search matches]' \ + '(-h --max-back-scroll)'{-h+,--max-back-scroll=}'[specify backward scroll limit]:backward scroll limit (lines)' \ + '(-I --IGNORE-CASE -i --ignore-case)'{-i,--ignore-case}'[ignore case in searches that lack uppercase]' \ + '(-i --ignore-case -I --IGNORE-CASE)'{-I,--IGNORE-CASE}'[ignore case in all searches]' \ + '(-j --jump-target)'{-j+,--jump-target}'[specify screen position of target lines]:position (line)' \ + '(-J --status-column)'{-J,--status-column}'[display status column on the left]' \ + \*{-k+,--lesskey-file=}'[use specified lesskey file]:lesskey file:_files' \ + '(-L --no-lessopen)'{-L,--no-lessopen}'[ignore the LESSOPEN environment variable]' \ + '(-M --LONG-PROMPT -m --long-prompt)'{-m,--long-prompt}'[prompt verbosely]' \ + '(-m --long-prompt -M --LONG-PROMPT)'{-M,--LONG-PROMPT}'[prompt very verbosely]' \ + '(-N --LINE-NUMBERS -n --line-numbers)'{-n,--line-numbers}"[don't keep track of line numbers]" \ + '(-n --line-numbers -N --LINE-NUMBERS)'{-N,--LINE-NUMBERS}'[show line numbers]' \ + '(* -O --LOG-FILE -o --log-file)'{-o+,--log-file=}'[copy input to file]:file:_files' \ + '(* -o --log-file -O --LOG-FILE)'{-O+,--LOG-FILE=}'[copy input to file, overwriting if necessary]:file:_files' \ + '(-p --pattern)'{-p+,--pattern=}'[start at specified pattern]:pattern' \ + \*{-P+,--prompt=}'[specify prompt format]:prompt:->prompts' \ + '(-Q --QUIET --SILENT -q --quiet --silent)'{-q,--quiet,--silent}'[never use bell]' \ + '(-q --quiet --silent -Q --QUIET --SILENT)'{-Q,--QUIET,--SILENT}'[limit use of bell]' \ + '(-r -R --raw-control-chars --RAW-CONTROL-CHARS)'{-r,--raw-control-chars}'[display raw control characters]' \ + '(-r -R --raw-control-chars --RAW-CONTROL-CHARS)'{-R,--RAW-CONTROL-CHARS}'[display control chars; keep track of screen effects]' \ + '(-s --squeeze-blank-lines)'{-s,--squeeze-blank-lines}'[squeeze consecutive blank lines down to one]' \ + '(-S --chop-long-lines)'{-S,--chop-long-lines}'[truncate long lines instead of folding]' \ + '(-t --tag)'{-t+,--tag=}'[edit file containing tag]:tag:->tags' \ + '(-T --tag-file)'{-T+,--tag-file=}'[specify tags file]:tags file:_files' \ + '(-u --underline-special)'{-u,--underline-special}'[send backspaces and carriage returns to the terminal]' \ + '(-U --UNDERLINE-SPECIAL)'{-U,--UNDERLINE-SPECIAL}'[treat backspaces, tabs and carriage returns as control characters]' \ + '(* -)'{-V,--version}'[display version information]' \ + '(-W --HILITE-UNREAD -w --hilite-unread)'{-w,--hilite-unread}'[highlight first unread line after forward page]' \ + '(-w --hilite-unread -W --HILITE-UNREAD)'{-W,--HILITE-UNREAD}'[highlight first unread line after forward movement]' \ + '(-x --tabs)'{-x+,--tabs=}'[set tab stops]:tab stops' \ + '(-X --no-init)'{-X,--no-init}'[disable use of terminal init string]' \ + '--no-keypad[disable use of keypad terminal init string]' \ + '(-y --max-forw-scroll)'{-y,--max-forw-scroll}'[specify forward scroll limit]' \ + '(-z --window)'{-z+,--window=}'[specify scrolling window size]:lines' \ + '(-\" --quotes)'{-\"+,--quotes=}'[change quoting character]:quoting characters' \ + '(-~ --tilde)'{-~,--tilde}"[don't display tildes after end of file]" \ + '(-\# --shift)'{-\#+,--shift=}"[specify amount to move when scrolling horizontally]:number" \ + "$files[@]" && ret=0 + + +if [[ -n "$state" ]]; then + case $state in + prompt) + if compset -P \?; then + _message -e prompt + else + _describe 'prompt' '( + s:short\ prompt + m:medium\ prompt + M:long\ prompt + h:help\ screen\ prompt + \=:\=\ command\ prompt + w:waiting\ prompt + )' && ret=0 + fi + ;; + tags) + if (( $+LESSGLOBALTAGS )); then + _global_tags + else + _message -e ctags tag + fi + ;; + esac +fi + +return ret diff --git a/Completion/Unix/Command/_rcs b/Completion/Unix/Command/_rcs index 6f8de0213..da9cfd3b3 100644 --- a/Completion/Unix/Command/_rcs +++ b/Completion/Unix/Command/_rcs @@ -1,8 +1,20 @@ -#compdef co ci rcs rcsdiff +#compdef co ci rcs rcsdiff merge local ret=1 -if [[ -d RCS && $service != ci ]]; then +if [[ $service = merge ]]; then + _arguments \ + '-E[output unmerged changes, bracketing conflicts]' \ + '-A[output conflicts using the -A style of diff3]' \ + '-e[output unmerged changes]' \ + '*-L[specify labels for corresponding files]' \ + '-p[send results to standard output]' \ + '-q[do not warn about conflicts (quiet)]' \ + '-V[display version information]' \ + '1:file:_files' \ + '2:original file:_files' \ + '3:modified file:_files' && ret=0 +elif [[ -d RCS && $service != ci ]]; then local rep expl rep=(RCS/*,v(D:t:s/\,v//)) diff --git a/Completion/Unix/Command/_wiggle b/Completion/Unix/Command/_wiggle new file mode 100644 index 000000000..ec71fdcb9 --- /dev/null +++ b/Completion/Unix/Command/_wiggle @@ -0,0 +1,23 @@ +#compdef wiggle + +local fns='-m --merge -d --diff -x --extract' + +_arguments \ + "($fns -1 -2 -3)"{-m,--merge}'[select the merge function]' \ + "($fns -3 3)"{-d,--diff}'[display differences between files]' \ + "($fns 2 3)"{-x,--extract}'[extract one branch of a patch or merge file]' \ + '(-w --words -l --lines)'{-w,--words}'[make operations and display word based]' \ + '(-l --lines -w --words)'{-l,--lines}'[make operations and display line based]' \ + '(-p --patch)'{-p,--patch}'[treat last named file as a patch]' \ + '(-r --replace)'{-r,--replace}'[replace orginal file with merged output]' \ + '(-R --reverse -x --extract)'{-R,--reverse}'[swap the files or revert changes]' \ + '(-2 -3 -m --merge)-1[select branch]' \ + '(-1 -3 -m --merge)-2[select branch]' \ + '(-1 -2 -m --merge)-3[select branch]' \ + '(1 2 3 -)'{-h,--help}'[display help information]' \ + '(1 2 3 -)'{-V,--version}'[display version information]' \ + '(-v --verbose -q --quiet)'{-v,--verbose}'[enable verbose output]' \ + '(-q --quiet -v --verbose)'{-q,--quiet}'[enable quiet output]' \ + '1:file:_files' \ + '2:file:_files' \ + '3:file:_files' |