From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19492 invoked from network); 3 May 2000 11:36:28 -0000 Received: from sunsite.auc.dk (130.225.51.30) by ns1.primenet.com.au with SMTP; 3 May 2000 11:36:28 -0000 Received: (qmail 821 invoked by alias); 3 May 2000 11:36:21 -0000 Mailing-List: contact zsh-workers-help@sunsite.auc.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 11109 Received: (qmail 717 invoked from network); 3 May 2000 11:36:14 -0000 To: zsh-workers@sunsite.auc.dk Subject: PATCH: _xauth MIME-Version: 1.0 (generated by SEMI 1.13.7 - "Awazu") Content-Type: text/plain; charset=US-ASCII From: Tanaka Akira Date: 03 May 2000 20:37:23 +0900 Message-ID: User-Agent: T-gnus/6.14.1 (based on Gnus v5.8.3) (revision 16) SEMI/1.13.7 (Awazu) FLIM/1.13.2 (Kasanui) Emacs/20.6 (i686-pc-linux-gnu) MULE/4.0 (HANANOEN) This is a completion function for xauth. --- /dev/null Wed May 6 05:32:27 1998 +++ Completion/X/_xauth Wed May 3 20:14:49 2000 @@ -0,0 +1,115 @@ +#compdef xauth + +local state context line expl +typeset -A opt_args +local tmp cmd + +_arguments -s \ + '-f[specify authfile]:authfile:_files' \ + '(-q)-v[verbose mode]' \ + '(-v)-q[quiet mode]' \ + '-b[break locks]' \ + '-i[ignore locks]' \ + '*::command:->command' + +while [[ -n "$state" ]]; do + tmp="$state" + state= + case "$tmp" in + command) + if (( CURRENT == 1 )); then + state=subcommands + else + cmd="$words[1]" + curcontext="${curcontext%:*:*}:xauth-${cmd}:" + case "$cmd" in + add) + _arguments \ + ':display name:->displayname' \ + ':protocol name:->protocolname' \ + ':hexkey:' + ;; + + generate) + if (( CURRENT == 2 )); then + state=displayname + elif (( CURRENT == 3 )); then + state=protocolname + else + case "$words[CURRENT-1]" in + timeout) _message 'timeout(seconds)';; + group) _message 'group-id';; + data) _message 'hexdata';; + *) + _wanted options expl 'xauth generate options' \ + compadd trusted untrusted timeout group data + ;; + esac + fi + ;; + + extract|nextract) + case "$CURRENT" in + 2) _wanted files expl 'filename to write auth data' _files;; + *) state=displayname;; + esac + ;; + + list|nlist) + state=displayname + ;; + + merge|nmerge) + _wanted files expl 'filename to read auth data' _files + ;; + + remove) + state=displayname + ;; + + source) + _wanted files expl 'filename to source' _files + ;; + + info|exit|quit|\?) + ;; + + help) + state=subcommands + ;; + esac + fi + ;; + + subcommands) + tmp=( + 'add:add entry' + 'generate:use server to generate entry' + 'extract:extract entries into file' + 'nextract:numerically extract entries' + 'list:list entries' + 'nlist:numerically list entries' + 'merge:merge entries from files' + 'nmerge:numerically merge entries' + 'remove:remove entries' + 'source:read commands from file' + 'info:print information about entries' + 'exit:save changes and exit program' + 'quit:abort changes and exit program' + 'help:print help' + '?:list available commands' + ) + _describe 'xauth command' tmp -- + ;; + + protocolname) + _wanted values expl 'authorization protocol' \ + compadd MIT-MAGIC-COOKIE-1 XDM-AUTHORIZATION-1 SUN-DES-1 MIT-KERBEROS-5 + ;; + + displayname) + _wanted values expl 'display name' \ + compadd - ${${(f)"$(xauth list)"}%% *} || _x_display + ;; + esac +done -- Tanaka Akira