summaryrefslogtreecommitdiff
path: root/Completion/Unix/Command/_links
diff options
context:
space:
mode:
Diffstat (limited to 'Completion/Unix/Command/_links')
-rw-r--r--Completion/Unix/Command/_links16
1 files changed, 11 insertions, 5 deletions
diff --git a/Completion/Unix/Command/_links b/Completion/Unix/Command/_links
index 7d8a83a23..47869ad6a 100644
--- a/Completion/Unix/Command/_links
+++ b/Completion/Unix/Command/_links
@@ -8,7 +8,7 @@ _arguments -C \
'(-help)-assume-codepage[use the given codepage when the webpage did not specify its]:codepage:' \
'(-help)-async-dns[asynchronous DNS resolver]:bool:((0\:on 1\:off))' \
'(-help)-download-dir[default download directory]:_files -/' \
- '(-help)-driver[graphics driver to use]:driver:(x svgalib fb pmshell atheos)' \
+ '(-help)-driver[graphics driver to use]:graphics driver:->graphics_drivers' \
'(-help)-dump[dump the page as pure text]' \
'(-help)-format-cache-size[number of formatted document pages cached]:pages:' \
'(-help)-ftp-proxy[host and port number of the FTP proxy, or blank]:hostport:_hosts' \
@@ -26,9 +26,15 @@ _arguments -C \
'(-help)-unrestartable-receive-timeout[timeout on non restartable connections]:secs:' \
'(-help)-version[prints the links version number and exit]' \
':url:->html' && ret=0
-
-if [[ "$state" = html ]]; then
- _alternative 'files:file:_files -g "*.x#html"' 'urls:url:_urls' && ret=0
-fi
+
+case $state in
+ html)
+ _alternative 'files:file:_files -g "*.x#html"' 'urls:url:_urls' && ret=0
+ ;;
+ graphics_drivers)
+ vals=(${=${${${(f)"$(_call_program links-graphics-drivers links -driver help 2>&1)"}[-1]}//','/''}} )
+ _describe -t links-graphics-drivers 'graphics driver' vals && ret=0
+ ;;
+esac
return ret