From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 2930 invoked from network); 3 Jan 2001 16:32:26 -0000 Received: from sunsite.dk (HELO sunsite.auc.dk) (130.225.51.30) by ns1.primenet.com.au with SMTP; 3 Jan 2001 16:32:26 -0000 Received: (qmail 19439 invoked by alias); 3 Jan 2001 16:32:20 -0000 Mailing-List: contact zsh-workers-help@sunsite.auc.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 13321 Received: (qmail 19432 invoked from network); 3 Jan 2001 16:32:19 -0000 Date: Wed, 3 Jan 2001 17:32:15 +0100 From: Ulrik Haugen To: zsh-workers@sunsite.auc.dk Cc: Ulrik Haugen Subject: new-style completition for gnu grep and ls Message-ID: <20010103173215.A3470@l82.ryd.student.liu.se> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="T4sUOijqQbZv57TR" Content-Disposition: inline User-Agent: Mutt/1.2.5i X-Mailer: Mutt http://www.mutt.org/ X-Editor: Vim http://www.vim.org/ --T4sUOijqQbZv57TR Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hi! I've written completition functions for the gnu versions of grep and ls. (I use zsh 3.1.9-dev-6 and I couldn't find completition for them.) I'd be happy if you include them in future releases. -- Ulrik Haugen "It's a poor laser blaster that doesn't work both ways" -- Salvor Hardin through Isaac Asimov --T4sUOijqQbZv57TR Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename=_grep #compdef grep egrep fgrep # Ulrik Haugen 2001 local efgrep="" E extended_regexp F fixed_strings case "${words[1]:t}" in (egrep|fgrep) efgrep=t; ;; esac if [[ -z $efgrep ]]; then E='(--extended-regexp -F --fixed-strings)-E[extended regexp]' extended_regexp='(-E -F --fixed-strings)--extended-regexp' F='(--fixed-strings -E --extended-regexp)-F[fixed strings]' fixed_strings='(-F -E --extended-regexp)--fixed-strings' fi _arguments -C -s \ '(-e --regexp -f --file)1:pattern:' \ {'(--regexp -f --file 1)-e+[regexp]','(-e -f --file 1)--regexp='}':regexp:' \ {'(--file -e --regexp 1)-f+[file]','(-f -e --regexp 1)--file='}':pattern file:_files' \ \ '*:files:_files' \ \ {'(--after-context)-A+[after context]','(-A)--after-context='}':after context:(1)' \ '(--text --binary-files)-a[text]' '(-a --binary-files)--text' \ {'(--before-context)-B+[before context]','(-B)--before-context='}':before context:(1)' \ {'(--context)-C+[context]','(-C)--context='}':context:(1)' \ '(--byte-offset)-b[byte offset]' '(-b)--byte-offset' \ '(-a --text -I)--binary-files:binary files:(binary without-match text)' \ '(--count)-c[count]' '(-c)--count' \ {'(--directories -r --recursive)-d+[directories]','(-d -r --recursive)--directories='}':directories:(read skip recurse grep)' \ \ ${E} ${extended_regexp} ${F} ${fixed_strings} \ \ '(--basic-regexp)-G[basic regexp]' '(-G)--basic-regexp' \ '(--with-filename)-H[with filename]' '(-H)--with-filename' \ '(--no-filename)-h[no filename]' '(-h)--no-filename' \ '--help' \ '(--binary-files)-I[ignore binary]' \ '(--ignore-case)-i[ignore case]' '(-i)--ignore-case' \ '(--files-without-match)-L[files without match]' '(-L)--files-without-match' \ '(--file-with-matches)-l[files with matches]' '(-l)--files-with-matches' \ '--mmap' \ '(--line-number)-n[line number]' '(-n)--line-number' \ '(--quiet --silent)-q[quiet]' '(-q --quiet)--silent' '(-q --silent)--quiet' \ '(--recursive -d --directories)-r[recursive]' '(-r -d --directories)--recursive' \ '(--no-mesages)-s[no messages]' '(-s)--no-messages' \ '(--version)-V[version]' '(-V)--version' \ '(--invert-match)-v[invert match]' '(-v)--invert-match' \ '(--word-regexp)-w[word regexp]' '(-w)--word-regexp' \ '(--line-regexp)-x[line regexp]' '(-x)--line-regexp' \ '(--null)-Z[null]' '(-Z)--null' --T4sUOijqQbZv57TR Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename=_ls #compdef ls # Ulrik Haugen 2001 _arguments -C -s \ '*:files:_files' \ \ '(--all -A --almost-all)-a[all]' '(-a -A --almost-all)--all' \ '(--almost-all -a --all)-A[almost all]' '(-A -a --all)--almost-all' \ '(--ignore-backups)-B[ignore backups]' '(-B)--ignore-backups' \ '(--directory)-d[directory]' '(-d)--directory' \ {'(--ignore)-I+[ignore]','(-I)--ignore='}':ignore:' \ '(--dereference)-L[dereference]' '(-L)--dereference' \ '(--recursive)-R[recursive]' '(-R)--recursive' \ \ '(--no-group)-G[no group]' '(-G)--no-group' \ '(--human-readable -H --si)-h[human-readable]' '(-h -H --si)--human-readable' \ '(--si -h --human-readable)-H[si]' '(-H -h --human-readable)--si' \ '(--inode)-i[inode]' '(-i)--inode' \ \ '(--format -o -1 -C -m -x)-l[long]' \ '(--format -l --no-group -1 -C -m -x)-o[no group, long]' \ '(--format -l -o -C -m -x)-1[single column]' \ '(--format -l -o -1 -m -x)-C[sort vertically]' \ '(--format -l -o -1 -C -x)-m[comma separated]' \ '(--format -l -o -1 -C -m)-x[sort horizontally]' \ '(-l -o -1 -C -m -x)--format=:format:(verbose long commas horizontal across vertical single-column)' \ \ '(--size -f)-s[size]' '(-s -f)--size' \ \ '(--time -u)-c[status change time]' \ '(--time -c)-u[access time]' \ '(-c -u)--time=:time:(ctime status use atime access)' \ \ '(-a --all -U -l --format -s --size -t --sort)-f[no sort, all]' \ '(--reverse)-r[reverse]' '(-r)--reverse' \ \ '(--sort -t -U -v -X)-S[sort by size]' \ '(--sort -S -U -v -X)-t[sort by time]' \ '(--sort -S -t -v -X)-U[no sort]' \ '(--sort -S -t -U -X)-v[sort by version]' \ '(--sort -S -t -U -v)-X[sort by extention]' \ '(-S -t -U -v -X)--sort=:sort:(size time none version extention)' \ \ '--color=::color:(never always auto)' \ \ '(--classify --indicator-style -p --file-type)-F[classify]' \ '(-F --indicator-style -p --file-type)--classify' \ '(--file-type --indicator-style -F --classify)-p[file type]' \ '(-p --indicator-style -F --classify)--file-type' \ '(-F --classify -p --file-type)--indicator-style=:indicator style:(none file-type classify)' \ \ '--full-time' \ \ '(--kilobytes --block-size)-k[kilobytes]' '(-k--blocksize)--kilobytes' \ '--block-size:blocksize:(1024)' \ \ '(--numeric-uid-gid)-n[numeric uid, gid]' \ {'(--tabsize)-T+[tabsize]','(-T)--tabsize='}':tabsize:(8)' \ {'(--width)-w+[width]','(-w)--width='}':width:(80)' \ \ '(--quoting-style --escape -N --literal -Q --quote-name)-b[escape]' \ '(--quoting-style -b -N --literal -Q --quote-name)--escape' \ '(--quoting-style -b --escape --literal -Q --quote-name)-N[literal]' \ '(--quoting-style -b --escape -N -Q --quote-name)--literal' \ '(--quoting-style -b --escape -N --literal --quote-name)-Q[quote name]' \ '(--quoting-style -b --escape -N --literal -Q)--quote-name' \ '(-b --escape -N --literal -Q --quote-name)--quoting-style=:quoting style:(literal shell shell-always c escape clocale locale)' \ \ '(--hide-control-chars --show-control-chars)-q[hide control chars]' \ '(-q --show-control-chars)--hide-control-chars' \ '(-q --hide-control-chars)--show-control-chars' --T4sUOijqQbZv57TR--