aboutsummaryrefslogtreecommitdiff
path: root/Completion/Unix/Command/_elinks
blob: fd10d7c3950d961989c7c47c3e3a7fb24e46ffac (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#compdef elinks

# ELinks 0.4.1 - Text WWW browser

local curcontext="$curcontext" state line
typeset -A opt_args

_arguments -C -A '-*' \
  '*-anonymous[Restrict to anonymous mode]:boolean:(0 1)' \
  '*-auto-submit[Autosubmit first form]:boolean:(0 1)' \
  '*-base-session[Clone session with given ID]:ID number:' \
  '*-dump[Write formatted version of given URL to stdout]:boolean:(0 1)' \
  '*-dump-charset[Codepage to use with -dump]:codepage:' \
  '*-dump-width[Width of document formatted with -dump]:width:' \
  '*-eval[Evaluate given configuration option]:configuration option:' \
  '(- 1)-'{\?,h,help}'[Print usage help and exit]' \
  '(- 1)-long-help[Print detailed usage help and exit]' \
  '(- 1)-config-help[Print help for configuration options]' \
  '(- 1)-lookup[Look up specified host]:host:_hosts' \
  '*-no-connect[Run as separate instance]:boolean:(0 1)' \
  '*-no-home[Don'"'"'t use files in ~/.elinks]:boolean:(0 1)' \
  '*-session-ring[Connect to session ring with given ID]:ID number:' \
  '*-source[Write the source of given URL to stdout]:boolean:(0 1)' \
  '(1)*-stdin[Read document from stdin]:boolean:(0 1)' \
  '*-touch-files[Touch files in ~/.elinks when running with -no-connect/-session-ring]:boolean:(0 1)' \
  '(- 1)-version[Print version information and exit]' \
  '1:url:->url' && return

if [[ "$state" = url ]]; then
  local elinks_bookmarks

  if [[ -s ~/.elinks/bookmarks ]]; then
    elinks_bookmarks=( $(cut -f2 ~/.elinks/bookmarks) )
  fi

  _alternative \
    'files:file:_files' \
    'bookmarks:bookmark:compadd -a elinks_bookmarks' \
    'urls:url:_urls' && return
fi

return 1