(command.AndOr ops: [Id.Op_DAmp] children: [ (command.ShFunction name: _gdb body: (command.BraceGroup children: [ (C {(local)} {(cur)} {(prev)} {(words)} {(cword)} {(i)}) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {(_init_completion)}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:28) ) ] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: (sh_lhs_expr.Name name:i) right: (arith_expr.ArithWord w:{(Id.Lit_Digits 1)}) ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: (arith_expr.VarRef token:(Token id:Id.Lit_ArithVarLike val:i span_id:45)) right: (arith_expr.VarRef token:(Token id:Id.Lit_ArithVarLike val:cword span_id:49)) ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:(sh_lhs_expr.Name name:i)) body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: { (DQ (braced_var_sub token: (Token id:Id.VSub_Name val:words span_id:68) bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.VarRef token: (Token id: Id.Lit_ArithVarLike val: i span_id: 70 ) ) ) ) ) } right: {(--args)} ) ) terminator: (Token id:Id.Op_Semi val:';' span_id:80) ) ] action: [ (C {(_command_offset)} { (word_part.ArithSub anode: (arith_expr.Binary op_id: Id.Arith_Plus left: (arith_expr.VarRef token: (Token id:Id.Lit_ArithVarLike val:i span_id:88) ) right: (arith_expr.ArithWord w:{(Id.Lit_Digits 1)}) ) ) } ) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:95) arg_word: {($ Id.VSub_QMark '$?')} ) ] spids: [62 82] ) ] ) ] ) ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_eq left: {($ Id.VSub_DollarName '$cword')} right: {(1)} ) ) terminator: (Token id:Id.Op_Semi val:';' span_id:122) ) ] action: [ (C {(local)} {(IFS)}) (C {(compopt)} {(-o)} {(filenames)}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ ($ Id.VSub_DollarName '$cur'))} right: {(Id.Lit_Other '*') (/) (Id.Lit_Other '*')} ) ) terminator: (Token id:Id.Op_Semi val:';' span_id:154) ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IFS) op: assign_op.Equal rhs: { (single_quoted left: (Token id:Id.Left_SingleQuoteC val:"$'" span_id:164) tokens: [(Token id:Id.Char_OneChar val:'\\n' span_id:165)] ) } spids: [163] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: (Token id:Id.Op_LParen val:'(' span_id:170) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 172 ) command_list: (command.CommandList children: [ (command.Simple words: [ {(compgen)} {(-d)} {(-c)} {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ] more_env: [ (env_pair name: PATH val: { (DQ ($ Id.VSub_DollarName '$PATH') (':.') ) } spids: [174] ) ] ) ] ) ) } ] ) } spids: [169] ) ] ) ] spids: [139 156] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IFS) op: assign_op.Equal rhs: {(DQ (':'))} spids: [212] ) ] ) (C {(local)} {(Id.Lit_VarLike 'path_array=') (sh_array_literal left: (Token id:Id.Op_LParen val:'(' span_id:221) words: [ { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:223) command_list: (command.CommandList children: [ (command.Simple words: [ {(sed)} {(-e)} { (SQ (Token id: Id.Lit_Chars val: 's/:\\{2,\\}/:/g' span_id: 232 ) ) } {(-e)} {(SQ (Token id:Id.Lit_Chars val:'s/^://' span_id:238))} {(-e)} {(SQ (Token id:Id.Lit_Chars val:'s/:$//' span_id:244))} ] redirects: [ (redir.Redir op: (Token id:Id.Redir_TLess val:'<<<' span_id:247) fd: -1 arg_word: {(DQ ($ Id.VSub_DollarName '$PATH'))} ) ] ) ] ) ) } ] ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IFS) op: assign_op.Equal rhs: { (single_quoted left: (Token id:Id.Left_SingleQuoteC val:"$'" span_id:258) tokens: [(Token id:Id.Char_OneChar val:'\\n' span_id:259)] ) } spids: [257] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: (Token id:Id.Op_LParen val:'(' span_id:264) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 266 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-d)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: '$(find "${path_array[@]}" . \\\n' span_id: 275 ) (Token id: Id.Lit_Chars val: ' -mindepth 1 -maxdepth 1 -not -type d -executable \\\n' span_id: 276 ) (Token id:Id.Lit_Chars val:' -printf "%f\\\\n" 2>/dev/null)' span_id:277) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [263] ) ] ) ] ) ] spids: [111 124] ) (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_eq left: {($ Id.VSub_DollarName '$cword')} right: {(2)} ) ) terminator: (Token id:Id.Op_Semi val:';' span_id:305) ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: (Token id:Id.Op_LParen val:'(' span_id:311) words: [ { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:313) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (DQ (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 320 ) command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(command)} {(ps)} {(axo)} {(comm) (Id.Lit_Comma ',') (pid)} ) (C {(awk)} { (SQ (Token id: Id.Lit_Chars val: '{if ($1 ~ /^' span_id: 339 ) ) (DQ (braced_var_sub token: (Token id: Id.VSub_Name val: prev span_id: 343 ) suffix_op: (suffix_op.Unary op_id: Id.VOp1_DPound arg_word: {('*') (Id.Lit_Slash /)} ) ) ) (SQ (Token id:Id.Lit_Chars val:'/) print $2}' span_id:350)) } ) ] negated: F ) ] ) ) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [310] ) ] ) (C {(compopt)} {(-o)} {(filenames)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.PlusEqual rhs: { (sh_array_literal left: (Token id:Id.Op_LParen val:'(' span_id:375) words: [ { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:377) command_list: (command.CommandList children: [ (C {(compgen)} {(-f)} {(-X)} { (SQ (Token id: Id.Lit_Chars val: '!?(*/)core?(.+([0-9]))' span_id: 386 ) ) } {(-o)} {(plusdirs)} {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [374] ) ] ) ] spids: [294 307] ) ] ) ] ) ) (C {(complete)} {(-F)} {(_gdb)} {(gdb)}) ] )