# compdef primus
# ------------------------------------------------------------------------------
# Description
# -----------
#
#  Completion script for primus (https://github.com/amonakov/primus).
#
# ------------------------------------------------------------------------------
# Authors
# -------
#
#  * Christophe-Marie Duquesne <chm.duquesne@gmail.com>
#
# ------------------------------------------------------------------------------


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

args=(
    '--version[output version information]'
    '(-h --help)'{-h,--help}'[show help]'
    '(-c --vgl-compress)'{-c,--vgl-compress}'[image transport method]:method:(proxy jpeg rgb xb yuv)'
    '--failsafe[run a program even if the nvidia card is unavailable]'
    '--no-failsafe[do not run a program if the nvidia card is unavailable]'
    '--vgl-options[options to be passed to vglrun (example: +tr)]'
    '(-q --quiet --silent)'{-q,--quiet,--silent}'[suppress all logging messages]'
    '(-v --verbose)'{-v,--verbose}'[increase the verbosity level of log messages]'
    '--debug[set the verbosity level to the maximum]'
    '(-d --display)'{-d,--display}'[the X display number to use]'
    '(-C --config)'{-C,--config}'[retrieve settings for Bumblebee from FILE]:file:_files'
    '(-l --ldpath)'{-l,--ldpath}'[PATH the libraries like libGL.so are searched in]:file:_files -/'
    '(-s --socket)'{-s,--socket}'[use FILE for communication with the daemon]:file:_files'
)

_arguments $args
#  -c, --vgl-compress METHOD  image compression or transport to use with
#                               VirtualGL. Valid values for METHOD are proxy,
#                               jpeg, rgb, xv and yuv. Changing this setting
#                               may affect performance, CPU usage and image
#                               quality
#  -d, --display DISPLAY   the X display number to use

