diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | Completion/Unix/Command/_w3m | 119 |
2 files changed, 93 insertions, 32 deletions
diff --git a/ChangeLog b/ChangeLog index 63c17687f..03fafd9b1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2005-06-28 Doug Kearns <djkea2@gus.gscit.monash.edu.au> + + * 21392: Completion/Unix/Command/_w3m: update w3m completion for + version 0.5.x; add completion for URLs from the bookmarks file, + options, charsets, and proxy authentication + 2005-06-28 Peter Stephenson <pws@csr.com> * 21391: Src/jobs.c: Restrict passing of signals from foreground diff --git a/Completion/Unix/Command/_w3m b/Completion/Unix/Command/_w3m index c8e5ef19d..0ea453841 100644 --- a/Completion/Unix/Command/_w3m +++ b/Completion/Unix/Command/_w3m @@ -1,51 +1,106 @@ #compdef w3m +# w3m version w3m/0.5.1 + local curcontext="$curcontext" state line expl ret=1 typeset -A opt_args _arguments -C \ - '-t[tabwidth]:tabwidth:' \ + '-t[set tab width]:tab width:' \ '-r[ignore backspace effect]' \ - '-l[preserved lines]:number of lines:' \ - '-B[load bookmark]' \ - '-bookmark:bookmark file:_files' \ - '-T[content-type]:content type' \ + '-l[specify number of preserved lines]:number of lines (default 10000):' \ + '-I[document charset]:charset:->charset' \ + '-O[display/output charset]:charset:->charset' \ + '( -s -j)-e[EUC-JP]' \ + '(-e -j)-s[Shift_JIS]' \ + '(-e -s )-j[JIS]' \ + '(-v *)-B[load bookmark]' \ + '-bookmark[specify bookmark file]:bookmark file:_files' \ + '-T[specify content-type]:content type:_mime_types' \ '-m[internet message mode]' \ - '-v[visual startup mode]' \ + '(-B *)-v[visual startup mode]' \ '-M[monochrome display]' \ + '-N[open URL of command line on each new tab]' \ '-F[automatically render frame]' \ - '(-dump_source -dump_head)-dump' \ - '-cols:column width' \ - '(-dump -dump_head)-dump_source' \ - '(-dump -dump_source)-dump_head' \ + '-cols[specify column width (used with -dump)]:column width' \ + '-ppc[specify the number of pixels per character (4.0...32.0)]:number of pixels (4.0...32.0):' \ + '-ppl[specify the number of pixels per line (4.0...64.0)]:number of pixels (4.0...64.0):' \ + '( -dump_head -dump_source -dump_both -dump_extra)-dump[dump formatted page into stdout]' \ + '(-dump -dump_source -dump_both -dump_extra)-dump_head[dump HEAD and source into stdout]' \ + '(-dump -dump_head -dump_both -dump_extra)-dump_source[dump page source into stdout]' \ + '(-dump -dump_head -dump_source -dump_extra)-dump_both[dump HEAD and source into stdout]' \ + '(-dump -dump_head -dump_source -dump_both )-dump_extra[dump HEAD, source, and extra information into stdout]' \ + '-post[use POST method with file content]:POST data file:_files' \ + '-header[insert string as a header]:header:' \ + '+-[goto specified line]:line number:_guard "[0-9]#" "line number"' \ '-num[show line number]' \ - '-no-proxy' \ - '-no-mouse' \ - '(-no-cookie)-cookie' \ - '(-cookie)-no-cookie' \ - '-no-graph' \ + "-no-proxy[don't use proxy]" \ + '(-6)-4[IPv4 only (-o dns_order=4)]' \ + '(-4)-6[IPv6 only (-o dns_order=6)]' \ + "-no-mouse[don't use mouse]" \ + '(-no-cookie)-cookie[use cookie]' \ + "(-cookie)-no-cookie[don't use cookie]" \ + '-pauth[proxy authentication]:user\:pass:->pauth' \ + '(-no-graph)-graph[use graphic character]' \ + "(-graph)-no-graph[don't use graphic character]" \ '-S[squeeze multiple blank lines]' \ '-W[toggle wrap search mode]' \ - '-X[do not use termcap init/deinit]' \ - '-o[option]:option-value' \ - '-config:config file:_files' \ + "-X[don't use termcap init/deinit]" \ + '-title=[set buffer name to terminal title string]:terminal:_terminals' \ + '*-o[assign value to config option]:option=value:->option' \ + '(- *)-show-option[print all config options]' \ + '-config[specify config file]:configuration file:_files' \ + '(- *)-help[print usage information]' \ + '(- *)-version[print version information]' \ '-debug' \ - ':URL:->html' \ - '+:goto line' && ret=0 - -if [[ -n $state ]]; then - local w3mhistory + '(-B -v)*:URL:->html' && ret=0 - _tags files w3mhistory urls - while _tags; do - _requested files expl 'file' _files -g "*.x#html(-.)" && ret=0 - _requested urls expl 'URL' _urls && ret=0 - if [[ -s ~/.w3m/history ]] && _requested w3mhistory; then +case "$state" in + charset) + local -a charsets + charsets=( + US-ASCII ISO-8859-1 ISO-8859-2 ISO-8859-3 ISO-8859-4 ISO-8859-5 + ISO-8859-6 ISO-8859-7 ISO-8859-8 ISO-8859-9 ISO-8859-10 ISO-8859-11 + ISO-8859-13 ISO-8859-14 ISO-8859-15 ISO-8859-16 EUC-JP Shift_JIS + Shift_JISX0213 ISO-2022-JP ISO-2022-JP-2 ISO-2022-JP-3 EUC-CN GBK GB18030 + HZ-GB-2312 ISO-2022-CN EUC-TW Big5 HKSCS EUC-KR UHC Johab ISO-2022-KR + TIS-620 TCVN-5712 VISCII VPS KOI8-R KOI8-U NeXTSTEP CP437 CP737 CP775 + CP850 CP852 CP855 CP856 CP857 CP860 CP861 CP862 CP863 CP864 CP865 CP866 + CP869 CP874 CP1006 CP1250 CP1251 CP1252 CP1253 CP1254 CP1255 CP1256 + CP1257 CP1258 UTF-8 UTF-7 + ) + _wanted charsets expl 'character set' compadd -a charsets && ret=0 + ;; + html) + local -a bookmarks w3mhistory + if [[ -s ~/.w3m/bookmark.html ]]; then + bookmarks=( ${${(M)${(f)"$(<~/.w3m/bookmark.html)"}:#<li>*}/(#b)<li><a href=\"(*)\">*/$match[1]} ) + fi + if [[ -s ~/.w3m/history ]]; then w3mhistory=( ${(f)"$(<~/.w3m/history)"} ) - _all_labels w3mhistory expl 'URL from history' compadd -a w3mhistory fi - (( ret )) || break - done -fi + _alternative \ + 'files:file:_files -g "*.x#html(-.)"' \ + 'urls:URL:_urls' \ + 'bookmarks:bookmarks:compadd -a bookmarks' \ + 'history:history:compadd -a w3mhistory' && ret=0 + ;; + option) + local -a options + options=( ${${(M)${(f)"$(_call_program options $words[1] -show-option 2>/dev/null)"}:# -o *}/(#b) -o (*)=[^ ]#[[:blank:]]##(*)/$match[1]:${match[2]:l}} ) + if compset -P '*='; then + _message -e values 'value' + else + _describe -t options 'option' options -S '=' && ret=0 + fi + ;; + pauth) + if compset -P '*:'; then + _message -e passwords 'password' + else + _users -S ':' && ret=0 + fi + ;; +esac return ret |