(List (FunctionDef _cryptsetup_name [] (= scope= flags=0 words=[] bindings=[('COMPREPLY', {[Array {[ComSub (Com {[LIT_CHARS compgen]} {[LIT_CHARS -X]} {[LIT_CHARS control]} {[LIT_CHARS -W]} {[SQ ]} {[LIT_CHARS --]} {[DQ [VarSub cur]]})]}]})]) ) (FunctionDef _cryptsetup_device [] (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]} ) ) ) (AndOr OP_AND_IF (FunctionDef _cryptsetup [] (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]} ) ) (Case to_match={[VarSub prev]}, pat_word_list=[[{[LIT_CHARS --key-file]}, {[LIT_CHARS --master-key-file]}, {[LIT_CHARS --header-backup-file]}, {[LIT_CHARS -d]}]] (List (Com {[LIT_CHARS _filedir]} ) (Com {[LIT_CHARS return]} {[LIT_CHARS 0]} ) ) ) (AndOr OP_AND_IF (Com {[VarSub split]} ) (Com {[LIT_CHARS return]} ) ) (= scope= flags=0 words=[{[LIT_CHARS arg]}] bindings=[]) (Com {[LIT_CHARS _get_first_arg]} ) (If (DBracket {B1 UNARY_STRING_z {[VarSub arg]}}) (If (DBracket {B2 BINARY_STRING_EQUAL {[DQ [VarSub cur]]} {[LIT_CHARS -] [LIT_OTHER "*"]}}) (List (= scope= flags=0 words=[] bindings=[('COMPREPLY', {[Array {[ComSub (Com {[LIT_CHARS compgen]} {[LIT_CHARS -W]} {[SQ ]} {[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]} ) ) ) (ElseTrue) (= scope= flags=0 words=[] bindings=[('COMPREPLY', {[Array {[ComSub (Com {[LIT_CHARS compgen]} {[LIT_CHARS -W]} {[SQ ]} {[LIT_CHARS --]} {[DQ [VarSub cur]]})]}]})]) ) (ElseTrue) (List (= scope= flags=0 words=[{[LIT_CHARS args]}] bindings=[]) (Com {[LIT_CHARS _count_args]} ) (Case to_match={[VarSub arg]}, pat_word_list=[[{[LIT_CHARS create]}], [{[LIT_CHARS remove]}, {[LIT_CHARS status]}, {[LIT_CHARS resize]}, {[LIT_CHARS luksClose]}, {[LIT_CHARS luksSuspend]}, {[LIT_CHARS luksResume]}], [{[LIT_CHARS luksFormat]}, {[LIT_CHARS luksAddKey]}, {[LIT_CHARS luksRemoveKey]}], [{[LIT_CHARS luksOpen]}], [{[LIT_CHARS luksKillSlot]}, {[LIT_CHARS luksDelKey]}, {[LIT_CHARS luksUUID]}, {[LIT_CHARS isLuks]}, {[LIT_CHARS luksDump]}], [{[LIT_CHARS luksHeaderBackup]}, {[LIT_CHARS luksHeaderRestore]}]] (Case to_match={[VarSub args]}, pat_word_list=[[{[LIT_CHARS 2]}], [{[LIT_CHARS 3]}]] (Com {[LIT_CHARS _cryptsetup_name]} ) (Com {[LIT_CHARS _cryptsetup_device]} ) ) (Case to_match={[VarSub args]}, pat_word_list=[[{[LIT_CHARS 2]}]] (Com {[LIT_CHARS _cryptsetup_name]} ) ) (Case to_match={[VarSub args]}, pat_word_list=[[{[LIT_CHARS 2]}], [{[LIT_CHARS 3]}]] (Com {[LIT_CHARS _cryptsetup_device]} ) (Com {[LIT_CHARS _filedir]} ) ) (Case to_match={[VarSub args]}, pat_word_list=[[{[LIT_CHARS 2]}], [{[LIT_CHARS 3]}]] (Com {[LIT_CHARS _cryptsetup_device]} ) (Com {[LIT_CHARS _cryptsetup_name]} ) ) (Case to_match={[VarSub args]}, pat_word_list=[[{[LIT_CHARS 2]}]] (Com {[LIT_CHARS _cryptsetup_device]} ) ) (Case to_match={[VarSub args]}, pat_word_list=[[{[LIT_CHARS 2]}], [{[LIT_CHARS 3]}]] (Com {[LIT_CHARS _cryptsetup_device]} ) (= scope= flags=0 words=[] bindings=[('COMPREPLY', {[Array {[SQ ]}]})]) ) ) ) ) (Com {[LIT_CHARS return]} {[LIT_CHARS 0]} ) ) ) (Com {[LIT_CHARS complete]} {[LIT_CHARS -F]} {[LIT_CHARS _cryptsetup]} {[LIT_CHARS cryptsetup]} ) ) )