about summary refs log tree commit diff
path: root/Completion
diff options
context:
space:
mode:
Diffstat (limited to 'Completion')
-rw-r--r--Completion/Unix/Command/.distfiles2
-rw-r--r--Completion/Unix/Command/_elinks42
2 files changed, 43 insertions, 1 deletions
diff --git a/Completion/Unix/Command/.distfiles b/Completion/Unix/Command/.distfiles
index 06296ec07..f63d8d3d4 100644
--- a/Completion/Unix/Command/.distfiles
+++ b/Completion/Unix/Command/.distfiles
@@ -17,6 +17,6 @@ _diff         _gs           _make         _psutils      _tin	_apm  _mail
 _last         _loadkeys     _ruby         _sysctl       _links        _samba
 _user_admin   _rsync        _arping	  _spamassassin _mtools       _ifconfig
 _fsh          _chkconfig    _cdcd         _irssi        _mysqldiff    _sccs
-_netcat       _larch        _texinfo	_figlet
+_netcat       _larch        _texinfo	  _figlet       _elinks
 _global       _global_tags  _ant          _lsof         _mt           _xsltproc
 '
diff --git a/Completion/Unix/Command/_elinks b/Completion/Unix/Command/_elinks
new file mode 100644
index 000000000..fd10d7c39
--- /dev/null
+++ b/Completion/Unix/Command/_elinks
@@ -0,0 +1,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