about summary refs log tree commit diff
path: root/Completion/Linux/Command/_analyseplugin
blob: e7f90ba7bb71d0dac2b79d1d5e5ab01868feee2e (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
#compdef analyseplugin

local expl context state line nopts ret=1
typeset -A opt_args

_arguments \
    '-l[Gives a brief listing (one line per plugin)]' \
    '(-)1:plugin file:->pfile' \
    '(-)2::plugin label:->plabel' && ret=0

case "$state" in
    pfile)
	_wanted plugin-files expl 'plugin file' compadd \
	    ${~${^${${(f)"$(_call_program ladspa-plugins listplugins 2> /dev/null)"}:#[[:space:]]*}/%:/(:t:r)}} \
	    && return
	;;
    plabel)
	typeset -a plabel
	nopts=(${words:#-*})
	plabel=(${${(f)"$($nopts[1] -l $nopts[2] 2> /dev/null)"}/[[:space:]]##/:})
	_describe -t plugin-label 'plugin label' plabel && return
	;;
esac

return ret