(command.CommandList children: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:__git_printf_supports_v spids:[289]) op: Equal rhs: (word.EmptyWord) spids: [289] ) ] spids: [289] ) (command.SimpleCommand words: [{(printf)} {(-v)} {(__git_printf_supports_v)} {(--)} {(SQ <'%s'>)} {(yes)}] redirects: [ (redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/dev/null)}) (redir.Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)}) ] ) (command.FuncDef name: __git_ps1_show_upstream body: (command.BraceGroup children: [ (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:key spids:[328]) op: Equal spids: [328] ) (assign_pair lhs: (lhs_expr.LhsName name:value spids:[330]) op: Equal spids: [330] ) ] spids: [326] ) (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:svn_remote spids:[335]) op: Equal spids: [335] ) (assign_pair lhs: (lhs_expr.LhsName name:svn_url_pattern spids:[337]) op: Equal spids: [337] ) (assign_pair lhs: (lhs_expr.LhsName name:count spids:[339]) op: Equal spids: [339] ) (assign_pair lhs: (lhs_expr.LhsName name:n spids:[341]) op: Equal spids: [341] ) ] spids: [333] ) (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:upstream spids:[346]) op: Equal rhs: {(git)} spids: [346] ) (assign_pair lhs: (lhs_expr.LhsName name:legacy spids:[349]) op: Equal rhs: {(DQ )} spids: [349] ) (assign_pair lhs: (lhs_expr.LhsName name:verbose spids:[353]) op: Equal rhs: {(DQ )} spids: [353] ) (assign_pair lhs: (lhs_expr.LhsName name:name spids:[357]) op: Equal rhs: {(DQ )} spids: [357] ) ] spids: [344] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:svn_remote spids:[363]) op: Equal rhs: {(word_part.ArrayLiteralPart)} spids: [363] ) ] spids: [363] ) (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:output spids:[374]) op: Equal rhs: { (DQ (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.Pipeline children: [ (command.SimpleCommand words: [ {(git)} {(config)} {(-z)} {(--get-regexp)} {(SQ <'^(svn-remote\\..*\\.url|bash\\.showupstream)$'>)} ] redirects: [ (redir.Redir op: <Redir_Great '2>'> fd: 2 arg_word: {(/dev/null)} ) ] ) (C {(tr)} {(SQ <'\\0\\n'>)} {(SQ <'\\n '>)}) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [376 403] ) ) } spids: [374] ) ] spids: [372] ) (command.WhileUntil keyword: <KW_While while> cond: [ (command.Sentence child: (C {(read)} {(-r)} {(key)} {(value)}) terminator: <Op_Semi ';'> ) ] body: (command.DoGroup children: [ (command.Case to_match: {(DQ ($ VSub_DollarName '$key'))} arms: [ (case_arm pat_list: [{(bash.showupstream)}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:GIT_PS1_SHOWUPSTREAM spids:[434]) op: Equal rhs: {(DQ ($ VSub_DollarName '$value'))} spids: [434] ) ] spids: [434] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.BoolUnary op_id: BoolUnary_z child: {(DQ (${ VSub_Name GIT_PS1_SHOWUPSTREAM))} ) ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:p spids:[458]) op: Equal rhs: {(DQ )} spids: [458] ) ] spids: [458] ) (command.ControlFlow token: <ControlFlow_Return return> ) ] spids: [16777215 455] ) ] spids: [16777215 466] ) ] spids: [430 431 469 16777215] ) (case_arm pat_list: [{(svn-remote.) (Lit_Other '*') (.url)}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsIndexedName name: svn_remote index: (arith_expr.ArithWord w: { (word_part.ArithSubPart anode: (arith_expr.ArithBinary op_id: Arith_Plus left: (arith_expr.ArithWord w: { (word_part.BracedVarSub token: <VSub_Name svn_remote> prefix_op: VSub_Pound bracket_op: (bracket_op.WholeArray op_id: Lit_At ) spids: [1 7] ) } ) right: (arith_expr.ArithWord w:{(Lit_Digits 1)}) ) spids: [0 13] ) } ) spids: [478] ) op: Equal rhs: {(DQ ($ VSub_DollarName '$value'))} spids: [478] ) ] spids: [478] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:svn_url_pattern spids:[499]) op: Equal rhs: { (DQ ($ VSub_DollarName '$svn_url_pattern') (word_part.EscapedLiteralPart token: <Lit_EscapedChar '\\\\'> ) ('|') ($ VSub_DollarName '$value') ) } spids: [499] ) ] spids: [499] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:upstream spids:[508]) op: Equal rhs: {(svn) (Lit_Other '+') (git)} spids: [508] ) ] spids: [508] ) ] spids: [472 475 517 16777215] ) ] spids: [421 427 520] ) ] spids: [418 523] ) redirects: [ (redir.Redir op: <Redir_TLess '<<<'> fd: 16777215 arg_word: {(DQ ($ VSub_DollarName '$output'))} ) ] ) (command.ForEach iter_name: option iter_words: [{(${ VSub_Name GIT_PS1_SHOWUPSTREAM)}] do_arg_iter: F body: (command.DoGroup children: [ (command.Case to_match: {(DQ ($ VSub_DollarName '$option'))} arms: [ (case_arm pat_list: [{(git)} {(svn)}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:upstream spids:[565]) op: Equal rhs: {(DQ ($ VSub_DollarName '$option'))} spids: [565] ) ] spids: [565] ) ] spids: [560 563 570 16777215] ) (case_arm pat_list: [{(verbose)}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:verbose spids:[576]) op: Equal rhs: {(1)} spids: [576] ) ] spids: [576] ) ] spids: [573 574 579 16777215] ) (case_arm pat_list: [{(legacy)}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:legacy spids:[585]) op: Equal rhs: {(1)} spids: [585] ) ] spids: [585] ) ] spids: [582 583 588 16777215] ) (case_arm pat_list: [{(name)}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:name spids:[594]) op: Equal rhs: {(1)} spids: [594] ) ] spids: [594] ) ] spids: [591 592 597 16777215] ) ] spids: [551 557 600] ) ] spids: [548 603] ) spids: [542 546] ) (command.Case to_match: {(DQ ($ VSub_DollarName '$upstream'))} arms: [ (case_arm pat_list: [{(git)}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:upstream spids:[623]) op: Equal rhs: {(DQ ('@{upstream}'))} spids: [623] ) ] spids: [623] ) ] spids: [620 621 628 16777215] ) (case_arm pat_list: [{(svn) (Lit_Other '*')}] action: [ (command.Assignment keyword: Assign_Local flags: [-a] pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:svn_upstream spids:[648]) op: Equal spids: [648] ) ] spids: [644] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:svn_upstream spids:[651]) op: Equal rhs: { (word_part.ArrayLiteralPart words: [ { (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.SimpleCommand words: [ {(git)} {(log)} {(--first-parent)} {(-1)} {(--grep) (Lit_Other '=') (DQ ('^git-svn-id: ') (Lit_Other '\\') ('(') (word_part.BracedVarSub token: <VSub_Name svn_url_pattern> suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {('??')} ) spids: [670 674] ) (Lit_Other '\\') (')') ) } ] redirects: [ (redir.Redir op: <Redir_Great '2>'> fd: 2 arg_word: {(/dev/null)} ) ] ) ] ) left_token: <Left_CommandSub '$('> spids: [653 681] ) } ] ) } spids: [651] ) ] spids: [651] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.BoolBinary op_id: BoolBinary_ne left: {(0)} right: { (word_part.BracedVarSub token: <VSub_Name svn_upstream> prefix_op: VSub_Pound bracket_op: (bracket_op.WholeArray op_id:Lit_At) spids: [693 699] ) } ) ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:svn_upstream spids:[707]) op: Equal rhs: { (word_part.BracedVarSub token: <VSub_Name svn_upstream> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithBinary op_id: Arith_Minus left: (arith_expr.ArithWord w: { (word_part.BracedVarSub token: <VSub_Name svn_upstream> prefix_op: VSub_Pound bracket_op: (bracket_op.WholeArray op_id: Lit_At ) spids: [711 717] ) } ) right: (arith_expr.ArithWord w:{(Lit_Digits 2)}) ) ) spids: [708 723] ) } spids: [707] ) ] spids: [707] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:svn_upstream spids:[726]) op: Equal rhs: { (word_part.BracedVarSub token: <VSub_Name svn_upstream> suffix_op: (suffix_op.StringUnary op_id: VOp1_Percent arg_word: {('@*')} ) spids: [727 731] ) } spids: [726] ) ] spids: [726] ) (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:n_stop spids:[736]) op: Equal rhs: { (DQ (word_part.BracedVarSub token: <VSub_Name svn_remote> prefix_op: VSub_Pound bracket_op: (bracket_op.WholeArray op_id:Lit_At) spids: [738 744] ) ) } spids: [736] ) ] spids: [734] ) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Arith_Equal left: (lhs_expr.LhsName name:n spids:[751]) right: (arith_expr.ArithWord w:{(Lit_Digits 1)}) ) cond: (arith_expr.ArithBinary op_id: Arith_LessEqual left: (arith_expr.ArithVarRef token:<Lit_ArithVarLike n>) right: (arith_expr.ArithVarRef token:<Lit_ArithVarLike n_stop>) ) update: (arith_expr.UnaryAssign op_id: Node_PostDPlus child: (lhs_expr.LhsName name:n spids:[763]) ) body: (command.DoGroup children: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:svn_upstream spids:[772]) op: Equal rhs: { (word_part.BracedVarSub token: <VSub_Name svn_upstream> suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: { (word_part.BracedVarSub token: <VSub_Name svn_remote> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.ArithWord w: {($ VSub_DollarName '$n')} ) ) spids: [776 781] ) } ) spids: [773 782] ) } spids: [772] ) ] spids: [772] ) ] spids: [769 785] ) ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.BoolUnary op_id: BoolUnary_z child: {(DQ ($ VSub_DollarName '$svn_upstream'))} ) ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:upstream spids:[809]) op: Equal rhs: { (word_part.BracedVarSub token: <VSub_Name GIT_SVN_ID> suffix_op: (suffix_op.StringUnary op_id: VTest_ColonHyphen arg_word: {(git-svn)} ) spids: [810 814] ) } spids: [809] ) ] spids: [809] ) ] spids: [16777215 802] ) ] else_action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:upstream spids:[820]) op: Equal rhs: { (word_part.BracedVarSub token: <VSub_Name svn_upstream> suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {(Lit_Slash /)} ) spids: [821 825] ) } spids: [820] ) ] spids: [820] ) ] spids: [817 828] ) ] spids: [16777215 704] ) (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.BoolBinary op_id: BoolBinary_GlobEqual left: {(DQ ('svn+git'))} right: {(DQ ($ VSub_DollarName '$upstream'))} ) ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:upstream spids:[851]) op: Equal rhs: {(DQ ('@{upstream}'))} spids: [851] ) ] spids: [851] ) ] spids: [831 848] ) ] spids: [16777215 857] ) ] spids: [631 633 860 16777215] ) ] spids: [611 617 863] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.BoolUnary op_id: BoolUnary_z child: {(DQ ($ VSub_DollarName '$legacy'))} ) ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:count spids:[887]) op: Equal rhs: { (DQ (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.SimpleCommand words: [ {(git)} {(rev-list)} {(--count)} {(--left-right)} {(DQ ($ VSub_DollarName '$upstream')) (...HEAD)} ] redirects: [ (redir.Redir op: <Redir_Great '2>'> fd: 2 arg_word: {(/dev/null)} ) ] ) ] ) left_token: <Left_CommandSub '$('> spids: [889 907] ) ) } spids: [887] ) ] spids: [887] ) ] spids: [16777215 884] ) ] else_action: [ (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:commits spids:[920]) op: Equal spids: [920] ) ] spids: [918] ) (command.If arms: [ (if_arm cond: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:commits spids:[925]) op: Equal rhs: { (DQ (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.SimpleCommand words: [ {(git)} {(rev-list)} {(--left-right)} {(DQ ($ VSub_DollarName '$upstream')) (...HEAD)} ] redirects: [ (redir.Redir op: <Redir_Great '2>'> fd: 2 arg_word: {(/dev/null)} ) ] ) ] ) left_token: <Left_CommandSub '$('> spids: [927 941] ) ) } spids: [925] ) ] spids: [925] ) ] action: [ (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:commit spids:[950]) op: Equal spids: [950] ) (assign_pair lhs: (lhs_expr.LhsName name:behind spids:[952]) op: Equal rhs: {(0)} spids: [952] ) (assign_pair lhs: (lhs_expr.LhsName name:ahead spids:[955]) op: Equal rhs: {(0)} spids: [955] ) ] spids: [948] ) (command.ForEach iter_name: commit iter_words: [{($ VSub_DollarName '$commits')}] do_arg_iter: F body: (command.DoGroup children: [ (command.Case to_match: {(DQ ($ VSub_DollarName '$commit'))} arms: [ (case_arm pat_list: [{(DQ ('<')) (Lit_Other '*')}] action: [ (command.DParen child: (arith_expr.UnaryAssign op_id: Node_PostDPlus child: (lhs_expr.LhsName name:behind spids:[987]) ) spids: [986 990] ) ] spids: [980 984 992 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (command.DParen child: (arith_expr.UnaryAssign op_id: Node_PostDPlus child: (lhs_expr.LhsName name:ahead spids:[999]) ) spids: [998 1002] ) ] spids: [995 996 1004 16777215] ) ] spids: [971 977 1007] ) ] spids: [968 1010] ) spids: [964 16777215] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:count spids:[1013]) op: Equal rhs: { (DQ ($ VSub_DollarName '$behind') ('\t') ($ VSub_DollarName '$ahead')) } spids: [1013] ) ] spids: [1013] ) ] spids: [16777215 945] ) ] else_action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:count spids:[1024]) op: Equal rhs: {(DQ )} spids: [1024] ) ] spids: [1024] ) ] spids: [1021 1029] ) ] spids: [911 1032] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.BoolUnary op_id: BoolUnary_z child: {(DQ ($ VSub_DollarName '$verbose'))} ) ) terminator: <Op_Semi ';'> ) ] action: [ (command.Case to_match: {(DQ ($ VSub_DollarName '$count'))} arms: [ (case_arm pat_list: [{(DQ )}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:p spids:[1073]) op: Equal rhs: {(DQ )} spids: [1073] ) ] spids: [1073] ) ] spids: [1065 1067 1077 16777215] ) (case_arm pat_list: [{(DQ ('0\t0'))}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:p spids:[1089]) op: Equal rhs: {(DQ ('='))} spids: [1089] ) ] spids: [1089] ) ] spids: [1080 1083 1094 16777215] ) (case_arm pat_list: [{(DQ ('0\t')) (Lit_Other '*')}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:p spids:[1107]) op: Equal rhs: {(DQ ('>'))} spids: [1107] ) ] spids: [1107] ) ] spids: [1097 1101 1112 16777215] ) (case_arm pat_list: [{(Lit_Other '*') (DQ ('\t0'))}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:p spids:[1125]) op: Equal rhs: {(DQ ('<'))} spids: [1125] ) ] spids: [1125] ) ] spids: [1115 1119 1130 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:p spids:[1140]) op: Equal rhs: {(DQ ('<>'))} spids: [1140] ) ] spids: [1140] ) ] spids: [1133 1134 1145 16777215] ) ] spids: [1056 1062 1148] ) ] spids: [16777215 1053] ) ] else_action: [ (command.Case to_match: {(DQ ($ VSub_DollarName '$count'))} arms: [ (case_arm pat_list: [{(DQ )}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:p spids:[1171]) op: Equal rhs: {(DQ )} spids: [1171] ) ] spids: [1171] ) ] spids: [1163 1165 1175 16777215] ) (case_arm pat_list: [{(DQ ('0\t0'))}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:p spids:[1187]) op: Equal rhs: {(DQ (' u='))} spids: [1187] ) ] spids: [1187] ) ] spids: [1178 1181 1192 16777215] ) (case_arm pat_list: [{(DQ ('0\t')) (Lit_Other '*')}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:p spids:[1205]) op: Equal rhs: { (DQ (' u+') (word_part.BracedVarSub token: <VSub_Name count> suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {('0\t')} ) spids: [1208 1212] ) ) } spids: [1205] ) ] spids: [1205] ) ] spids: [1195 1199 1215 16777215] ) (case_arm pat_list: [{(Lit_Other '*') (DQ ('\t0'))}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:p spids:[1228]) op: Equal rhs: { (DQ (' u-') (word_part.BracedVarSub token: <VSub_Name count> suffix_op: (suffix_op.StringUnary op_id: VOp1_Percent arg_word: {('\t0')} ) spids: [1231 1235] ) ) } spids: [1228] ) ] spids: [1228] ) ] spids: [1218 1222 1238 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:p spids:[1248]) op: Equal rhs: { (DQ (' u+') (word_part.BracedVarSub token: <VSub_Name count> suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {('*\t')} ) spids: [1251 1255] ) (-) (word_part.BracedVarSub token: <VSub_Name count> suffix_op: (suffix_op.StringUnary op_id: VOp1_Percent arg_word: {('\t*')} ) spids: [1257 1261] ) ) } spids: [1248] ) ] spids: [1248] ) ] spids: [1241 1242 1264 16777215] ) ] spids: [1154 1160 1267] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.LogicalAnd left: (bool_expr.BoolUnary op_id: BoolUnary_n child: {(DQ ($ VSub_DollarName '$count'))} ) right: (bool_expr.BoolUnary op_id: BoolUnary_n child: {(DQ ($ VSub_DollarName '$name'))} ) ) ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:__git_ps1_upstream_name spids:[1294]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.SimpleCommand words: [ {(git)} {(rev-parse)} {(--abbrev-ref)} {(DQ ($ VSub_DollarName '$upstream'))} ] redirects: [ (redir.Redir op: <Redir_Great '2>'> fd: 2 arg_word: {(/dev/null)} ) ] ) ] ) left_token: <Left_CommandSub '$('> spids: [1295 1310] ) } spids: [1294] ) ] spids: [1294] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.AndOr ops: [Op_DAmp] children: [ (C {(Lit_Other '[')} {($ VSub_DollarName '$pcmode')} {(Lit_Other '=')} {(yes)} {(Lit_Other ']')} ) (C {(Lit_Other '[')} {($ VSub_DollarName '$ps1_expanded')} {(Lit_Other '=')} {(yes)} {(Lit_Other ']')} ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:p spids:[1341]) op: Equal rhs: { (DQ ($ VSub_DollarName '$p') (' ') (word_part.EscapedLiteralPart token: <Lit_EscapedChar '\\$'> ) ('{__git_ps1_upstream_name}') ) } spids: [1341] ) ] spids: [1341] ) ] spids: [16777215 1338] ) ] else_action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:p spids:[1353]) op: Equal rhs: { (DQ ($ VSub_DollarName '$p') (' ') (${ VSub_Name __git_ps1_upstream_name) ) } spids: [1353] ) ] spids: [1353] ) (C {(unset)} {(__git_ps1_upstream_name)}) ] spids: [1350 1376] ) ] spids: [16777215 1291] ) ] spids: [16777215 1379] ) ] spids: [1151 1382] ) ] spids: [323] ) spids: [318 322] ) (command.FuncDef name: __git_ps1_colorize_gitstring body: (command.BraceGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.BoolUnary op_id: BoolUnary_n child: { (word_part.BracedVarSub token: <VSub_Name ZSH_VERSION> suffix_op: (suffix_op.StringUnary op_id:VTest_Hyphen arg_word:{}) spids: [1411 1414] ) } ) ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:c_red spids:[1424]) op: Equal rhs: {(SQ <'%F{red}'>)} spids: [1424] ) ] spids: [1422] ) (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:c_green spids:[1432]) op: Equal rhs: {(SQ <'%F{green}'>)} spids: [1432] ) ] spids: [1430] ) (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:c_lblue spids:[1440]) op: Equal rhs: {(SQ <'%F{blue}'>)} spids: [1440] ) ] spids: [1438] ) (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:c_clear spids:[1448]) op: Equal rhs: {(SQ <'%f'>)} spids: [1448] ) ] spids: [1446] ) ] spids: [16777215 1419] ) ] else_action: [ (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:c_red spids:[1467]) op: Equal rhs: {(SQ <'\\[\\e[31m\\]'>)} spids: [1467] ) ] spids: [1465] ) (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:c_green spids:[1475]) op: Equal rhs: {(SQ <'\\[\\e[32m\\]'>)} spids: [1475] ) ] spids: [1473] ) (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:c_lblue spids:[1483]) op: Equal rhs: {(SQ <'\\[\\e[1;34m\\]'>)} spids: [1483] ) ] spids: [1481] ) (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:c_clear spids:[1491]) op: Equal rhs: {(SQ <'\\[\\e[0m\\]'>)} spids: [1491] ) ] spids: [1489] ) ] spids: [1454 1497] ) (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:bad_color spids:[1502]) op: Equal rhs: {($ VSub_DollarName '$c_red')} spids: [1502] ) ] spids: [1500] ) (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:ok_color spids:[1508]) op: Equal rhs: {($ VSub_DollarName '$c_green')} spids: [1508] ) ] spids: [1506] ) (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:flags_color spids:[1514]) op: Equal rhs: {(DQ ($ VSub_DollarName '$c_lblue'))} spids: [1514] ) ] spids: [1512] ) (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:branch_color spids:[1523]) op: Equal rhs: {(DQ )} spids: [1523] ) ] spids: [1521] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {($ VSub_DollarName '$detached')} {(Lit_Other '=')} {(no)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:branch_color spids:[1544]) op: Equal rhs: {(DQ ($ VSub_DollarName '$ok_color'))} spids: [1544] ) ] spids: [1544] ) ] spids: [16777215 1541] ) ] else_action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:branch_color spids:[1553]) op: Equal rhs: {(DQ ($ VSub_DollarName '$bad_color'))} spids: [1553] ) ] spids: [1553] ) ] spids: [1550 1559] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:c spids:[1562]) op: Equal rhs: {(DQ ($ VSub_DollarName '$branch_color') ($ VSub_DollarName '$c'))} spids: [1562] ) ] spids: [1562] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:z spids:[1570]) op: Equal rhs: {(DQ ($ VSub_DollarName '$c_clear') ($ VSub_DollarName '$z'))} spids: [1570] ) ] spids: [1570] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$w'))} {(Lit_Other '=')} {(DQ ('*'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:w spids:[1597]) op: Equal rhs: {(DQ ($ VSub_DollarName '$bad_color') ($ VSub_DollarName '$w'))} spids: [1597] ) ] spids: [1597] ) ] spids: [16777215 1594] ) ] spids: [16777215 1604] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_DollarName '$i'))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:i spids:[1623]) op: Equal rhs: {(DQ ($ VSub_DollarName '$ok_color') ($ VSub_DollarName '$i'))} spids: [1623] ) ] spids: [1623] ) ] spids: [16777215 1620] ) ] spids: [16777215 1630] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_DollarName '$s'))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:s spids:[1649]) op: Equal rhs: {(DQ ($ VSub_DollarName '$flags_color') ($ VSub_DollarName '$s'))} spids: [1649] ) ] spids: [1649] ) ] spids: [16777215 1646] ) ] spids: [16777215 1656] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_DollarName '$u'))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:u spids:[1675]) op: Equal rhs: {(DQ ($ VSub_DollarName '$bad_color') ($ VSub_DollarName '$u'))} spids: [1675] ) ] spids: [1675] ) ] spids: [16777215 1672] ) ] spids: [16777215 1682] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:r spids:[1685]) op: Equal rhs: {(DQ ($ VSub_DollarName '$c_clear') ($ VSub_DollarName '$r'))} spids: [1685] ) ] spids: [1685] ) ] spids: [1402] ) spids: [1397 1401] ) (command.FuncDef name: __git_eread body: (command.BraceGroup children: [ (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:f spids:[1704]) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [1704] ) ] spids: [1702] ) (C {(shift)}) (command.AndOr ops: [Op_DAmp] children: [ (C {(test)} {(-r)} {(DQ ($ VSub_DollarName '$f'))}) (command.SimpleCommand words: [{(read)} {(DQ ($ VSub_At '$@'))}] redirects: [ (redir.Redir op: <Redir_Less '<'> fd: 16777215 arg_word: {(DQ ($ VSub_DollarName '$f'))} ) ] ) ] ) ] spids: [1699] ) spids: [1694 1698] ) (command.FuncDef name: __git_ps1 body: (command.BraceGroup children: [ (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:exit spids:[1784]) op: Equal rhs: {($ VSub_QMark '$?')} spids: [1784] ) ] spids: [1782] ) (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:pcmode spids:[1790]) op: Equal rhs: {(no)} spids: [1790] ) ] spids: [1788] ) (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:detached spids:[1796]) op: Equal rhs: {(no)} spids: [1796] ) ] spids: [1794] ) (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:ps1pc_start spids:[1802]) op: Equal rhs: {(SQ <'\\u@\\h:\\w '>)} spids: [1802] ) ] spids: [1800] ) (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:ps1pc_end spids:[1810]) op: Equal rhs: {(SQ <'\\$ '>)} spids: [1810] ) ] spids: [1808] ) (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:printf_format spids:[1818]) op: Equal rhs: {(SQ <' (%s)'>)} spids: [1818] ) ] spids: [1816] ) (command.Case to_match: {(DQ ($ VSub_Pound '$#'))} arms: [ (case_arm pat_list: [{(2)} {(3)}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:pcmode spids:[1839]) op: Equal rhs: {(yes)} spids: [1839] ) ] spids: [1839] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:ps1pc_start spids:[1843]) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [1843] ) ] spids: [1843] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:ps1pc_end spids:[1849]) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [1849] ) ] spids: [1849] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:printf_format spids:[1855]) op: Equal rhs: { (DQ (word_part.BracedVarSub token: <VSub_Number 3> suffix_op: (suffix_op.StringUnary op_id: VTest_ColonHyphen arg_word: {($ VSub_DollarName '$printf_format')} ) spids: [1857 1861] ) ) } spids: [1855] ) ] spids: [1855] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:PS1 spids:[1877]) op: Equal rhs: { (DQ ($ VSub_DollarName '$ps1pc_start') ($ VSub_DollarName '$ps1pc_end')) } spids: [1877] ) ] spids: [1877] ) ] spids: [1834 1837 1884 16777215] ) (case_arm pat_list: [{(0)} {(1)}] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:printf_format spids:[1892]) op: Equal rhs: { (DQ (word_part.BracedVarSub token: <VSub_Number 1> suffix_op: (suffix_op.StringUnary op_id: VTest_ColonHyphen arg_word: {($ VSub_DollarName '$printf_format')} ) spids: [1894 1898] ) ) } spids: [1892] ) ] spids: [1892] ) ] spids: [1887 1890 1902 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (command.ControlFlow token: <ControlFlow_Return return> arg_word: {($ VSub_DollarName '$exit')} ) ] spids: [1905 1906 1913 16777215] ) ] spids: [1825 1831 1916] ) (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:ps1_expanded spids:[2054]) op: Equal rhs: {(yes)} spids: [2054] ) ] spids: [2052] ) (command.AndOr ops: [Op_DPipe Op_DPipe] children: [ (C {(Lit_Other '[')} {(-z)} { (DQ (word_part.BracedVarSub token: <VSub_Name ZSH_VERSION> suffix_op: (suffix_op.StringUnary op_id:VTest_Hyphen arg_word:(word.EmptyWord)) spids: [2063 2066] ) ) } {(Lit_Other ']')} ) (command.DBracket expr: (bool_expr.BoolUnary op_id:BoolUnary_o child:{(PROMPT_SUBST)}) ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:ps1_expanded spids:[2083]) op: Equal rhs: {(no)} spids: [2083] ) ] spids: [2083] ) ] ) (command.AndOr ops: [Op_DPipe Op_DPipe] children: [ (C {(Lit_Other '[')} {(-z)} { (DQ (word_part.BracedVarSub token: <VSub_Name BASH_VERSION> suffix_op: (suffix_op.StringUnary op_id:VTest_Hyphen arg_word:(word.EmptyWord)) spids: [2092 2095] ) ) } {(Lit_Other ']')} ) (C {(shopt)} {(-q)} {(promptvars)}) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:ps1_expanded spids:[2110]) op: Equal rhs: {(no)} spids: [2110] ) ] spids: [2110] ) ] ) (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:repo_info spids:[2117]) op: Equal spids: [2117] ) (assign_pair lhs: (lhs_expr.LhsName name:rev_parse_exit_code spids:[2119]) op: Equal spids: [2119] ) ] spids: [2115] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:repo_info spids:[2122]) op: Equal rhs: { (DQ (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.SimpleCommand words: [ {(git)} {(rev-parse)} {(--git-dir)} {(--is-inside-git-dir)} {(--is-bare-repository)} {(--is-inside-work-tree)} {(--short)} {(HEAD)} ] redirects: [ (redir.Redir op: <Redir_Great '2>'> fd: 2 arg_word: {(/dev/null)} ) ] ) ] ) left_token: <Left_CommandSub '$('> spids: [2124 2147] ) ) } spids: [2122] ) ] spids: [2122] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:rev_parse_exit_code spids:[2151]) op: Equal rhs: {(DQ ($ VSub_QMark '$?'))} spids: [2151] ) ] spids: [2151] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_DollarName '$repo_info'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.ControlFlow token: <ControlFlow_Return return> arg_word: {($ VSub_DollarName '$exit')} ) ] spids: [16777215 2171] ) ] spids: [16777215 2179] ) (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:short_sha spids:[2185]) op: Equal rhs: {(DQ )} spids: [2185] ) ] spids: [2183] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$rev_parse_exit_code'))} {(Lit_Other '=')} {(DQ (0))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:short_sha spids:[2210]) op: Equal rhs: { (DQ (word_part.BracedVarSub token: <VSub_Name repo_info> suffix_op: (suffix_op.StringUnary op_id: VOp1_DPound arg_word: {('*') (Lit_Other '$') ("'") (word_part.EscapedLiteralPart token: <Lit_EscapedChar '\\n'> ) ("'") } ) spids: [2212 2220] ) ) } spids: [2210] ) ] spids: [2210] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:repo_info spids:[2224]) op: Equal rhs: { (DQ (word_part.BracedVarSub token: <VSub_Name repo_info> suffix_op: (suffix_op.StringUnary op_id: VOp1_Percent arg_word: {(Lit_Other '$') ("'") (word_part.EscapedLiteralPart token: <Lit_EscapedChar '\\n'> ) ("'*") } ) spids: [2226 2233] ) ) } spids: [2224] ) ] spids: [2224] ) ] spids: [16777215 2207] ) ] spids: [16777215 2237] ) (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:inside_worktree spids:[2242]) op: Equal rhs: { (DQ (word_part.BracedVarSub token: <VSub_Name repo_info> suffix_op: (suffix_op.StringUnary op_id: VOp1_DPound arg_word: {('*') (Lit_Other '$') ("'") (word_part.EscapedLiteralPart token: <Lit_EscapedChar '\\n'> ) ("'") } ) spids: [2244 2252] ) ) } spids: [2242] ) ] spids: [2240] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:repo_info spids:[2256]) op: Equal rhs: { (DQ (word_part.BracedVarSub token: <VSub_Name repo_info> suffix_op: (suffix_op.StringUnary op_id: VOp1_Percent arg_word: {(Lit_Other '$') ("'") (word_part.EscapedLiteralPart token: <Lit_EscapedChar '\\n'> ) ("'*") } ) spids: [2258 2265] ) ) } spids: [2256] ) ] spids: [2256] ) (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:bare_repo spids:[2271]) op: Equal rhs: { (DQ (word_part.BracedVarSub token: <VSub_Name repo_info> suffix_op: (suffix_op.StringUnary op_id: VOp1_DPound arg_word: {('*') (Lit_Other '$') ("'") (word_part.EscapedLiteralPart token: <Lit_EscapedChar '\\n'> ) ("'") } ) spids: [2273 2281] ) ) } spids: [2271] ) ] spids: [2269] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:repo_info spids:[2285]) op: Equal rhs: { (DQ (word_part.BracedVarSub token: <VSub_Name repo_info> suffix_op: (suffix_op.StringUnary op_id: VOp1_Percent arg_word: {(Lit_Other '$') ("'") (word_part.EscapedLiteralPart token: <Lit_EscapedChar '\\n'> ) ("'*") } ) spids: [2287 2294] ) ) } spids: [2285] ) ] spids: [2285] ) (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:inside_gitdir spids:[2300]) op: Equal rhs: { (DQ (word_part.BracedVarSub token: <VSub_Name repo_info> suffix_op: (suffix_op.StringUnary op_id: VOp1_DPound arg_word: {('*') (Lit_Other '$') ("'") (word_part.EscapedLiteralPart token: <Lit_EscapedChar '\\n'> ) ("'") } ) spids: [2302 2310] ) ) } spids: [2300] ) ] spids: [2298] ) (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:g spids:[2316]) op: Equal rhs: { (DQ (word_part.BracedVarSub token: <VSub_Name repo_info> suffix_op: (suffix_op.StringUnary op_id: VOp1_Percent arg_word: {(Lit_Other '$') ("'") (word_part.EscapedLiteralPart token: <Lit_EscapedChar '\\n'> ) ("'*") } ) spids: [2318 2325] ) ) } spids: [2316] ) ] spids: [2314] ) (command.If arms: [ (if_arm cond: [ (command.AndOr ops: [Op_DAmp Op_DAmp Op_DAmp] children: [ (C {(Lit_Other '[')} {(DQ (true))} {(Lit_Other '=')} {(DQ ($ VSub_DollarName '$inside_worktree'))} {(Lit_Other ']')} ) (C {(Lit_Other '[')} {(-n)} { (DQ (word_part.BracedVarSub token: <VSub_Name GIT_PS1_HIDE_IF_PWD_IGNORED> suffix_op: (suffix_op.StringUnary op_id:VTest_Hyphen arg_word:(word.EmptyWord)) spids: [2354 2357] ) ) } {(Lit_Other ']')} ) (C {(Lit_Other '[')} { (DQ (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(git)} {(config)} {(--bool)} {(bash.hideIfPwdIgnored)}) ] ) left_token: <Left_CommandSub '$('> spids: [2368 2376] ) ) } {(KW_Bang '!') (Lit_Other '=')} {(DQ (false))} {(Lit_Other ']')} ) (C {(git)} {(check-ignore)} {(-q)} {(.)}) ] ) ] action: [ (command.ControlFlow token: <ControlFlow_Return return> arg_word: {($ VSub_DollarName '$exit')} ) ] spids: [16777215 2400] ) ] spids: [16777215 2408] ) (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:r spids:[2414]) op: Equal rhs: {(DQ )} spids: [2414] ) ] spids: [2412] ) (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:b spids:[2421]) op: Equal rhs: {(DQ )} spids: [2421] ) ] spids: [2419] ) (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:step spids:[2428]) op: Equal rhs: {(DQ )} spids: [2428] ) ] spids: [2426] ) (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:total spids:[2435]) op: Equal rhs: {(DQ )} spids: [2435] ) ] spids: [2433] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-d)} {(DQ ($ VSub_DollarName '$g') (/rebase-merge))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(__git_eread)} {(DQ ($ VSub_DollarName '$g') (/rebase-merge/head-name))} {(b)}) (C {(__git_eread)} {(DQ ($ VSub_DollarName '$g') (/rebase-merge/msgnum))} {(step)}) (C {(__git_eread)} {(DQ ($ VSub_DollarName '$g') (/rebase-merge/end))} {(total)}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-f)} {(DQ ($ VSub_DollarName '$g') (/rebase-merge/interactive))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:r spids:[2504]) op: Equal rhs: {(DQ ('|REBASE-i'))} spids: [2504] ) ] spids: [2504] ) ] spids: [16777215 2501] ) ] else_action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:r spids:[2513]) op: Equal rhs: {(DQ ('|REBASE-m'))} spids: [2513] ) ] spids: [2513] ) ] spids: [2510 2519] ) ] spids: [16777215 2454] ) ] else_action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-d)} {(DQ ($ VSub_DollarName '$g') (/rebase-apply))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(__git_eread)} {(DQ ($ VSub_DollarName '$g') (/rebase-apply/next))} {(step)}) (C {(__git_eread)} {(DQ ($ VSub_DollarName '$g') (/rebase-apply/last))} {(total)} ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-f)} {(DQ ($ VSub_DollarName '$g') (/rebase-apply/rebasing))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(__git_eread)} {(DQ ($ VSub_DollarName '$g') (/rebase-apply/head-name))} {(b)} ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:r spids:[2589]) op: Equal rhs: {(DQ ('|REBASE'))} spids: [2589] ) ] spids: [2589] ) ] spids: [16777215 2576] ) (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-f)} {(DQ ($ VSub_DollarName '$g') (/rebase-apply/applying))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:r spids:[2612]) op: Equal rhs: {(DQ ('|AM'))} spids: [2612] ) ] spids: [2612] ) ] spids: [2595 2609] ) ] else_action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:r spids:[2621]) op: Equal rhs: {(DQ ('|AM/REBASE'))} spids: [2621] ) ] spids: [2621] ) ] spids: [2618 2627] ) ] spids: [16777215 2539] ) (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-f)} {(DQ ($ VSub_DollarName '$g') (/MERGE_HEAD))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:r spids:[2647]) op: Equal rhs: {(DQ ('|MERGING'))} spids: [2647] ) ] spids: [2647] ) ] spids: [2630 2644] ) (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-f)} {(DQ ($ VSub_DollarName '$g') (/CHERRY_PICK_HEAD))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:r spids:[2670]) op: Equal rhs: {(DQ ('|CHERRY-PICKING'))} spids: [2670] ) ] spids: [2670] ) ] spids: [2653 2667] ) (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-f)} {(DQ ($ VSub_DollarName '$g') (/REVERT_HEAD))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:r spids:[2693]) op: Equal rhs: {(DQ ('|REVERTING'))} spids: [2693] ) ] spids: [2693] ) ] spids: [2676 2690] ) (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-f)} {(DQ ($ VSub_DollarName '$g') (/BISECT_LOG))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:r spids:[2716]) op: Equal rhs: {(DQ ('|BISECTING'))} spids: [2716] ) ] spids: [2716] ) ] spids: [2699 2713] ) ] spids: [16777215 2722] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_DollarName '$b'))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [(C {(Lit_Other ':')})] spids: [16777215 2739] ) (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-h)} {(DQ ($ VSub_DollarName '$g') (/HEAD))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:b spids:[2766]) op: Equal rhs: { (DQ (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.SimpleCommand words: [{(git)} {(symbolic-ref)} {(HEAD)}] redirects: [ (redir.Redir op: <Redir_Great '2>'> fd: 2 arg_word: {(/dev/null)} ) ] ) ] ) left_token: <Left_CommandSub '$('> spids: [2768 2777] ) ) } spids: [2766] ) ] spids: [2766] ) ] spids: [2745 2759] ) ] else_action: [ (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:head spids:[2786]) op: Equal rhs: {(DQ )} spids: [2786] ) ] spids: [2784] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.Pipeline children: [ (C {(__git_eread)} {(DQ ($ VSub_DollarName '$g') (/HEAD))} {(head)}) ] negated: T ) terminator: <Op_Semi ';'> ) ] action: [ (command.ControlFlow token: <ControlFlow_Return return> arg_word: {($ VSub_DollarName '$exit')} ) ] spids: [16777215 2805] ) ] spids: [16777215 2813] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:b spids:[2820]) op: Equal rhs: { (DQ (word_part.BracedVarSub token: <VSub_Name head> suffix_op: (suffix_op.StringUnary op_id: VOp1_Pound arg_word: {('ref: ')} ) spids: [2822 2826] ) ) } spids: [2820] ) ] spids: [2820] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$head'))} {(Lit_Other '=')} {(DQ ($ VSub_DollarName '$b'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:detached spids:[2850]) op: Equal rhs: {(yes)} spids: [2850] ) ] spids: [2850] ) (command.AndOr ops: [Op_DPipe] children: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:b spids:[2854]) op: Equal rhs: { (DQ (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.Case to_match: { (DQ (word_part.BracedVarSub token: <VSub_Name GIT_PS1_DESCRIBE_STYLE> suffix_op: (suffix_op.StringUnary op_id: VTest_Hyphen arg_word: (word.EmptyWord) ) spids: [2862 2865] ) ) } arms: [ (case_arm pat_list: [{(contains)}] action: [ (C {(git)} {(describe)} {(--contains)} {(HEAD)} ) ] spids: [2871 2873 2884 16777215] ) (case_arm pat_list: [{(branch)}] action: [ (C {(git)} {(describe)} {(--contains)} {(--all)} {(HEAD)} ) ] spids: [2887 2889 2902 16777215] ) (case_arm pat_list: [{(describe)}] action: [(C {(git)} {(describe)} {(HEAD)})] spids: [2905 2907 2916 16777215] ) (case_arm pat_list: [{(Lit_Other '*')} {(default)}] action: [ (C {(git)} {(describe)} {(--tags)} {(--exact-match)} {(HEAD)} ) ] spids: [2919 2925 2938 16777215] ) ] redirects: [ (redir.Redir op: <Redir_Great '2>'> fd: 2 arg_word: {(/dev/null)} ) ] spids: [2859 2868 2941] ) ] ) left_token: <Left_CommandSub '$('> spids: [2856 2945] ) ) } spids: [2854] ) ] spids: [2854] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:b spids:[2952]) op: Equal rhs: {(DQ ($ VSub_DollarName '$short_sha') (...))} spids: [2952] ) ] spids: [2952] ) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:b spids:[2959]) op: Equal rhs: {(DQ ('(') ($ VSub_DollarName '$b') (')'))} spids: [2959] ) ] spids: [2959] ) ] spids: [16777215 2847] ) ] spids: [16777215 2967] ) ] spids: [2781 2970] ) ] spids: [2522 2973] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.AndOr ops: [Op_DAmp] children: [ (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_DollarName '$step'))} {(Lit_Other ']')} ) (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_DollarName '$total'))} {(Lit_Other ']')} ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:r spids:[3005]) op: Equal rhs: { (DQ ($ VSub_DollarName '$r') (' ') ($ VSub_DollarName '$step') (/) ($ VSub_DollarName '$total') ) } spids: [3005] ) ] spids: [3005] ) ] spids: [16777215 3002] ) ] spids: [16777215 3015] ) (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:w spids:[3021]) op: Equal rhs: {(DQ )} spids: [3021] ) ] spids: [3019] ) (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:i spids:[3028]) op: Equal rhs: {(DQ )} spids: [3028] ) ] spids: [3026] ) (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:s spids:[3035]) op: Equal rhs: {(DQ )} spids: [3035] ) ] spids: [3033] ) (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:u spids:[3042]) op: Equal rhs: {(DQ )} spids: [3042] ) ] spids: [3040] ) (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:c spids:[3049]) op: Equal rhs: {(DQ )} spids: [3049] ) ] spids: [3047] ) (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:p spids:[3056]) op: Equal rhs: {(DQ )} spids: [3056] ) ] spids: [3054] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ (true))} {(Lit_Other '=')} {(DQ ($ VSub_DollarName '$inside_gitdir'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ (true))} {(Lit_Other '=')} {(DQ ($ VSub_DollarName '$bare_repo'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:c spids:[3102]) op: Equal rhs: {(DQ ('BARE:'))} spids: [3102] ) ] spids: [3102] ) ] spids: [16777215 3099] ) ] else_action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:b spids:[3111]) op: Equal rhs: {(DQ ('GIT_DIR!'))} spids: [3111] ) ] spids: [3111] ) ] spids: [3108 3117] ) ] spids: [16777215 3079] ) (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ (true))} {(Lit_Other '=')} {(DQ ($ VSub_DollarName '$inside_worktree'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.AndOr ops: [Op_DAmp] children: [ (C {(Lit_Other '[')} {(-n)} { (DQ (word_part.BracedVarSub token: <VSub_Name GIT_PS1_SHOWDIRTYSTATE> suffix_op: (suffix_op.StringUnary op_id:VTest_Hyphen arg_word:(word.EmptyWord)) spids: [3147 3150] ) ) } {(Lit_Other ']')} ) (C {(Lit_Other '[')} { (DQ (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(git)} {(config)} {(--bool)} {(bash.showDirtyState)}) ] ) left_token: <Left_CommandSub '$('> spids: [3161 3169] ) ) } {(KW_Bang '!') (Lit_Other '=')} {(DQ (false))} {(Lit_Other ']')} ) ] ) ] action: [ (command.AndOr ops: [Op_DPipe] children: [ (C {(git)} {(diff)} {(--no-ext-diff)} {(--quiet)}) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:w spids:[3195]) op: Equal rhs: {(DQ ('*'))} spids: [3195] ) ] spids: [3195] ) ] ) (command.AndOr ops: [Op_DPipe] children: [ (C {(git)} {(diff)} {(--no-ext-diff)} {(--cached)} {(--quiet)}) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:i spids:[3213]) op: Equal rhs: {(DQ ('+'))} spids: [3213] ) ] spids: [3213] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.AndOr ops: [Op_DAmp] children: [ (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_DollarName '$short_sha'))} {(Lit_Other ']')} ) (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_DollarName '$i'))} {(Lit_Other ']')} ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:i spids:[3247]) op: Equal rhs: {(DQ ('#'))} spids: [3247] ) ] spids: [3247] ) ] spids: [16777215 3244] ) ] spids: [16777215 3253] ) ] spids: [16777215 3182] ) ] spids: [16777215 3256] ) (command.If arms: [ (if_arm cond: [ (command.AndOr ops: [Op_DAmp] children: [ (C {(Lit_Other '[')} {(-n)} { (DQ (word_part.BracedVarSub token: <VSub_Name GIT_PS1_SHOWSTASHSTATE> suffix_op: (suffix_op.StringUnary op_id:VTest_Hyphen arg_word:(word.EmptyWord)) spids: [3266 3269] ) ) } {(Lit_Other ']')} ) (command.SimpleCommand words: [{(git)} {(rev-parse)} {(--verify)} {(--quiet)} {(refs/stash)}] redirects: [ (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(/dev/null)} ) ] ) ] ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:s spids:[3294]) op: Equal rhs: {(DQ (Lit_Other '$'))} spids: [3294] ) ] spids: [3294] ) ] spids: [16777215 3291] ) ] spids: [16777215 3300] ) (command.If arms: [ (if_arm cond: [ (command.AndOr ops: [Op_DAmp Op_DAmp] children: [ (C {(Lit_Other '[')} {(-n)} { (DQ (word_part.BracedVarSub token: <VSub_Name GIT_PS1_SHOWUNTRACKEDFILES> suffix_op: (suffix_op.StringUnary op_id:VTest_Hyphen arg_word:(word.EmptyWord)) spids: [3311 3314] ) ) } {(Lit_Other ']')} ) (C {(Lit_Other '[')} { (DQ (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(git)} {(config)} {(--bool)} {(bash.showUntrackedFiles)} ) ] ) left_token: <Left_CommandSub '$('> spids: [3325 3333] ) ) } {(KW_Bang '!') (Lit_Other '=')} {(DQ (false))} {(Lit_Other ']')} ) (command.SimpleCommand words: [ {(git)} {(ls-files)} {(--others)} {(--exclude-standard)} {(--directory)} {(--no-empty-directory)} {(--error-unmatch)} {(--)} {(SQ <':/*'>)} ] redirects: [ (redir.Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(/dev/null)} ) (redir.Redir op: <Redir_Great '2>'> fd: 2 arg_word: {(/dev/null)} ) ] ) ] ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:u spids:[3378]) op: Equal rhs: { (DQ ('%') (word_part.BracedVarSub token: <VSub_Name ZSH_VERSION> suffix_op: (suffix_op.StringUnary op_id: VTest_Plus arg_word: {(Lit_Percent '%')} ) spids: [3381 3385] ) ) } spids: [3378] ) ] spids: [3378] ) ] spids: [16777215 3375] ) ] spids: [16777215 3389] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-n)} { (DQ (word_part.BracedVarSub token: <VSub_Name GIT_PS1_SHOWUPSTREAM> suffix_op: (suffix_op.StringUnary op_id:VTest_Hyphen arg_word:(word.EmptyWord)) spids: [3400 3403] ) ) } {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [(C {(__git_ps1_show_upstream)})] spids: [16777215 3409] ) ] spids: [16777215 3415] ) ] spids: [3120 3137] ) ] spids: [16777215 3418] ) (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:z spids:[3424]) op: Equal rhs: { (DQ (word_part.BracedVarSub token: <VSub_Name GIT_PS1_STATESEPARATOR> suffix_op: (suffix_op.StringUnary op_id:VTest_Hyphen arg_word:{(DQ (' '))}) spids: [3426 3432] ) ) } spids: [3424] ) ] spids: [3422] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.AndOr ops: [Op_DAmp] children: [ (C {(Lit_Other '[')} {($ VSub_DollarName '$pcmode')} {(Lit_Other '=')} {(yes)} {(Lit_Other ']')} ) (C {(Lit_Other '[')} {(-n)} { (DQ (word_part.BracedVarSub token: <VSub_Name GIT_PS1_SHOWCOLORHINTS> suffix_op: (suffix_op.StringUnary op_id:VTest_Hyphen arg_word:(word.EmptyWord)) spids: [3460 3463] ) ) } {(Lit_Other ']')} ) ] ) terminator: <Op_Semi ';'> ) ] action: [(C {(__git_ps1_colorize_gitstring)})] spids: [16777215 3469] ) ] spids: [16777215 3475] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:b spids:[3479]) op: Equal rhs: { (word_part.BracedVarSub token: <VSub_Name b> suffix_op: (suffix_op.StringUnary op_id: VOp1_DPound arg_word: {(refs) (Lit_Slash /) (heads) (Lit_Slash /)} ) spids: [3480 3487] ) } spids: [3479] ) ] spids: [3479] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.AndOr ops: [Op_DAmp] children: [ (C {(Lit_Other '[')} {($ VSub_DollarName '$pcmode')} {(Lit_Other '=')} {(yes)} {(Lit_Other ']')} ) (C {(Lit_Other '[')} {($ VSub_DollarName '$ps1_expanded')} {(Lit_Other '=')} {(yes)} {(Lit_Other ']')} ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:__git_ps1_branch_name spids:[3518]) op: Equal rhs: {($ VSub_DollarName '$b')} spids: [3518] ) ] spids: [3518] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:b spids:[3522]) op: Equal rhs: { (DQ (word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) ('{__git_ps1_branch_name}') ) } spids: [3522] ) ] spids: [3522] ) ] spids: [16777215 3515] ) ] spids: [16777215 3529] ) (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:f spids:[3535]) op: Equal rhs: { (DQ ($ VSub_DollarName '$w') ($ VSub_DollarName '$i') ($ VSub_DollarName '$s') ($ VSub_DollarName '$u') ) } spids: [3535] ) ] spids: [3533] ) (command.Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:gitstring spids:[3546]) op: Equal rhs: { (DQ ($ VSub_DollarName '$c') ($ VSub_DollarName '$b') (word_part.BracedVarSub token: <VSub_Name f> suffix_op: (suffix_op.StringUnary op_id: VTest_ColonPlus arg_word: {($ VSub_DollarName '$z') ($ VSub_DollarName '$f')} ) spids: [3550 3555] ) ($ VSub_DollarName '$r') ($ VSub_DollarName '$p') ) } spids: [3546] ) ] spids: [3544] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {($ VSub_DollarName '$pcmode')} {(Lit_Other '=')} {(yes)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} { (DQ (word_part.BracedVarSub token: <VSub_Name __git_printf_supports_v> suffix_op: (suffix_op.StringUnary op_id:VTest_Hyphen arg_word:(word.EmptyWord)) spids: [3583 3586] ) ) } {(KW_Bang '!') (Lit_Other '=')} {(yes)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:gitstring spids:[3600]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(printf)} {(--)} {(DQ ($ VSub_DollarName '$printf_format'))} {(DQ ($ VSub_DollarName '$gitstring'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [3601 3613] ) } spids: [3600] ) ] spids: [3600] ) ] spids: [16777215 3597] ) ] else_action: [ (C {(printf)} {(-v)} {(gitstring)} {(--)} {(DQ ($ VSub_DollarName '$printf_format'))} {(DQ ($ VSub_DollarName '$gitstring'))} ) ] spids: [3616 3636] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:PS1 spids:[3639]) op: Equal rhs: { (DQ ($ VSub_DollarName '$ps1pc_start') ($ VSub_DollarName '$gitstring') ($ VSub_DollarName '$ps1pc_end') ) } spids: [3639] ) ] spids: [3639] ) ] spids: [16777215 3575] ) ] else_action: [ (C {(printf)} {(--)} {(DQ ($ VSub_DollarName '$printf_format'))} {(DQ ($ VSub_DollarName '$gitstring'))} ) ] spids: [3647 3663] ) (command.ControlFlow token: <ControlFlow_Return return> arg_word: {($ VSub_DollarName '$exit')} ) ] spids: [1775] ) spids: [1770 1774] ) ] )