(List (= scope= flags=0 words=[] bindings=[('__git_printf_supports_v', {[SQ ]})]) (Com {[LIT_CHARS printf]} {[LIT_CHARS -v]} {[LIT_CHARS __git_printf_supports_v]} {[LIT_CHARS --]} {[SQ ]} {[LIT_CHARS yes]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), (DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 2), > ) (FunctionDef __git_ps1_show_upstream [] (List (= scope= flags=0 words=[{[LIT_CHARS key]}, {[LIT_CHARS value]}] bindings=[]) (= scope= flags=0 words=[{[LIT_CHARS svn_remote]}, {[LIT_CHARS svn_url_pattern]}, {[LIT_CHARS count]}, {[LIT_CHARS n]}] bindings=[]) (= scope= flags=0 words=[] bindings=[('upstream', {[LIT_CHARS git]}), ('legacy', {[DQ ]}), ('verbose', {[DQ ]}), ('name', {[DQ ]})]) (= scope= flags=0 words=[] bindings=[('svn_remote', {[Array ]})]) (= scope= flags=0 words=[] bindings=[('output', {[DQ [ComSub (Pipeline (Com redirects=[(FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2)]{[LIT_CHARS git]} {[LIT_CHARS config]} {[LIT_CHARS -z]} {[LIT_CHARS --get-regexp]} {[SQ ]}) (Com {[LIT_CHARS tr]} {[SQ ]} {[SQ ]}) )]]})]) (While (Com {[LIT_CHARS read]} {[LIT_CHARS -r]} {[LIT_CHARS key]} {[LIT_CHARS value]}) (Case to_match={[DQ [VarSub key]]}, pat_word_list=[[{[LIT_CHARS bash.showupstream]}], [{[LIT_CHARS svn-remote.] [LIT_OTHER "*"] [LIT_CHARS .url]}]] (List (= scope= flags=0 words=[] bindings=[('GIT_PS1_SHOWUPSTREAM', {[DQ [VarSub value]]})]) (If (DBracket {B1 UNARY_STRING_z {[DQ [VarSub GIT_PS1_SHOWUPSTREAM]]}}) (List (= scope= flags=0 words=[] bindings=[('p', {[DQ ]})]) (Com {[LIT_CHARS return]}) ) ) ) (List (Com {[LIT_CHARS svn_remote] [LIT_OTHER "["] [ArithSub {A2 AS_OP_PLUS {A Atom NODE_ARITH_WORD {[VarSub svn_remote bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}}) transform_ops=[(#len)]]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}}] [LIT_OTHER "]"] [LIT_OTHER "="] [DQ [VarSub value]]}) (= scope= flags=0 words=[] bindings=[('svn_url_pattern', {[DQ [VarSub svn_url_pattern][\ LIT_ESCAPED_CHAR "\\\\"][LIT_CHARS "|"][VarSub value]]})]) (= scope= flags=0 words=[] bindings=[('upstream', {[LIT_CHARS svn] [LIT_OTHER "+"] [LIT_CHARS git]})]) ) ) ) (For option [{[VarSub GIT_PS1_SHOWUPSTREAM]}]) (Case to_match={[DQ [VarSub option]]}, pat_word_list=[[{[LIT_CHARS git]}, {[LIT_CHARS svn]}], [{[LIT_CHARS verbose]}], [{[LIT_CHARS legacy]}], [{[LIT_CHARS name]}]] (= scope= flags=0 words=[] bindings=[('upstream', {[DQ [VarSub option]]})]) (= scope= flags=0 words=[] bindings=[('verbose', {[LIT_CHARS 1]})]) (= scope= flags=0 words=[] bindings=[('legacy', {[LIT_CHARS 1]})]) (= scope= flags=0 words=[] bindings=[('name', {[LIT_CHARS 1]})]) ) ) (Case to_match={[DQ [VarSub upstream]]}, pat_word_list=[[{[LIT_CHARS git]}], [{[LIT_CHARS svn] [LIT_OTHER "*"]}]] (= scope= flags=0 words=[] bindings=[('upstream', {[DQ [LIT_CHARS "@{upstream}"]]})]) (List (= scope= flags=0 words=[{[LIT_CHARS -a]}, {[LIT_CHARS svn_upstream]}] bindings=[]) (= scope= flags=0 words=[] bindings=[('svn_upstream', {[Array {[ComSub (Com redirects=[(FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2)]{[LIT_CHARS git]} {[LIT_CHARS log]} {[LIT_CHARS --first-parent]} {[LIT_CHARS -1]} {[LIT_CHARS --grep] [LIT_OTHER "="] [DQ [LIT_CHARS "^git-svn-id: "][\ LIT_ESCAPED_CHAR "\\("][VarSub svn_url_pattern transform_ops=[VS_UNARY_POUND {[LIT_CHARS "??"]}]][\ LIT_ESCAPED_CHAR "\\)"]]})]}]})]) (If (DBracket {B2 BINARY_INT_NE {[LIT_CHARS 0]} {[VarSub svn_upstream bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}}) transform_ops=[(#len)]]}}) (List (= scope= flags=0 words=[] bindings=[('svn_upstream', {[VarSub svn_upstream bracket_op=(Index {A2 AS_OP_MINUS {A Atom NODE_ARITH_WORD {[VarSub svn_upstream bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}}) transform_ops=[(#len)]]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 2]}}})]})]) (= scope= flags=0 words=[] bindings=[('svn_upstream', {[VarSub svn_upstream transform_ops=[VS_UNARY_PERCENT {[LIT_CHARS "@*"]}]]})]) (= scope= flags=0 words=[] bindings=[('n_stop', {[DQ [VarSub svn_remote bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}}) transform_ops=[(#len)]]]})]) (ForExpr {A2 AS_OP_EQUAL {A Atom NODE_ARITH_WORD {[VarSub n]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}} {A2 AS_OP_LE {A Atom NODE_ARITH_WORD {[VarSub n]}} {A Atom NODE_ARITH_WORD {[VarSub n_stop]}}} {A1 AS_OP_DPLUS {A Atom NODE_ARITH_WORD {[VarSub n]}} } (= scope= flags=0 words=[] bindings=[('svn_upstream', {[VarSub svn_upstream transform_ops=[VS_UNARY_POUND {[VarSub svn_remote bracket_op=(Index {A Atom NODE_ARITH_WORD {[VarSub n]}})]}]]})]) ) (If (DBracket {B1 UNARY_STRING_z {[DQ [VarSub svn_upstream]]}}) (= scope= flags=0 words=[] bindings=[('upstream', {[VarSub GIT_SVN_ID test_op=VS_TEST_COLON_HYPHEN {[LIT_CHARS git-svn]}]})]) (ElseTrue) (= scope= flags=0 words=[] bindings=[('upstream', {[VarSub svn_upstream transform_ops=[VS_UNARY_POUND {[LIT_SLASH /]}]]})]) ) ) (DBracket {B2 BINARY_STRING_EQUAL {[DQ [LIT_CHARS "svn+git"]]} {[DQ [VarSub upstream]]}}) (= scope= flags=0 words=[] bindings=[('upstream', {[DQ [LIT_CHARS "@{upstream}"]]})]) ) ) ) (If (DBracket {B1 UNARY_STRING_z {[DQ [VarSub legacy]]}}) (= scope= flags=0 words=[] bindings=[('count', {[DQ [ComSub (Com redirects=[(FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2)]{[LIT_CHARS git]} {[LIT_CHARS rev-list]} {[LIT_CHARS --count]} {[LIT_CHARS --left-right]} {[DQ [VarSub upstream]] [LIT_CHARS ...HEAD]})]]})]) (ElseTrue) (List (= scope= flags=0 words=[{[LIT_CHARS commits]}] bindings=[]) (If (= scope= flags=0 words=[] bindings=[('commits', {[DQ [ComSub (Com redirects=[(FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2)]{[LIT_CHARS git]} {[LIT_CHARS rev-list]} {[LIT_CHARS --left-right]} {[DQ [VarSub upstream]] [LIT_CHARS ...HEAD]})]]})]) (List (= scope= flags=0 words=[{[LIT_CHARS commit]}] bindings=[('behind', {[LIT_CHARS 0]}), ('ahead', {[LIT_CHARS 0]})]) (For commit [{[VarSub commits]}]) (Case to_match={[DQ [VarSub commit]]}, pat_word_list=[[{[DQ [LIT_CHARS "<"]] [LIT_OTHER "*"]}], [{[LIT_OTHER "*"]}]] (DParen {A1 AS_OP_DPLUS {A Atom NODE_ARITH_WORD {[VarSub behind]}} }) (DParen {A1 AS_OP_DPLUS {A Atom NODE_ARITH_WORD {[VarSub ahead]}} }) ) ) (= scope= flags=0 words=[] bindings=[('count', {[DQ [VarSub behind][LIT_CHARS "\t"][VarSub ahead]]})]) ) (ElseTrue) (= scope= flags=0 words=[] bindings=[('count', {[DQ ]})]) ) ) ) (If (DBracket {B1 UNARY_STRING_z {[DQ [VarSub verbose]]}}) (Case to_match={[DQ [VarSub count]]}, pat_word_list=[[{[DQ ]}], [{[DQ [LIT_CHARS "0\t0"]]}], [{[DQ [LIT_CHARS "0\t"]] [LIT_OTHER "*"]}], [{[LIT_OTHER "*"] [DQ [LIT_CHARS "\t0"]]}], [{[LIT_OTHER "*"]}]] (= scope= flags=0 words=[] bindings=[('p', {[DQ ]})]) (= scope= flags=0 words=[] bindings=[('p', {[DQ [LIT_CHARS "="]]})]) (= scope= flags=0 words=[] bindings=[('p', {[DQ [LIT_CHARS ">"]]})]) (= scope= flags=0 words=[] bindings=[('p', {[DQ [LIT_CHARS "<"]]})]) (= scope= flags=0 words=[] bindings=[('p', {[DQ [LIT_CHARS "<>"]]})]) ) (ElseTrue) (List (Case to_match={[DQ [VarSub count]]}, pat_word_list=[[{[DQ ]}], [{[DQ [LIT_CHARS "0\t0"]]}], [{[DQ [LIT_CHARS "0\t"]] [LIT_OTHER "*"]}], [{[LIT_OTHER "*"] [DQ [LIT_CHARS "\t0"]]}], [{[LIT_OTHER "*"]}]] (= scope= flags=0 words=[] bindings=[('p', {[DQ ]})]) (= scope= flags=0 words=[] bindings=[('p', {[DQ [LIT_CHARS " u="]]})]) (= scope= flags=0 words=[] bindings=[('p', {[DQ [LIT_CHARS " u+"][VarSub count transform_ops=[VS_UNARY_POUND {[LIT_CHARS "0\t"]}]]]})]) (= scope= flags=0 words=[] bindings=[('p', {[DQ [LIT_CHARS " u-"][VarSub count transform_ops=[VS_UNARY_PERCENT {[LIT_CHARS "\t0"]}]]]})]) (= scope= flags=0 words=[] bindings=[('p', {[DQ [LIT_CHARS " u+"][VarSub count transform_ops=[VS_UNARY_POUND {[LIT_CHARS "*\t"]}]][LIT_CHARS -][VarSub count transform_ops=[VS_UNARY_PERCENT {[LIT_CHARS "\t*"]}]]]})]) ) (If (DBracket {B? LOGICAL_BINARY_AND {B1 UNARY_STRING_n {[DQ [VarSub count]]}} {B1 UNARY_STRING_n {[DQ [VarSub name]]}}}) (List (= scope= flags=0 words=[] bindings=[('__git_ps1_upstream_name', {[ComSub (Com redirects=[(FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2)]{[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS --abbrev-ref]} {[DQ [VarSub upstream]]})]})]) (If (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[VarSub pcmode]} {[LIT_OTHER "="]} {[LIT_CHARS yes]} {[LIT_OTHER "]"]}) (Com {[LIT_OTHER "["]} {[VarSub ps1_expanded]} {[LIT_OTHER "="]} {[LIT_CHARS yes]} {[LIT_OTHER "]"]}) ) (= scope= flags=0 words=[] bindings=[('p', {[DQ [VarSub p][LIT_CHARS " "][\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS "{__git_ps1_upstream_name}"]]})]) (ElseTrue) (List (= scope= flags=0 words=[] bindings=[('p', {[DQ [VarSub p][LIT_CHARS " "][VarSub __git_ps1_upstream_name]]})]) (Com {[LIT_CHARS unset]} {[LIT_CHARS __git_ps1_upstream_name]}) ) ) ) ) ) ) ) ) (FunctionDef __git_ps1_colorize_gitstring [] (List (If (DBracket {B1 UNARY_STRING_n {[VarSub ZSH_VERSION test_op=VS_TEST_HYPHEN {}]}}) (List (= scope= flags=0 words=[] bindings=[('c_red', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('c_green', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('c_lblue', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('c_clear', {[SQ ]})]) ) (ElseTrue) (List (= scope= flags=0 words=[] bindings=[('c_red', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('c_green', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('c_lblue', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('c_clear', {[SQ ]})]) ) ) (= scope= flags=0 words=[] bindings=[('bad_color', {[VarSub c_red]})]) (= scope= flags=0 words=[] bindings=[('ok_color', {[VarSub c_green]})]) (= scope= flags=0 words=[] bindings=[('flags_color', {[DQ [VarSub c_lblue]]})]) (= scope= flags=0 words=[] bindings=[('branch_color', {[DQ ]})]) (If (Com {[LIT_OTHER "["]} {[VarSub detached]} {[LIT_OTHER "="]} {[LIT_CHARS no]} {[LIT_OTHER "]"]}) (= scope= flags=0 words=[] bindings=[('branch_color', {[DQ [VarSub ok_color]]})]) (ElseTrue) (= scope= flags=0 words=[] bindings=[('branch_color', {[DQ [VarSub bad_color]]})]) ) (= scope= flags=0 words=[] bindings=[('c', {[DQ [VarSub branch_color][VarSub c]]})]) (= scope= flags=0 words=[] bindings=[('z', {[DQ [VarSub c_clear][VarSub z]]})]) (If (Com {[LIT_OTHER "["]} {[DQ [VarSub w]]} {[LIT_OTHER "="]} {[DQ [LIT_CHARS "*"]]} {[LIT_OTHER "]"]}) (= scope= flags=0 words=[] bindings=[('w', {[DQ [VarSub bad_color][VarSub w]]})]) ) (If (Com {[LIT_OTHER "["]} {[LIT_CHARS -n]} {[DQ [VarSub i]]} {[LIT_OTHER "]"]}) (= scope= flags=0 words=[] bindings=[('i', {[DQ [VarSub ok_color][VarSub i]]})]) ) (If (Com {[LIT_OTHER "["]} {[LIT_CHARS -n]} {[DQ [VarSub s]]} {[LIT_OTHER "]"]}) (= scope= flags=0 words=[] bindings=[('s', {[DQ [VarSub flags_color][VarSub s]]})]) ) (If (Com {[LIT_OTHER "["]} {[LIT_CHARS -n]} {[DQ [VarSub u]]} {[LIT_OTHER "]"]}) (= scope= flags=0 words=[] bindings=[('u', {[DQ [VarSub bad_color][VarSub u]]})]) ) (= scope= flags=0 words=[] bindings=[('r', {[DQ [VarSub c_clear][VarSub r]]})]) ) ) (FunctionDef __git_eread [] (List (= scope= flags=0 words=[] bindings=[('f', {[DQ [VarSub 1]]})]) (Com {[LIT_CHARS shift]}) (AndOr OP_AND_IF (Com {[LIT_CHARS test]} {[LIT_CHARS -r]} {[DQ [VarSub f]]}) (Com {[LIT_CHARS read]} {[DQ [VarSub @]]} < (FilenameRedirectNode filename={[DQ [VarSub f]]} 0), > ) ) ) ) (FunctionDef __git_ps1 [] (List (= scope= flags=0 words=[] bindings=[('exit', {[VarSub ?]})]) (= scope= flags=0 words=[] bindings=[('pcmode', {[LIT_CHARS no]})]) (= scope= flags=0 words=[] bindings=[('detached', {[LIT_CHARS no]})]) (= scope= flags=0 words=[] bindings=[('ps1pc_start', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('ps1pc_end', {[SQ ]})]) (= scope= flags=0 words=[] bindings=[('printf_format', {[SQ ]})]) (Case to_match={[DQ [VarSub #]]}, pat_word_list=[[{[LIT_CHARS 2]}, {[LIT_CHARS 3]}], [{[LIT_CHARS 0]}, {[LIT_CHARS 1]}], [{[LIT_OTHER "*"]}]] (List (= scope= flags=0 words=[] bindings=[('pcmode', {[LIT_CHARS yes]})]) (= scope= flags=0 words=[] bindings=[('ps1pc_start', {[DQ [VarSub 1]]})]) (= scope= flags=0 words=[] bindings=[('ps1pc_end', {[DQ [VarSub 2]]})]) (= scope= flags=0 words=[] bindings=[('printf_format', {[DQ [VarSub 3 test_op=VS_TEST_COLON_HYPHEN {[VarSub printf_format]}]]})]) (= scope= flags=0 words=[] bindings=[('PS1', {[DQ [VarSub ps1pc_start][VarSub ps1pc_end]]})]) ) (= scope= flags=0 words=[] bindings=[('printf_format', {[DQ [VarSub 1 test_op=VS_TEST_COLON_HYPHEN {[VarSub printf_format]}]]})]) (Com {[LIT_CHARS return]} {[VarSub exit]}) ) (= scope= flags=0 words=[] bindings=[('ps1_expanded', {[LIT_CHARS yes]})]) (AndOr OP_OR_IF (Com {[LIT_OTHER "["]} {[LIT_CHARS -z]} {[DQ [VarSub ZSH_VERSION test_op=VS_TEST_HYPHEN {}]]} {[LIT_OTHER "]"]}) (AndOr OP_OR_IF (DBracket {B1 UNARY_OTHER_o {[LIT_CHARS PROMPT_SUBST]}}) (= scope= flags=0 words=[] bindings=[('ps1_expanded', {[LIT_CHARS no]})]) ) ) (AndOr OP_OR_IF (Com {[LIT_OTHER "["]} {[LIT_CHARS -z]} {[DQ [VarSub BASH_VERSION test_op=VS_TEST_HYPHEN {}]]} {[LIT_OTHER "]"]}) (AndOr OP_OR_IF (Com {[LIT_CHARS shopt]} {[LIT_CHARS -q]} {[LIT_CHARS promptvars]}) (= scope= flags=0 words=[] bindings=[('ps1_expanded', {[LIT_CHARS no]})]) ) ) (= scope= flags=0 words=[{[LIT_CHARS repo_info]}, {[LIT_CHARS rev_parse_exit_code]}] bindings=[]) (= scope= flags=0 words=[] bindings=[('repo_info', {[DQ [ComSub (Com redirects=[(FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2)]{[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS --git-dir]} {[LIT_CHARS --is-inside-git-dir]} {[LIT_CHARS --is-bare-repository]} {[LIT_CHARS --is-inside-work-tree]} {[LIT_CHARS --short]} {[LIT_CHARS HEAD]})]]})]) (= scope= flags=0 words=[] bindings=[('rev_parse_exit_code', {[DQ [VarSub ?]]})]) (If (Com {[LIT_OTHER "["]} {[LIT_CHARS -z]} {[DQ [VarSub repo_info]]} {[LIT_OTHER "]"]}) (Com {[LIT_CHARS return]} {[VarSub exit]}) ) (= scope= flags=0 words=[] bindings=[('short_sha', {[DQ ]})]) (If (Com {[LIT_OTHER "["]} {[DQ [VarSub rev_parse_exit_code]]} {[LIT_OTHER "="]} {[DQ [LIT_CHARS 0]]} {[LIT_OTHER "]"]}) (List (= scope= flags=0 words=[] bindings=[('short_sha', {[DQ [VarSub repo_info transform_ops=[VS_UNARY_DPOUND {[LIT_CHARS "*"] [LIT_OTHER "$"] [LIT_CHARS "'"] [\ LIT_ESCAPED_CHAR "\\n"] [LIT_CHARS "'"]}]]]})]) (= scope= flags=0 words=[] bindings=[('repo_info', {[DQ [VarSub repo_info transform_ops=[VS_UNARY_PERCENT {[LIT_OTHER "$"] [LIT_CHARS "'"] [\ LIT_ESCAPED_CHAR "\\n"] [LIT_CHARS "'*"]}]]]})]) ) ) (= scope= flags=0 words=[] bindings=[('inside_worktree', {[DQ [VarSub repo_info transform_ops=[VS_UNARY_DPOUND {[LIT_CHARS "*"] [LIT_OTHER "$"] [LIT_CHARS "'"] [\ LIT_ESCAPED_CHAR "\\n"] [LIT_CHARS "'"]}]]]})]) (= scope= flags=0 words=[] bindings=[('repo_info', {[DQ [VarSub repo_info transform_ops=[VS_UNARY_PERCENT {[LIT_OTHER "$"] [LIT_CHARS "'"] [\ LIT_ESCAPED_CHAR "\\n"] [LIT_CHARS "'*"]}]]]})]) (= scope= flags=0 words=[] bindings=[('bare_repo', {[DQ [VarSub repo_info transform_ops=[VS_UNARY_DPOUND {[LIT_CHARS "*"] [LIT_OTHER "$"] [LIT_CHARS "'"] [\ LIT_ESCAPED_CHAR "\\n"] [LIT_CHARS "'"]}]]]})]) (= scope= flags=0 words=[] bindings=[('repo_info', {[DQ [VarSub repo_info transform_ops=[VS_UNARY_PERCENT {[LIT_OTHER "$"] [LIT_CHARS "'"] [\ LIT_ESCAPED_CHAR "\\n"] [LIT_CHARS "'*"]}]]]})]) (= scope= flags=0 words=[] bindings=[('inside_gitdir', {[DQ [VarSub repo_info transform_ops=[VS_UNARY_DPOUND {[LIT_CHARS "*"] [LIT_OTHER "$"] [LIT_CHARS "'"] [\ LIT_ESCAPED_CHAR "\\n"] [LIT_CHARS "'"]}]]]})]) (= scope= flags=0 words=[] bindings=[('g', {[DQ [VarSub repo_info transform_ops=[VS_UNARY_PERCENT {[LIT_OTHER "$"] [LIT_CHARS "'"] [\ LIT_ESCAPED_CHAR "\\n"] [LIT_CHARS "'*"]}]]]})]) (If (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[DQ [LIT_CHARS true]]} {[LIT_OTHER "="]} {[DQ [VarSub inside_worktree]]} {[LIT_OTHER "]"]}) (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[LIT_CHARS -n]} {[DQ [VarSub GIT_PS1_HIDE_IF_PWD_IGNORED test_op=VS_TEST_HYPHEN {}]]} {[LIT_OTHER "]"]}) (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[DQ [ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS config]} {[LIT_CHARS --bool]} {[LIT_CHARS bash.hideIfPwdIgnored]})]]} {[LIT_OTHER "!"] [LIT_OTHER "="]} {[DQ [LIT_CHARS false]]} {[LIT_OTHER "]"]}) (Com {[LIT_CHARS git]} {[LIT_CHARS check-ignore]} {[LIT_CHARS -q]} {[LIT_CHARS .]}) ) ) ) (Com {[LIT_CHARS return]} {[VarSub exit]}) ) (= scope= flags=0 words=[] bindings=[('r', {[DQ ]})]) (= scope= flags=0 words=[] bindings=[('b', {[DQ ]})]) (= scope= flags=0 words=[] bindings=[('step', {[DQ ]})]) (= scope= flags=0 words=[] bindings=[('total', {[DQ ]})]) (If (Com {[LIT_OTHER "["]} {[LIT_CHARS -d]} {[DQ [VarSub g][LIT_CHARS /rebase-merge]]} {[LIT_OTHER "]"]}) (List (Com {[LIT_CHARS __git_eread]} {[DQ [VarSub g][LIT_CHARS /rebase-merge/head-name]]} {[LIT_CHARS b]}) (Com {[LIT_CHARS __git_eread]} {[DQ [VarSub g][LIT_CHARS /rebase-merge/msgnum]]} {[LIT_CHARS step]}) (Com {[LIT_CHARS __git_eread]} {[DQ [VarSub g][LIT_CHARS /rebase-merge/end]]} {[LIT_CHARS total]}) (If (Com {[LIT_OTHER "["]} {[LIT_CHARS -f]} {[DQ [VarSub g][LIT_CHARS /rebase-merge/interactive]]} {[LIT_OTHER "]"]}) (= scope= flags=0 words=[] bindings=[('r', {[DQ [LIT_CHARS "|REBASE-i"]]})]) (ElseTrue) (= scope= flags=0 words=[] bindings=[('r', {[DQ [LIT_CHARS "|REBASE-m"]]})]) ) ) (ElseTrue) (List (If (Com {[LIT_OTHER "["]} {[LIT_CHARS -d]} {[DQ [VarSub g][LIT_CHARS /rebase-apply]]} {[LIT_OTHER "]"]}) (List (Com {[LIT_CHARS __git_eread]} {[DQ [VarSub g][LIT_CHARS /rebase-apply/next]]} {[LIT_CHARS step]}) (Com {[LIT_CHARS __git_eread]} {[DQ [VarSub g][LIT_CHARS /rebase-apply/last]]} {[LIT_CHARS total]}) (If (Com {[LIT_OTHER "["]} {[LIT_CHARS -f]} {[DQ [VarSub g][LIT_CHARS /rebase-apply/rebasing]]} {[LIT_OTHER "]"]}) (List (Com {[LIT_CHARS __git_eread]} {[DQ [VarSub g][LIT_CHARS /rebase-apply/head-name]]} {[LIT_CHARS b]}) (= scope= flags=0 words=[] bindings=[('r', {[DQ [LIT_CHARS "|REBASE"]]})]) ) (Com {[LIT_OTHER "["]} {[LIT_CHARS -f]} {[DQ [VarSub g][LIT_CHARS /rebase-apply/applying]]} {[LIT_OTHER "]"]}) (= scope= flags=0 words=[] bindings=[('r', {[DQ [LIT_CHARS "|AM"]]})]) (ElseTrue) (= scope= flags=0 words=[] bindings=[('r', {[DQ [LIT_CHARS "|AM/REBASE"]]})]) ) ) (Com {[LIT_OTHER "["]} {[LIT_CHARS -f]} {[DQ [VarSub g][LIT_CHARS /MERGE_HEAD]]} {[LIT_OTHER "]"]}) (= scope= flags=0 words=[] bindings=[('r', {[DQ [LIT_CHARS "|MERGING"]]})]) (Com {[LIT_OTHER "["]} {[LIT_CHARS -f]} {[DQ [VarSub g][LIT_CHARS /CHERRY_PICK_HEAD]]} {[LIT_OTHER "]"]}) (= scope= flags=0 words=[] bindings=[('r', {[DQ [LIT_CHARS "|CHERRY-PICKING"]]})]) (Com {[LIT_OTHER "["]} {[LIT_CHARS -f]} {[DQ [VarSub g][LIT_CHARS /REVERT_HEAD]]} {[LIT_OTHER "]"]}) (= scope= flags=0 words=[] bindings=[('r', {[DQ [LIT_CHARS "|REVERTING"]]})]) (Com {[LIT_OTHER "["]} {[LIT_CHARS -f]} {[DQ [VarSub g][LIT_CHARS /BISECT_LOG]]} {[LIT_OTHER "]"]}) (= scope= flags=0 words=[] bindings=[('r', {[DQ [LIT_CHARS "|BISECTING"]]})]) ) (If (Com {[LIT_OTHER "["]} {[LIT_CHARS -n]} {[DQ [VarSub b]]} {[LIT_OTHER "]"]}) (Com {[LIT_OTHER ":"]}) (Com {[LIT_OTHER "["]} {[LIT_CHARS -h]} {[DQ [VarSub g][LIT_CHARS /HEAD]]} {[LIT_OTHER "]"]}) (= scope= flags=0 words=[] bindings=[('b', {[DQ [ComSub (Com redirects=[(FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2)]{[LIT_CHARS git]} {[LIT_CHARS symbolic-ref]} {[LIT_CHARS HEAD]})]]})]) (ElseTrue) (List (= scope= flags=0 words=[] bindings=[('head', {[DQ ]})]) (If (Pipeline! (Com {[LIT_CHARS __git_eread]} {[DQ [VarSub g][LIT_CHARS /HEAD]]} {[LIT_CHARS head]}) ) (Com {[LIT_CHARS return]} {[VarSub exit]}) ) (= scope= flags=0 words=[] bindings=[('b', {[DQ [VarSub head transform_ops=[VS_UNARY_POUND {[LIT_CHARS "ref: "]}]]]})]) (If (Com {[LIT_OTHER "["]} {[DQ [VarSub head]]} {[LIT_OTHER "="]} {[DQ [VarSub b]]} {[LIT_OTHER "]"]}) (List (= scope= flags=0 words=[] bindings=[('detached', {[LIT_CHARS yes]})]) (AndOr OP_OR_IF (= scope= flags=0 words=[] bindings=[('b', {[DQ [ComSub (Case to_match={[DQ [VarSub GIT_PS1_DESCRIBE_STYLE test_op=VS_TEST_HYPHEN {}]]}, pat_word_list=[[{[LIT_CHARS contains]}], [{[LIT_CHARS branch]}], [{[LIT_CHARS describe]}], [{[LIT_OTHER "*"]}, {[LIT_CHARS default]}]] (Com {[LIT_CHARS git]} {[LIT_CHARS describe]} {[LIT_CHARS --contains]} {[LIT_CHARS HEAD]}) (Com {[LIT_CHARS git]} {[LIT_CHARS describe]} {[LIT_CHARS --contains]} {[LIT_CHARS --all]} {[LIT_CHARS HEAD]}) (Com {[LIT_CHARS git]} {[LIT_CHARS describe]} {[LIT_CHARS HEAD]}) (Com {[LIT_CHARS git]} {[LIT_CHARS describe]} {[LIT_CHARS --tags]} {[LIT_CHARS --exact-match]} {[LIT_CHARS HEAD]}) )]]})]) (= scope= flags=0 words=[] bindings=[('b', {[DQ [VarSub short_sha][LIT_CHARS ...]]})]) ) (= scope= flags=0 words=[] bindings=[('b', {[DQ [LIT_CHARS "("][VarSub b][LIT_CHARS ")"]]})]) ) ) ) ) ) ) (If (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[LIT_CHARS -n]} {[DQ [VarSub step]]} {[LIT_OTHER "]"]}) (Com {[LIT_OTHER "["]} {[LIT_CHARS -n]} {[DQ [VarSub total]]} {[LIT_OTHER "]"]}) ) (= scope= flags=0 words=[] bindings=[('r', {[DQ [VarSub r][LIT_CHARS " "][VarSub step][LIT_CHARS /][VarSub total]]})]) ) (= scope= flags=0 words=[] bindings=[('w', {[DQ ]})]) (= scope= flags=0 words=[] bindings=[('i', {[DQ ]})]) (= scope= flags=0 words=[] bindings=[('s', {[DQ ]})]) (= scope= flags=0 words=[] bindings=[('u', {[DQ ]})]) (= scope= flags=0 words=[] bindings=[('c', {[DQ ]})]) (= scope= flags=0 words=[] bindings=[('p', {[DQ ]})]) (If (Com {[LIT_OTHER "["]} {[DQ [LIT_CHARS true]]} {[LIT_OTHER "="]} {[DQ [VarSub inside_gitdir]]} {[LIT_OTHER "]"]}) (If (Com {[LIT_OTHER "["]} {[DQ [LIT_CHARS true]]} {[LIT_OTHER "="]} {[DQ [VarSub bare_repo]]} {[LIT_OTHER "]"]}) (= scope= flags=0 words=[] bindings=[('c', {[DQ [LIT_CHARS "BARE:"]]})]) (ElseTrue) (= scope= flags=0 words=[] bindings=[('b', {[DQ [LIT_CHARS "GIT_DIR!"]]})]) ) (Com {[LIT_OTHER "["]} {[DQ [LIT_CHARS true]]} {[LIT_OTHER "="]} {[DQ [VarSub inside_worktree]]} {[LIT_OTHER "]"]}) (List (If (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[LIT_CHARS -n]} {[DQ [VarSub GIT_PS1_SHOWDIRTYSTATE test_op=VS_TEST_HYPHEN {}]]} {[LIT_OTHER "]"]}) (Com {[LIT_OTHER "["]} {[DQ [ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS config]} {[LIT_CHARS --bool]} {[LIT_CHARS bash.showDirtyState]})]]} {[LIT_OTHER "!"] [LIT_OTHER "="]} {[DQ [LIT_CHARS false]]} {[LIT_OTHER "]"]}) ) (List (AndOr OP_OR_IF (Com {[LIT_CHARS git]} {[LIT_CHARS diff]} {[LIT_CHARS --no-ext-diff]} {[LIT_CHARS --quiet]}) (= scope= flags=0 words=[] bindings=[('w', {[DQ [LIT_CHARS "*"]]})]) ) (AndOr OP_OR_IF (Com {[LIT_CHARS git]} {[LIT_CHARS diff]} {[LIT_CHARS --no-ext-diff]} {[LIT_CHARS --cached]} {[LIT_CHARS --quiet]}) (= scope= flags=0 words=[] bindings=[('i', {[DQ [LIT_CHARS "+"]]})]) ) (If (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[LIT_CHARS -z]} {[DQ [VarSub short_sha]]} {[LIT_OTHER "]"]}) (Com {[LIT_OTHER "["]} {[LIT_CHARS -z]} {[DQ [VarSub i]]} {[LIT_OTHER "]"]}) ) (= scope= flags=0 words=[] bindings=[('i', {[DQ [LIT_CHARS "#"]]})]) ) ) ) (If (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[LIT_CHARS -n]} {[DQ [VarSub GIT_PS1_SHOWSTASHSTATE test_op=VS_TEST_HYPHEN {}]]} {[LIT_OTHER "]"]}) (Com {[LIT_CHARS git]} {[LIT_CHARS rev-parse]} {[LIT_CHARS --verify]} {[LIT_CHARS --quiet]} {[LIT_CHARS refs/stash]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), > ) ) (= scope= flags=0 words=[] bindings=[('s', {[DQ [LIT_OTHER "$"]]})]) ) (If (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[LIT_CHARS -n]} {[DQ [VarSub GIT_PS1_SHOWUNTRACKEDFILES test_op=VS_TEST_HYPHEN {}]]} {[LIT_OTHER "]"]}) (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[DQ [ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS config]} {[LIT_CHARS --bool]} {[LIT_CHARS bash.showUntrackedFiles]})]]} {[LIT_OTHER "!"] [LIT_OTHER "="]} {[DQ [LIT_CHARS false]]} {[LIT_OTHER "]"]}) (Com {[LIT_CHARS git]} {[LIT_CHARS ls-files]} {[LIT_CHARS --others]} {[LIT_CHARS --exclude-standard]} {[LIT_CHARS --directory]} {[LIT_CHARS --no-empty-directory]} {[LIT_CHARS --error-unmatch]} {[LIT_CHARS --]} {[SQ ]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2), > ) ) ) (= scope= flags=0 words=[] bindings=[('u', {[DQ [LIT_CHARS "%"][VarSub ZSH_VERSION test_op=VS_TEST_PLUS {[LIT_PERCENT "%"]}]]})]) ) (If (Com {[LIT_OTHER "["]} {[LIT_CHARS -n]} {[DQ [VarSub GIT_PS1_SHOWUPSTREAM test_op=VS_TEST_HYPHEN {}]]} {[LIT_OTHER "]"]}) (Com {[LIT_CHARS __git_ps1_show_upstream]}) ) ) ) (= scope= flags=0 words=[] bindings=[('z', {[DQ [VarSub GIT_PS1_STATESEPARATOR test_op=VS_TEST_HYPHEN {[DQ [LIT_CHARS " "]]}]]})]) (If (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[VarSub pcmode]} {[LIT_OTHER "="]} {[LIT_CHARS yes]} {[LIT_OTHER "]"]}) (Com {[LIT_OTHER "["]} {[LIT_CHARS -n]} {[DQ [VarSub GIT_PS1_SHOWCOLORHINTS test_op=VS_TEST_HYPHEN {}]]} {[LIT_OTHER "]"]}) ) (Com {[LIT_CHARS __git_ps1_colorize_gitstring]}) ) (= scope= flags=0 words=[] bindings=[('b', {[VarSub b transform_ops=[VS_UNARY_DPOUND {[LIT_CHARS refs] [LIT_SLASH /] [LIT_CHARS heads] [LIT_SLASH /]}]]})]) (If (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[VarSub pcmode]} {[LIT_OTHER "="]} {[LIT_CHARS yes]} {[LIT_OTHER "]"]}) (Com {[LIT_OTHER "["]} {[VarSub ps1_expanded]} {[LIT_OTHER "="]} {[LIT_CHARS yes]} {[LIT_OTHER "]"]}) ) (List (= scope= flags=0 words=[] bindings=[('__git_ps1_branch_name', {[VarSub b]})]) (= scope= flags=0 words=[] bindings=[('b', {[DQ [\ LIT_ESCAPED_CHAR "\\$"][LIT_CHARS "{__git_ps1_branch_name}"]]})]) ) ) (= scope= flags=0 words=[] bindings=[('f', {[DQ [VarSub w][VarSub i][VarSub s][VarSub u]]})]) (= scope= flags=0 words=[] bindings=[('gitstring', {[DQ [VarSub c][VarSub b][VarSub f test_op=VS_TEST_COLON_PLUS {[VarSub z] [VarSub f]}][VarSub r][VarSub p]]})]) (If (Com {[LIT_OTHER "["]} {[VarSub pcmode]} {[LIT_OTHER "="]} {[LIT_CHARS yes]} {[LIT_OTHER "]"]}) (List (If (Com {[LIT_OTHER "["]} {[DQ [VarSub __git_printf_supports_v test_op=VS_TEST_HYPHEN {}]]} {[LIT_OTHER "!"] [LIT_OTHER "="]} {[LIT_CHARS yes]} {[LIT_OTHER "]"]}) (= scope= flags=0 words=[] bindings=[('gitstring', {[ComSub (Com {[LIT_CHARS printf]} {[LIT_CHARS --]} {[DQ [VarSub printf_format]]} {[DQ [VarSub gitstring]]})]})]) (ElseTrue) (Com {[LIT_CHARS printf]} {[LIT_CHARS -v]} {[LIT_CHARS gitstring]} {[LIT_CHARS --]} {[DQ [VarSub printf_format]]} {[DQ [VarSub gitstring]]}) ) (= scope= flags=0 words=[] bindings=[('PS1', {[DQ [VarSub ps1pc_start][VarSub gitstring][VarSub ps1pc_end]]})]) ) (ElseTrue) (Com {[LIT_CHARS printf]} {[LIT_CHARS --]} {[DQ [VarSub printf_format]]} {[DQ [VarSub gitstring]]}) ) (Com {[LIT_CHARS return]} {[VarSub exit]}) ) ) )