(CommandList children: [ (AndOr children: [ (FuncDef name: _udevadm body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs:(LhsName name:cur) op:Equal spids:[20]) (assign_pair lhs:(LhsName name:prev) op:Equal spids:[22]) (assign_pair lhs:(LhsName name:words) op:Equal spids:[24]) (assign_pair lhs:(LhsName name:cword) op:Equal spids:[26]) (assign_pair lhs:(LhsName name:split) op:Equal spids:[28]) ] spids: [18] ) (AndOr children: [ (C {(_init_completion)} {(-s)}) (ControlFlow token:<ControlFlow_Return return>) ] op_id: Op_DPipe ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs:(LhsName name:i) op:Equal spids:[43]) (assign_pair lhs:(LhsName name:udevcmd) op:Equal spids:[45]) ] spids: [41] ) (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: (ArithVarRef name:cword) ) update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i)) body: (DoGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobNEqual left: { (BracedVarSub token: <VSub_Name words> bracket_op: (ArrayIndex expr:(ArithVarRef name:i)) spids: [78 83] ) } right: {(-) (Lit_Other '*')} ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:udevcmd) op: Equal rhs: { (BracedVarSub token: <VSub_Name words> bracket_op: (ArrayIndex expr:(ArithVarRef name:i)) spids: [97 102] ) } spids: [96] ) ] spids: [96] ) (ControlFlow token: <ControlFlow_Break break> ) ] spids: [16777215 93] ) ] spids: [16777215 108] ) ] spids: [71 111] ) ) (Case to_match: {($ VSub_Name '$prev')} arms: [ (case_arm pat_list: [ {(--help)} {(--version)} {(--property)} {(--children-max)} {(--timeout)} {(--seq-start)} {(--seq-end)} {(--attr-match)} {(--attr-nomatch)} {(--parent-match)} {(--property-match)} {(--tag-match)} {(--subsystem-match)} {(--subsystem-nomatch)} {(--sysname-match)} {(--path)} ] action: [(ControlFlow token:<ControlFlow_Return return>)] spids: [122 159 165 16777215] ) (case_arm pat_list: [{(--log-priority)}] 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 <'err info debug'>)} {(--)} {(DQ ($ VSub_Name '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [175 191] ) } ] ) } spids: [172] ) ] spids: [172] ) (ControlFlow token:<ControlFlow_Return return>) ] spids: [168 169 199 16777215] ) (case_arm pat_list: [{(--query)}] 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 <'name symlink path property all'>)} {(--)} {(DQ ($ VSub_Name '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [209 227] ) } ] ) } spids: [206] ) ] spids: [206] ) (ControlFlow token:<ControlFlow_Return return>) ] spids: [202 203 235 16777215] ) (case_arm pat_list: [{(--name)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:cur) op: Equal rhs: { (BracedVarSub token: <VSub_Name cur> suffix_op: (StringUnary op_id: VTest_ColonEquals arg_word: {(Lit_Slash /) (dev) (Lit_Slash /)} ) spids: [243 249] ) } spids: [242] ) ] spids: [242] ) (C {(_filedir)}) (ControlFlow token:<ControlFlow_Return return>) ] spids: [238 239 258 16777215] ) (case_arm pat_list: [{(--device-id-of-file)} {(--exit-if-exists)}] action: [(C {(_filedir)}) (ControlFlow token:<ControlFlow_Return return>)] spids: [261 264 273 16777215] ) (case_arm pat_list: [{(--action)}] 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 <'add change remove'>)} {(--)} {(DQ ($ VSub_Name '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [283 299] ) } ] ) } spids: [280] ) ] spids: [280] ) (ControlFlow token:<ControlFlow_Return return>) ] spids: [276 277 307 16777215] ) (case_arm pat_list: [{(--type)}] 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 <'devices subsystems failed'>)} {(--)} {(DQ ($ VSub_Name '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [317 333] ) } ] ) } spids: [314] ) ] spids: [314] ) (ControlFlow token:<ControlFlow_Return return>) ] spids: [310 311 341 16777215] ) ] spids: [115 119 344] ) (AndOr children: [ (C {($ VSub_Name '$split')}) (ControlFlow token:<ControlFlow_Return return>) ] op_id: Op_DAmp ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id:BoolUnary_z child:{($ VSub_Name '$udevcmd')}) ) terminator: <Op_Semi ';'> ) ] action: [ (Case to_match: {($ VSub_Name '$cur')} arms: [ (case_arm pat_list: [{(-) (Lit_Other '*')}] 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 <'--help --version --debug'>)} {(--)} {(DQ ($ VSub_Name '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [385 403] ) } ] ) } spids: [382] ) ] spids: [382] ) ] spids: [377 379 408 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] 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: [ { (DQ ($ VSub_Number '$1') ) } {(--help)} ] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [433] ) ] ) (C {(awk)} { (SQ < '/^[[:space:]]+/ { print $1 }' > ) } ) ] negated: False ) ] ) left_token: <Left_CommandSub '$('> spids: [425 445] ) ) } {(--)} {(DQ ($ VSub_Name '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [418 454] ) } ] ) } spids: [415] ) ] spids: [415] ) ] spids: [411 412 459 16777215] ) ] spids: [370 374 462] ) (ControlFlow token:<ControlFlow_Return return>) ] spids: [16777215 367] ) ] spids: [16777215 468] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {($ 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 < '$( "$1" $udevcmd --help 2>/dev/null | _parse_help - )' > ) } {(--)} {(DQ ($ VSub_Name '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [492 512] ) } ] ) } spids: [489] ) ] spids: [489] ) (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 ) ] spids: [16777215 486] ) ] spids: [16777215 537] ) ] spids: [15] ) spids: [11 14] ) (C {(complete)} {(-F)} {(_udevadm)} {(udevadm)}) ] op_id: Op_DAmp ) ] )