(CommandList children: [ (C {(echo)} { (DQ ('/* Automatically generated by ') ($ VSub_Number '$0') (' */\n') ('struct cmdname_help {\n') ('\tchar name[16];\n') ('\tchar help[80];\n') ('\tunsigned char group;\n') ('};\n') ('\n') ('static const char *common_cmd_groups[] = {') ) } ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:grps) op: Equal rhs: {(grps) ($ VSub_Dollar '$$') (.tmp)} spids: [20] ) ] spids: [20] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:match) op: Equal rhs: {(match) ($ VSub_Dollar '$$') (.tmp)} spids: [25] ) ] spids: [25] ) (C {(trap)} {(DQ ("rm -f '") ($ VSub_Name '$grps') ("' '") ($ VSub_Name '$match') ("'"))} {(0)} {(1)} {(2)} {(3)} {(15)} ) (C {(sed)} {(-n)} { (SQ <'\n'> <'\t1,/^### common groups/b\n'> <'\t/^### command list/q\n'> <'\t/^#/b\n'> <'\t/^[ \t]*$/b\n'> <'\th;s/^[^ \t][^ \t]*[ \t][ \t]*\\(.*\\)/\tN_("\\1"),/p\n'> <'\tg;s/^\\([^ \t][^ \t]*\\)[ \t].*/\\1/w '> ) ($ VSub_Name '$grps') (SQ <'\n'> <'\t'>) } {(DQ ($ VSub_Number '$1'))} ) (C {(printf)} {(SQ <'};\\n\\n'>)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:n) op:Equal rhs:{(0)} spids:[81])] spids: [81] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:substnum) op:Equal rhs:{(EmptyPart)} spids:[84])] spids: [84] ) (While cond: [(C {(read)} {(grp)})] body: (DoGroup children: [ (C {(echo)} {(DQ ('^git-..*[ \t]') ($ VSub_Name '$grp'))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:substnum) op: Equal rhs: { (DQ ($ VSub_Name '$substnum') (BracedVarSub token: <VSub_Name substnum> suffix_op: (StringUnary op_id:VTest_ColonPlus arg_word:{(';')}) spids: [106 110] ) ('s/[ \t]') ($ VSub_Name '$grp') (/) ($ VSub_Name '$n') (/) ) } spids: [103] ) ] spids: [103] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:n) op: Equal rhs: { (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithWord w:{($ VSub_Name '$n')}) right: (ArithWord w:{(Lit_Digits 1)}) ) spids: [120 125] ) } spids: [119] ) ] spids: [119] ) ] spids: [92 127] ) redirects: [ (Redir op_id: Redir_Less fd: 16777215 arg_word: {(DQ ($ VSub_Name '$grps'))} spids: [129] ) (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ ($ VSub_Name '$match'))} spids: [134] ) ] ) (C {(printf)} {(SQ <'static struct cmdname_help common_cmds[] = {\\n'>)}) (Pipeline children: [ (C {(grep)} {(-f)} {(DQ ($ VSub_Name '$match'))} {(DQ ($ VSub_Number '$1'))}) (C {(sed)} {(SQ <'s/^git-//'>)}) (C {(sort)}) (While cond: [(C {(read)} {(cmd)} {(tags)})] body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:tag) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {(DQ ($ VSub_Name '$tags'))}) (C {(sed)} {(DQ ($ VSub_Name '$substnum') ('; s/[^0-9]//g'))}) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [184 199] ) } spids: [183] ) ] spids: [183] ) (C {(sed)} {(-n)} {(SQ <'\n'> <'\t\t/^NAME/,/git-'>) (DQ ($ VSub_Name '$cmd')) (SQ <'/H\n'> <'\t\t${\n'> <'\t\t\tx\n'> <'\t\t\ts/.*git-'>) (DQ ($ VSub_Name '$cmd')) (SQ <' - \\(.*\\)/\t{"'>) (DQ ($ VSub_Name '$cmd')) (SQ <'", N_("\\1"), '>) ($ VSub_Name '$tag') (SQ <'},/\n'> <'\t\t\tp\n'> <'\t\t}'>) } {(DQ (Documentation/git-) ($ VSub_Name '$cmd') (.txt))} ) ] spids: [180 244] ) ) ] negated: F ) (C {(echo)} {(DQ ('};'))}) ] )