(command.AndOr ops: [Op_DAmp] children: [ (command.FuncDef name: _gdb 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] ) (assign_pair lhs: (lhs_expr.LhsName name:i spids:[21]) op: Equal spids: [21] ) ] spids: [11] ) (command.AndOr ops: [Op_DPipe] children: [ (C {(_init_completion)}) (command.ControlFlow token:<ControlFlow_Return return>) ] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Arith_Equal left: (lhs_expr.LhsName name:i spids:[40]) 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.ArithVarRef token:<Lit_ArithVarLike cword>) ) update: (arith_expr.UnaryAssign op_id: Node_PostDPlus child: (lhs_expr.LhsName name:i spids:[52]) ) 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: [67 72] ) ) } right: {(--args)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(_command_offset)} { (word_part.ArithSubPart anode: (arith_expr.ArithBinary op_id: Arith_Plus left: (arith_expr.ArithVarRef token:<Lit_ArithVarLike i>) right: (arith_expr.ArithWord w:{(Lit_Digits 1)}) ) spids: [87 92] ) } ) (command.ControlFlow token: <ControlFlow_Return return> arg_word: {($ VSub_QMark '$?')} ) ] spids: [16777215 82] ) ] spids: [16777215 100] ) ] spids: [59 103] ) ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.BoolBinary op_id: BoolBinary_eq left: {($ VSub_DollarName '$cword')} right: {(1)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:IFS spids:[129]) op: Equal spids: [129] ) ] spids: [127] ) (C {(compopt)} {(-o)} {(filenames)}) (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 '*') (/) (Lit_Other '*')} ) ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:IFS spids:[163]) op: Equal rhs: { (word_part.SingleQuotedPart left: <Left_DollarSingleQuote "$'"> tokens: [<Char_OneChar '\\n'>] spids: [164 166] ) } spids: [163] ) ] spids: [163] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:COMPREPLY spids:[169]) op: Equal rhs: { (word_part.ArrayLiteralPart words: [ { (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.SimpleCommand words: [ {(compgen)} {(-d)} {(-c)} {(--)} {(DQ ($ VSub_DollarName '$cur'))} ] more_env: [ (env_pair name: PATH val: {(DQ ($ VSub_DollarName '$PATH') (':.'))} spids: [174] ) ] ) ] ) left_token: <Left_CommandSub '$('> spids: [172 192] ) } ] ) } spids: [169] ) ] spids: [169] ) ] spids: [16777215 156] ) ] else_action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:IFS spids:[212]) op: Equal rhs: {(DQ (':'))} spids: [212] ) ] spids: [212] ) (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:path_array spids:[220]) op: Equal rhs: { (word_part.ArrayLiteralPart words: [ { (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.SimpleCommand words: [ {(sed)} {(-e)} {(SQ <'s/:\\{2,\\}/:/g'>)} {(-e)} {(SQ <'s/^://'>)} {(-e)} {(SQ <'s/:$//'>)} ] redirects: [ (redir.Redir op: <Redir_TLess '<<<'> fd: 16777215 arg_word: {(DQ ($ VSub_DollarName '$PATH'))} ) ] ) ] ) left_token: <Left_CommandSub '$('> spids: [223 252] ) } ] ) } spids: [220] ) ] spids: [218] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:IFS spids:[257]) op: Equal rhs: { (word_part.SingleQuotedPart left: <Left_DollarSingleQuote "$'"> tokens: [<Char_OneChar '\\n'>] spids: [258 260] ) } spids: [257] ) ] spids: [257] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:COMPREPLY spids:[263]) op: Equal rhs: { (word_part.ArrayLiteralPart words: [ { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(compgen)} {(-d)} {(-W)} { (SQ <'$(find "${path_array[@]}" . \\\n'> < ' -mindepth 1 -maxdepth 1 -not -type d -executable \\\n' > <' -printf "%f\\\\n" 2>/dev/null)'> ) } {(--)} {(DQ ($ VSub_DollarName '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [266 286] ) } ] ) } spids: [263] ) ] spids: [263] ) ] spids: [197 291] ) ] spids: [16777215 124] ) (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.BoolBinary op_id: BoolBinary_eq left: {($ VSub_DollarName '$cword')} right: {(2)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:COMPREPLY spids:[310]) op: Equal rhs: { (word_part.ArrayLiteralPart words: [ { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (DQ (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(command)} {(ps)} {(axo)} {(comm) (Lit_Comma ',') (pid)} ) (C {(awk)} {(SQ <'{if ($1 ~ /^'>) (DQ (word_part.BracedVarSub token: <VSub_Name prev> suffix_op: (suffix_op.StringUnary op_id: VOp1_DPound arg_word: {('*') (Lit_Slash /)} ) spids: [342 347] ) ) (SQ <'/) print $2}'>) } ) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [320 353] ) ) } {(--)} {(DQ ($ VSub_DollarName '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [313 362] ) } ] ) } spids: [310] ) ] spids: [310] ) (C {(compopt)} {(-o)} {(filenames)}) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:COMPREPLY spids:[374]) op: PlusEqual rhs: { (word_part.ArrayLiteralPart words: [ { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(compgen)} {(-f)} {(-X)} {(SQ <'!?(*/)core?(.+([0-9]))'>)} {(-o)} {(plusdirs)} {(--)} {(DQ ($ VSub_DollarName '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [377 401] ) } ] ) } spids: [374] ) ] spids: [374] ) ] spids: [294 307] ) ] spids: [16777215 406] ) ] spids: [8] ) spids: [4 7] ) (C {(complete)} {(-F)} {(_gdb)} {(gdb)}) ] )