(command.AndOr ops: [Op_DAmp] children: [ (command.FuncDef name: _sbopkg body: (command.BraceGroup children: [ (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:cur spids:[13]) op: Equal spids: [13] ) (assign_pair lhs: (lhs_expr.LhsName name:prev spids:[15]) op: Equal spids: [15] ) (assign_pair lhs: (lhs_expr.LhsName name:words spids:[17]) op: Equal spids: [17] ) (assign_pair lhs: (lhs_expr.LhsName name:cword spids:[19]) op: Equal spids: [19] ) ] spids: [11] ) (command.AndOr ops: [Op_DPipe] children: [ (C {(_init_completion)}) (command.ControlFlow token:<ControlFlow_Return return>) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.BoolBinary op_id: BoolBinary_GlobDEqual left: {(DQ ($ VSub_DollarName '$cur'))} right: {(-) (Lit_Other '*')} ) ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:COMPREPLY spids:[49]) op: Equal rhs: { (word_part.ArrayLiteralPart words: [ { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} {(SQ <'$( _parse_help "$1" -h )'>)} {(--)} {(DQ ($ VSub_DollarName '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [52 68] ) } ] ) } spids: [49] ) ] spids: [49] ) (command.AndOr ops: [Op_DAmp] children: [ (command.DBracket expr: (bool_expr.WordTest w:{($ VSub_DollarName '$COMPREPLY')}) ) (command.ControlFlow token: <ControlFlow_Return return> ) ] ) ] spids: [16777215 46] ) ] spids: [16777215 84] ) (command.Case to_match: {(DQ ($ VSub_DollarName '$prev'))} arms: [ (case_arm pat_list: [{(-e)}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:COMPREPLY spids:[101]) op: Equal rhs: { (word_part.ArrayLiteralPart words: [ { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} {(SQ <'ask continue stop'>)} {(--)} {(DQ ($ VSub_DollarName '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [104 120] ) } ] ) } spids: [101] ) ] spids: [101] ) (command.ControlFlow token:<ControlFlow_Return return>) ] spids: [97 98 128 16777215] ) (case_arm pat_list: [{(-f)}] action: [(C {(_filedir)}) (command.ControlFlow token:<ControlFlow_Return return>)] spids: [131 132 141 16777215] ) (case_arm pat_list: [{(-d)}] action: [ (C {(_filedir)} {(-d)}) (command.ControlFlow token:<ControlFlow_Return return>) ] spids: [144 145 156 16777215] ) (case_arm pat_list: [{(-V)}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:COMPREPLY spids:[163]) op: Equal rhs: { (word_part.ArrayLiteralPart words: [ { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (DQ ('?\n') (' ') (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.Pipeline children: [ (command.SimpleCommand words: [ {(sbopkg)} {(-V)} {(Lit_Other '?')} ] redirects: [ (redir.Redir op: <Redir_GreatAnd '2>&'> fd: 2 arg_word: {(1)} ) ] ) (C {(cut)} {(-s)} {(-f1)}) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [175 194] ) ) } {(--)} {(DQ ($ VSub_DollarName '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [166 203] ) } ] ) } spids: [163] ) ] spids: [163] ) (command.ControlFlow token:<ControlFlow_Return return>) ] spids: [159 160 211 16777215] ) (case_arm pat_list:[{(-i)} {(-b)}] spids:[214 217 220 16777215]) (case_arm pat_list: [{(Lit_Other '*')}] action: [(command.ControlFlow token:<ControlFlow_Return return>)] spids: [223 224 230 16777215] ) ] spids: [88 94 233] ) (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:i spids:[239]) op: Equal spids: [239] ) (assign_pair lhs: (lhs_expr.LhsName name:config spids:[241]) op: Equal spids: [241] ) ] spids: [237] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:config spids:[244]) op: Equal rhs: {(DQ (/etc/sbopkg/sbopkg.conf))} spids: [244] ) ] spids: [244] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Arith_Equal left: (lhs_expr.LhsName name:i spids:[254]) right: (arith_expr.ArithBinary op_id: Arith_Minus left: (arith_expr.ArithWord w: { (word_part.BracedVarSub token: <VSub_Name words> prefix_op: VSub_Pound bracket_op: (bracket_op.WholeArray op_id:Lit_At) spids: [256 262] ) } ) right: (arith_expr.ArithWord w:{(Lit_Digits 1)}) ) ) cond: (arith_expr.ArithBinary op_id: Arith_Great left: (arith_expr.ArithVarRef token:<Lit_ArithVarLike i>) right: (arith_expr.ArithWord w:{(Lit_Digits 0)}) ) update: (arith_expr.UnaryAssign op_id: Node_PostDMinus child: (lhs_expr.LhsName name:i spids:[272]) ) body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.BoolBinary op_id: BoolBinary_GlobDEqual left: { (DQ (word_part.BracedVarSub token: <VSub_Name words> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithVarRef token: <Lit_ArithVarLike i> ) ) spids: [287 292] ) ) } right: {(BoolUnary_f -f)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:config spids:[305]) op: Equal rhs: { (DQ (word_part.BracedVarSub token: <VSub_Name words> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithBinary op_id: Arith_Plus left: (arith_expr.ArithVarRef token: <Lit_ArithVarLike i> ) right: (arith_expr.ArithWord w:{(Lit_Digits 1)}) ) ) spids: [307 314] ) ) } spids: [305] ) ] spids: [305] ) (C {(__expand_tilde_by_ref)} {(config)}) (command.ControlFlow token: <ControlFlow_Break break> ) ] spids: [16777215 302] ) ] spids: [16777215 326] ) ] spids: [279 329] ) ) (command.AndOr ops: [Op_DPipe] children: [ (command.DBracket expr: (bool_expr.BoolUnary op_id: BoolUnary_r child: {(DQ ($ VSub_DollarName '$config'))} ) ) (command.ControlFlow token:<ControlFlow_Return return>) ] ) (C {(.)} {($ VSub_DollarName '$config')}) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Arith_Equal left: (lhs_expr.LhsName name:i spids:[358]) right: (arith_expr.ArithWord w:{(Lit_Digits 1)}) ) cond: (arith_expr.ArithBinary op_id: Arith_Less left: (arith_expr.ArithVarRef token:<Lit_ArithVarLike i>) right: (arith_expr.ArithWord w: { (word_part.BracedVarSub token: <VSub_Name words> prefix_op: VSub_Pound bracket_op: (bracket_op.WholeArray op_id:Lit_At) spids: [365 371] ) } ) ) update: (arith_expr.UnaryAssign op_id: Node_PostDPlus child: (lhs_expr.LhsName name:i spids:[374]) ) body: (command.DoGroup children: [ (command.Case to_match: { (DQ (word_part.BracedVarSub token: <VSub_Name words> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithVarRef token:<Lit_ArithVarLike i>) ) spids: [387 392] ) ) } arms: [ (case_arm pat_list: [{(-V)}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:REPO_NAME spids:[402]) op: Equal rhs: { (DQ (word_part.BracedVarSub token: <VSub_Name words> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithBinary op_id: Arith_Plus left: (arith_expr.ArithVarRef token: <Lit_ArithVarLike i> ) right: (arith_expr.ArithWord w:{(Lit_Digits 1)}) ) ) suffix_op: (suffix_op.StringUnary op_id: VOp1_DPercent arg_word: {(Lit_Slash /) ('*')} ) spids: [404 414] ) ) } spids: [402] ) ] spids: [402] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:REPO_BRANCH spids:[418]) op: Equal rhs: { (DQ (word_part.BracedVarSub token: <VSub_Name words> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithBinary op_id: Arith_Plus left: (arith_expr.ArithVarRef token: <Lit_ArithVarLike i> ) right: (arith_expr.ArithWord w:{(Lit_Digits 1)}) ) ) suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {('*') (Lit_Slash /)} ) spids: [420 430] ) ) } spids: [418] ) ] spids: [418] ) ] spids: [398 399 434 16777215] ) (case_arm pat_list: [{(-d)}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:REPO_ROOT spids:[441]) op: Equal rhs: { (DQ (word_part.BracedVarSub token: <VSub_Name words> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithBinary op_id: Arith_Plus left: (arith_expr.ArithVarRef token: <Lit_ArithVarLike i> ) right: (arith_expr.ArithWord w:{(Lit_Digits 1)}) ) ) spids: [443 450] ) ) } spids: [441] ) ] spids: [441] ) ] spids: [437 438 454 16777215] ) ] spids: [384 395 457] ) ] spids: [381 460] ) ) (command.AndOr ops: [Op_DPipe] children: [ (command.DBracket expr: (bool_expr.BoolUnary op_id: BoolUnary_r child: {($ VSub_DollarName '$REPO_ROOT') (/) ($ VSub_DollarName '$REPO_NAME') (/) ($ VSub_DollarName '$REPO_BRANCH') (/SLACKBUILDS.TXT) } ) ) (command.ControlFlow token:<ControlFlow_Return return>) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:COMPREPLY spids:[482]) op: Equal rhs: { (word_part.ArrayLiteralPart words: [ { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(sed)} {(-ne)} { (DQ ('/^SLACKBUILD NAME: ') ($ VSub_DollarName '$cur') ('/{s/^SLACKBUILD NAME: //;p}') ) } {($ VSub_DollarName '$REPO_ROOT') (/) ($ VSub_DollarName '$REPO_NAME') (/) ($ VSub_DollarName '$REPO_BRANCH') (/SLACKBUILDS.TXT) } ) ] ) left_token: <Left_CommandSub '$('> spids: [485 505] ) } { (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.Sentence child: (C {(cd)} {($ VSub_DollarName '$QUEUEDIR')}) terminator: <Op_Semi ';'> ) (C {(compgen)} {(-f)} {(-X)} {(DQ ('!*.sqf'))} {(--)} {(DQ ($ VSub_DollarName '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [508 531] ) } ] ) } spids: [482] ) ] spids: [482] ) ] spids: [8] ) spids: [4 7] ) (C {(complete)} {(-F)} {(_sbopkg)} {(sbopkg)}) ] )