(command.AndOr ops: [Id.Op_DAmp] children: [ (command.ShFunction name: _iscsiadm body: (BraceGroup children: [ (C {<local>} {<cur>} {<prev>} {<words>} {<cword>} {<split>}) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<_init_completion>} {<-s>}) (command.ControlFlow token:<Id.ControlFlow_Return return>) ] ) (command.Case to_match: {($ Id.VSub_DollarName '$prev')} arms: [ (case_arm pat_list: [{<-m>} {<--mode>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<compgen>} {<-W>} {(SQ <'discovery node session iface fw host'>)} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ) } ] ) } spids: [47] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [41 44 78 -1] ) (case_arm pat_list: [{<-o>} {<--op>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<compgen>} {<-W>} {(SQ <'new delete update show'>)} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ) } ] ) } spids: [87] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [81 84 116 -1] ) (case_arm pat_list: [{<-t>} {<--type>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<compgen>} {<-W>} {(SQ <'sendtargets st slp isns fw'>)} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ) } ] ) } spids: [125] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [119 122 154 -1] ) (case_arm pat_list: [{<-L>} {<-U>} {<--loginall>} {<--logoutall>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<compgen>} {<-W>} {(SQ <'all manual automatic'>)} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ) } ] ) } spids: [167] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [157 164 196 -1] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {($ Id.VSub_DollarName '$split')}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] ) (C {<local>} {<options>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_gt left: {($ Id.VSub_DollarName '$cword')} right: {<1>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Case to_match: { (braced_var_sub token: <Id.VSub_Name words> bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 2>}) ) } arms: [ (case_arm pat_list: [{<discovery>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:options) op: assign_op.Equal rhs: { (SQ <'--help --version --debug --print --interface --type \\\n'> <' --portal --login --op --name --value'> ) } spids: [252] ) ] ) ] spids: [248 249 259 -1] ) (case_arm pat_list: [{<node>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:options) op: assign_op.Equal rhs: { (SQ <'--help --version --debug --print --loginall \\\n'> < ' --logoutall--show -T --portal --interface --login \\\n' > <' --logout --rescan --stats --op --name --value'> ) } spids: [266] ) ] ) ] spids: [262 263 274 -1] ) (case_arm pat_list: [{<session>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:options) op: assign_op.Equal rhs: { (SQ <'--help --version --debug --print --sid --logout \\\n'> <' --rescan --stats'> ) } spids: [281] ) ] ) ] spids: [277 278 288 -1] ) (case_arm pat_list: [{<iface>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:options) op: assign_op.Equal rhs: { (SQ <'--help --version --debug --print --interface --op \\\n'> <' --name --value'> ) } spids: [295] ) ] ) ] spids: [291 292 302 -1] ) (case_arm pat_list: [{<fw>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:options) op: assign_op.Equal rhs: {(SQ <--login>)} spids: [309] ) ] ) ] spids: [305 306 315 -1] ) (case_arm pat_list: [{<host>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:options) op: assign_op.Equal rhs: {(SQ <'--print -H'>)} spids: [322] ) ] ) ] spids: [318 319 328 -1] ) ] ) ] spids: [218 232] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:options) op: assign_op.Equal rhs: {(SQ <--mode>)} spids: [337] ) ] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<compgen>} {<-W>} {(DQ ($ Id.VSub_DollarName '$options'))} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ) } ] ) } spids: [347] ) ] ) ] ) ) (C {<complete>} {<-F>} {<_iscsiadm>} {<iscsiadm>}) ] )