(AndOr OP_AND_IF (FunctionDef _udevadm [] (List (= scope= flags=0 words=[{[LIT_CHARS cur]}, {[LIT_CHARS prev]}, {[LIT_CHARS words]}, {[LIT_CHARS cword]}, {[LIT_CHARS split]}] bindings=[]) (AndOr OP_OR_IF (Com {[LIT_CHARS _init_completion]} {[LIT_CHARS -s]} ) (Com {[LIT_CHARS return]} ) ) (= scope= flags=0 words=[{[LIT_CHARS i]}, {[LIT_CHARS udevcmd]}] bindings=[]) (ForExpr {A2 AS_OP_EQUAL {A Atom NODE_ARITH_WORD {[VarSub i]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}} {A2 AS_OP_LESS {A Atom NODE_ARITH_WORD {[VarSub i]}} {A Atom NODE_ARITH_WORD {[VarSub cword]}}} {A1 AS_OP_DPLUS {A Atom NODE_ARITH_WORD {[VarSub i]}} } (If (DBracket {B2 BINARY_STRING_NOT_EQUAL {[VarSub words bracket_op=(Index {A Atom NODE_ARITH_WORD {[VarSub i]}})]} {[LIT_CHARS -] [LIT_OTHER "*"]}}) (List (= scope= flags=0 words=[] bindings=[('udevcmd', {[VarSub words bracket_op=(Index {A Atom NODE_ARITH_WORD {[VarSub i]}})]})]) (Com {[LIT_CHARS break]} ) ) ) ) (Case to_match={[VarSub prev]}, pat_word_list=[[{[LIT_CHARS --help]}, {[LIT_CHARS --version]}, {[LIT_CHARS --property]}, {[LIT_CHARS --children-max]}, {[LIT_CHARS --timeout]}, {[LIT_CHARS --seq-start]}, {[LIT_CHARS --seq-end]}, {[LIT_CHARS --attr-match]}, {[LIT_CHARS --attr-nomatch]}, {[LIT_CHARS --parent-match]}, {[LIT_CHARS --property-match]}, {[LIT_CHARS --tag-match]}, {[LIT_CHARS --subsystem-match]}, {[LIT_CHARS --subsystem-nomatch]}, {[LIT_CHARS --sysname-match]}, {[LIT_CHARS --path]}], [{[LIT_CHARS --log-priority]}], [{[LIT_CHARS --query]}], [{[LIT_CHARS --name]}], [{[LIT_CHARS --device-id-of-file]}, {[LIT_CHARS --exit-if-exists]}], [{[LIT_CHARS --action]}], [{[LIT_CHARS --type]}]] (Com {[LIT_CHARS return]} ) (List (= scope= flags=0 words=[] bindings=[('COMPREPLY', {[Array {[ComSub (Com {[LIT_CHARS compgen]} {[LIT_CHARS -W]} {[SQ ]} {[LIT_CHARS --]} {[DQ [VarSub cur]]})]}]})]) (Com {[LIT_CHARS return]} ) ) (List (= scope= flags=0 words=[] bindings=[('COMPREPLY', {[Array {[ComSub (Com {[LIT_CHARS compgen]} {[LIT_CHARS -W]} {[SQ ]} {[LIT_CHARS --]} {[DQ [VarSub cur]]})]}]})]) (Com {[LIT_CHARS return]} ) ) (List (= scope= flags=0 words=[] bindings=[('cur', {[VarSub cur test_op=VS_TEST_COLON_EQUALS {[LIT_SLASH /] [LIT_CHARS dev] [LIT_SLASH /]}]})]) (Com {[LIT_CHARS _filedir]} ) (Com {[LIT_CHARS return]} ) ) (List (Com {[LIT_CHARS _filedir]} ) (Com {[LIT_CHARS return]} ) ) (List (= scope= flags=0 words=[] bindings=[('COMPREPLY', {[Array {[ComSub (Com {[LIT_CHARS compgen]} {[LIT_CHARS -W]} {[SQ ]} {[LIT_CHARS --]} {[DQ [VarSub cur]]})]}]})]) (Com {[LIT_CHARS return]} ) ) (List (= scope= flags=0 words=[] bindings=[('COMPREPLY', {[Array {[ComSub (Com {[LIT_CHARS compgen]} {[LIT_CHARS -W]} {[SQ ]} {[LIT_CHARS --]} {[DQ [VarSub cur]]})]}]})]) (Com {[LIT_CHARS return]} ) ) ) (AndOr OP_AND_IF (Com {[VarSub split]} ) (Com {[LIT_CHARS return]} ) ) (If (DBracket {B1 UNARY_STRING_z {[VarSub udevcmd]}}) (List (Case to_match={[VarSub cur]}, pat_word_list=[[{[LIT_CHARS -] [LIT_OTHER "*"]}], [{[LIT_OTHER "*"]}]] (= scope= flags=0 words=[] bindings=[('COMPREPLY', {[Array {[ComSub (Com {[LIT_CHARS compgen]} {[LIT_CHARS -W]} {[SQ ]} {[LIT_CHARS --]} {[DQ [VarSub cur]]})]}]})]) (= scope= flags=0 words=[] bindings=[('COMPREPLY', {[Array {[ComSub (Com {[LIT_CHARS compgen]} {[LIT_CHARS -W]} {[DQ [ComSub (Pipeline (Com redirects=[(FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2)]{[DQ [VarSub 1]]} {[LIT_CHARS --help]}) (Com {[LIT_CHARS awk]} {[SQ ]}) )]]} {[LIT_CHARS --]} {[DQ [VarSub cur]]})]}]})]) ) (Com {[LIT_CHARS return]} ) ) ) (If (DBracket {B2 BINARY_STRING_EQUAL {[VarSub cur]} {[LIT_CHARS -] [LIT_OTHER "*"]}}) (List (= scope= flags=0 words=[] bindings=[('COMPREPLY', {[Array {[ComSub (Com {[LIT_CHARS compgen]} {[LIT_CHARS -W]} {[SQ /dev/null | _parse_help - )">]} {[LIT_CHARS --]} {[DQ [VarSub cur]]})]}]})]) (AndOr OP_AND_IF (DBracket {B2 BINARY_STRING_EQUAL {[VarSub COMPREPLY]} {[LIT_OTHER "*"] [LIT_DBRACKET_LIKE "="]}}) (Com {[LIT_CHARS compopt]} {[LIT_CHARS -o]} {[LIT_CHARS nospace]} ) ) ) ) ) ) (Com {[LIT_CHARS complete]} {[LIT_CHARS -F]} {[LIT_CHARS _udevadm]} {[LIT_CHARS udevadm]} ) )