(CommandList children: [ (AndOr children: [ (FuncDef name: _modprobe body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs:(LhsName name:cur) op:Equal spids:[13]) (assign_pair lhs:(LhsName name:prev) op:Equal spids:[15]) (assign_pair lhs:(LhsName name:words) op:Equal spids:[17]) (assign_pair lhs:(LhsName name:cword) op:Equal spids:[19]) (assign_pair lhs:(LhsName name:split) op:Equal spids:[21]) ] spids: [11] ) (AndOr children: [ (C {(_init_completion)} {(-s)}) (ControlFlow token:<ControlFlow_Return return>) ] op_id: Op_DPipe ) (Case to_match: {(DQ ($ VSub_Name '$prev'))} arms: [ (case_arm pat_list: [{(-h)} {(--help)} {(-V)} {(--version)}] action: [(ControlFlow token:<ControlFlow_Return return>)] spids: [43 50 56 16777215] ) (case_arm pat_list: [{(-C)} {(--config)}] action: [(C {(_filedir)}) (ControlFlow token:<ControlFlow_Return return>)] spids: [59 62 71 16777215] ) (case_arm pat_list: [{(-d)} {(--dirname)} {(-t)} {(--type)}] action: [(C {(_filedir)} {(-d)}) (ControlFlow token:<ControlFlow_Return return>)] spids: [74 81 92 16777215] ) (case_arm pat_list: [{(-S)} {(--set-version)}] action: [(C {(_kernel_versions)}) (ControlFlow token:<ControlFlow_Return return>)] spids: [95 98 107 16777215] ) ] spids: [34 40 110] ) (AndOr children: [ (C {($ VSub_Name '$split')}) (ControlFlow token:<ControlFlow_Return return>) ] op_id: Op_DAmp ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(DQ ($ VSub_Name '$cur'))} right: {(-) (Lit_Other '*')} ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:COMPREPLY) op: Equal rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (C {(compgen)} {(-W)} {(SQ <'$( _parse_help "$1" )'>)} {(--)} {(DQ ($ VSub_Name '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [144 160] ) } ] ) } spids: [141] ) ] spids: [141] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (LogicalNot child:(WordTest w:{($ VSub_Name '$COMPREPLY')})) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:COMPREPLY) op: Equal rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (C {(compgen)} {(-W)} { (SQ < '-a --all -b --use-blacklist -C --config\n' > <' -c --showconfig --dump-modversions -d --dirname --first-time\n'> < ' --force-vermagic --force-modversion -f --force -i\n' > <' --ignore-install --ignore-remove -l --list -n --dry-run -q\n'> < ' --quiet -R --resolve-alias -r --remove -S --set-version\n' > <' --show-depends -s --syslog -t --type -V --version -v\n'> <' --verbose'> ) } {(--)} {(DQ ($ VSub_Name '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [182 204] ) } ] ) } spids: [179] ) ] spids: [179] ) ] spids: [16777215 176] ) ] spids: [16777215 209] ) (AndOr children: [ (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {($ VSub_Name '$COMPREPLY')} right: {(Lit_Other '*') (BoolBinary_GlobEqual '=')} ) ) (C {(compopt)} {(-o)} {(nospace)}) ] op_id: Op_DAmp ) (ControlFlow token:<ControlFlow_Return return>) ] spids: [16777215 138] ) ] spids: [16777215 235] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs:(LhsName name:i) op:Equal spids:[241]) (assign_pair lhs: (LhsName name:mode) op: Equal rhs: {(insert)} spids: [243] ) (assign_pair lhs: (LhsName name:module) op: Equal rhs: {(SQ )} spids: [246] ) (assign_pair lhs: (LhsName name:version) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(uname)} {(-r)})]) left_token: <Left_CommandSub '$('> spids: [249 253] ) } spids: [248] ) ] spids: [239] ) (ForExpr init: (BinaryAssign op_id: Arith_Equal left: (LhsName name:i) right: (ArithWord w:{(Lit_Digits 1)}) ) cond: (ArithBinary op_id: Arith_Less left: (ArithVarRef name:i) right: (ArithWord w:{($ VSub_Name '$cword')}) ) update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i)) body: (DoGroup children: [ (Case to_match: { (DQ (BracedVarSub token: <VSub_Name words> bracket_op: (ArrayIndex expr:(ArithVarRef name:i)) spids: [285 290] ) ) } arms: [ (case_arm pat_list: [{(-r)} {(--remove)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:mode) op: Equal rhs: {(remove)} spids: [302] ) ] spids: [302] ) ] spids: [296 299 306 16777215] ) (case_arm pat_list: [{(-l)} {(--list)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:mode) op: Equal rhs: {(list)} spids: [315] ) ] spids: [315] ) ] spids: [309 312 319 16777215] ) (case_arm pat_list: [{(--dump-modversions)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:mode) op: Equal rhs: {(file)} spids: [326] ) ] spids: [326] ) ] spids: [322 323 330 16777215] ) (case_arm pat_list: [{(-S)} {(--set-version)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:version) op: Equal rhs: { (BracedVarSub token: <VSub_Name words> bracket_op: (ArrayIndex expr: (ArithBinary op_id: Arith_Plus left: (ArithVarRef name:i) right: (ArithWord w:{(Lit_Digits 1)}) ) ) spids: [340 347] ) } spids: [339] ) ] spids: [339] ) ] spids: [333 336 353 16777215] ) (case_arm pat_list: [{(-C)} {(--config)} {(-d)} {(--dirname)} {(-t)} {(--type)}] action: [ (DParen child: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i)) ) ] spids: [356 367 380 16777215] ) (case_arm pat_list: [{(-) (Lit_Other '*')}] spids: [383 385 392 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (AndOr children: [ (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$module'))} {(Lit_Other ']')} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:module) op: Equal rhs: { (BracedVarSub token: <VSub_Name words> bracket_op: (ArrayIndex expr:(ArithVarRef name:i)) spids: [412 417] ) } spids: [411] ) ] spids: [411] ) ] op_id: Op_DAmp ) ] spids: [395 396 420 16777215] ) ] spids: [282 293 423] ) ] spids: [279 426] ) ) (Case to_match: {($ VSub_Name '$mode')} arms: [ (case_arm pat_list: [{(remove)}] action: [(C {(_installed_modules)} {(DQ ($ VSub_Name '$cur'))})] spids: [437 438 448 16777215] ) (case_arm pat_list:[{(list)}] spids:[451 452 459 16777215]) (case_arm pat_list: [{(file)}] action: [(C {(_filedir)})] spids: [462 463 469 16777215] ) (case_arm pat_list: [{(insert)}] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(DQ ($ VSub_Name '$cur'))} right: {(ExtGlobPart op:<ExtGlob_At '@('> spids:[490 495]) (Lit_Other '*') } ) ) terminator: <Op_Semi ';'> ) ] action: [(C {(_filedir)} {(SQ <'@(?(k)o?(.gz))'>)})] spids: [16777215 501] ) (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_n child: {(DQ ($ VSub_Name '$module'))} ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:COMPREPLY) op: Equal rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (C {(compgen)} {(-W)} { (DQ (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (SimpleCommand words: [ {(modinfo)} {(-p)} { (DQ ($ VSub_Name '$module' ) ) } ] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [559] ) ] more_env: [ (env_pair name: PATH val: { (DQ ($ VSub_Name '$PATH' ) (':/sbin') ) } spids: [543] ) ] ) (C {(awk)} {(-F) (Lit_Other ':')} {(SQ <'!/^[ \\t]/ { print $1 }'>)} ) ] negated: False ) ] ) left_token: <Left_CommandSub '$('> spids: [541 575] ) ) } {(--)} {(DQ ($ VSub_Name '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [534 584] ) } ] ) } spids: [531] ) ] spids: [531] ) ] spids: [511 524] ) ] else_action: [ (C {(_modules)} {($ VSub_Name '$version')}) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr:(WordTest w:{($ VSub_Name '$COMPREPLY')})) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_Local flags: [-a] pairs: [ (assign_pair lhs: (LhsName name:mods) op: Equal rhs: { (ArrayLiteralPart words: [ { (DQ (BracedVarSub token: <VSub_Name COMPREPLY> bracket_op: (WholeArray op_id:Lit_At) spids: [621 626] ) ) } ] ) } spids: [617] ) ] spids: [613] ) (C {(_installed_modules)} {(DQ ($ VSub_Name '$cur'))}) (ForEach iter_name: i iter_words: [ { (BracedVarSub token: <VSub_Name mods> prefix_op: VSub_Bang bracket_op: (WholeArray op_id:Lit_At) spids: [645 651] ) } ] do_arg_iter: False body: (DoGroup children: [ (ForEach iter_name: module iter_words: [ { (BracedVarSub token: <VSub_Name COMPREPLY> bracket_op: (WholeArray op_id:Lit_At) spids: [663 668] ) } ] do_arg_iter: False body: (DoGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: { (BracedVarSub token: <VSub_Name mods> bracket_op: (ArrayIndex expr: (ArithVarRef name: i ) ) spids: [678 683] ) } right: {($ VSub_Name '$module')} ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(unset)} {(SQ <'mods[i]'>)}) (ControlFlow token: <ControlFlow_Break break> ) ] spids: [16777215 692] ) ] spids: [16777215 705] ) ] spids: [671 708] ) spids: [662 669] ) ] spids: [654 711] ) spids: [644 652] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:COMPREPLY) op: Equal rhs: { (ArrayLiteralPart words: [ { (DQ (BracedVarSub token: <VSub_Name mods> bracket_op: (WholeArray op_id:Lit_At) spids: [718 723] ) ) } ] ) } spids: [714] ) ] spids: [714] ) ] spids: [16777215 606] ) ] spids: [16777215 729] ) ] spids: [589 732] ) ] spids: [472 473 735 16777215] ) ] spids: [430 434 738] ) ] spids: [8] ) spids: [4 7] ) (C {(complete)} {(-F)} {(_modprobe)} {(modprobe)}) ] op_id: Op_DAmp ) ] )