(CommandList children: [ (AndOr ops: [Op_DAmp] children: [ (FuncDef name: _svn body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs:(LhsName name:cur) op:Equal spids:[20]) (assign_pair lhs:(LhsName name:prev) op:Equal spids:[22]) (assign_pair lhs:(LhsName name:words) op:Equal spids:[24]) (assign_pair lhs:(LhsName name:cword) op:Equal spids:[26]) ] spids: [18] ) (AndOr ops: [Op_DPipe] children: [(C {(_init_completion)}) (ControlFlow token:<ControlFlow_Return return>)] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:commands) op:Equal spids:[39])] spids: [37] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:commands) op: Equal rhs: { (SQ <'add blame praise annotate ann cat checkout co cleanup commit \\\n'> < ' ci copy cp delete del remove rm diff di export help ? h import \\\n' > <' info list ls lock log merge mkdir move mv rename ren \\\n'> < ' propdel pdel pd propedit pedit pe propget pget pg \\\n' > <' proplist plist pl propset pset ps resolved revert \\\n'> <' status stat st switch sw unlock update up'> ) } spids: [42] ) ] spids: [42] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_eq left: {($ VSub_Name '$cword')} right: {(1)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(DQ ($ VSub_Name '$cur'))} right: {(-) (Lit_Other '*')} ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:COMPREPLY) op: Equal rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (C {(compgen)} {(-W)} {(SQ <--version>)} {(--)} {(DQ ($ VSub_Name '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [93 109] ) } ] ) } spids: [90] ) ] spids: [90] ) ] spids: [16777215 87] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:COMPREPLY) op: Equal rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (C {(compgen)} {(-W)} {(DQ ($ VSub_Name '$commands'))} {(--)} {(DQ ($ VSub_Name '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [120 136] ) } ] ) } spids: [117] ) ] spids: [117] ) ] spids: [114 141] ) ] spids: [16777215 68] ) ] else_action: [ (Case to_match: {($ VSub_Name '$prev')} arms: [ (case_arm pat_list: [{(--config-dir)}] action: [ (C {(_filedir)} {(-d)}) (ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] spids: [155 156 169 16777215] ) (case_arm pat_list: [{(-F)} {(--file)} {(--targets)}] action: [ (C {(_filedir)}) (ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] spids: [172 177 188 16777215] ) (case_arm pat_list: [{(--encoding)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:COMPREPLY) op: Equal rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (C {(compgen)} {(-W)} { (SQ <'$( iconv --list | \\\n'> < ' sed -e "s@//@@;" )' > ) } {(--)} {(DQ ($ VSub_Name '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [198 215] ) } ] ) } spids: [195] ) ] spids: [195] ) (ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] spids: [191 192 225 16777215] ) (case_arm pat_list: [{(--editor-cmd)} {(--diff-cmd)} {(--diff3-cmd)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:words) op: Equal rhs: { (ArrayLiteralPart words: [ {(words) (Lit_Other '[') (0) (Lit_Other ']')} {($ VSub_Name '$cur')} ] ) } spids: [236] ) ] spids: [236] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:cword) op: Equal rhs: {(1)} spids: [247] ) ] spids: [247] ) (C {(_command)}) (ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] spids: [228 233 259 16777215] ) ] spids: [148 152 262] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:command) op: Equal rhs: { (BracedVarSub token: <VSub_Name words> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 1)})) spids: [269 274] ) } spids: [268] ) ] spids: [266] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(DQ ($ VSub_Name '$cur'))} right: {(-) (Lit_Other '*')} ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:options) op:Equal spids:[303])] spids: [301] ) (Case to_match: {($ VSub_Name '$command')} arms: [ (case_arm pat_list: [{(add)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:options) op: Equal rhs: { (SQ < '--auto-props --no-auto-props --force --targets\n' > <' --no-ignore --non-recursive --quiet'> ) } spids: [317] ) ] spids: [317] ) ] spids: [313 314 324 16777215] ) (case_arm pat_list: [{(blame)} {(annotate)} {(ann)} {(praise)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:options) op: Equal rhs: { (SQ < '--revision --username --password --no-auth-cache\n' > <' --non-interactive --verbose --incremental --xml'> ) } spids: [337] ) ] spids: [337] ) ] spids: [327 334 344 16777215] ) (case_arm pat_list: [{(cat)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:options) op: Equal rhs: { (SQ < '--revision --username --password --no-auth-cache\n' > <' --non-interactive'> ) } spids: [351] ) ] spids: [351] ) ] spids: [347 348 358 16777215] ) (case_arm pat_list: [{(checkout)} {(co)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:options) op: Equal rhs: { (SQ <'--revision --quiet --non-recursive --username\n'> < ' --password --no-auth-cache --non-interactive\n' > <' --ignore-externals'> ) } spids: [367] ) ] spids: [367] ) ] spids: [361 364 375 16777215] ) (case_arm pat_list: [{(cleanup)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:options) op: Equal rhs: {(SQ <--diff3-cmd>)} spids: [382] ) ] spids: [382] ) ] spids: [378 379 388 16777215] ) (case_arm pat_list: [{(commit)} {(ci)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:options) op: Equal rhs: { (SQ < '--message --file --encoding --force-log --quiet\n' > <' --non-recursive --targets --editor-cmd --username\n'> < ' --password --no-auth-cache --non-interactive\n' > <' --no-unlock'> ) } spids: [397] ) ] spids: [397] ) ] spids: [391 394 406 16777215] ) (case_arm pat_list: [{(copy)} {(cp)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:options) op: Equal rhs: { (SQ < '--message --file --encoding --force-log --revision\n' > <' --quiet --editor-cmd -username --password\n'> < ' --no-auth-cache --non-interactive' > ) } spids: [415] ) ] spids: [415] ) ] spids: [409 412 423 16777215] ) (case_arm pat_list: [{(delete)} {(del)} {(remove)} {(rm)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:options) op: Equal rhs: { (SQ < '--force --message --file --encoding --force-log\n' > <' --quiet --targets --editor-cmd --username\n'> < ' --password --no-auth-cache --non-interactive' > ) } spids: [436] ) ] spids: [436] ) ] spids: [426 433 444 16777215] ) (case_arm pat_list: [{(diff)} {(di)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:options) op: Equal rhs: { (SQ <'--revision --extensions --diff-cmd\n'> < ' --no-diff-deleted --non-recursive --username\n' > <' --password --no-auth-cache --non-interactive\n'> < ' --force --old --new --notice-ancestry' > ) } spids: [453] ) ] spids: [453] ) ] spids: [447 450 462 16777215] ) (case_arm pat_list: [{(export)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:options) op: Equal rhs: { (SQ <'--revision --quiet --username --password\n'> < ' --no-auth-cache --non-interactive --non-recursive\n' > <' --force --native-eol --ignore-externals'> ) } spids: [469] ) ] spids: [469] ) ] spids: [465 466 477 16777215] ) (case_arm pat_list: [{(import)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:options) op: Equal rhs: { (SQ <'--auto-props --no-auto-props --message --file\n'> < ' --encoding --force-log --quiet --non-recursive\n' > <' --no-ignore --editor-cmd --username --password\n'> < ' --no-auth-cache --non-interactive' > ) } spids: [484] ) ] spids: [484] ) ] spids: [480 481 493 16777215] ) (case_arm pat_list: [{(info)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:options) op: Equal rhs: { (SQ <'--username --password --no-auth-cache\n'> < ' --non-interactive --revision --xml --targets\n' > <' --recursive --incremental'> ) } spids: [500] ) ] spids: [500] ) ] spids: [496 497 508 16777215] ) (case_arm pat_list: [{(list)} {(ls)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:options) op: Equal rhs: { (SQ <'--revision --verbose --recursive --username\n'> < ' --password --no-auth-cache --non-interactive\n' > <' --incremental --xml'> ) } spids: [517] ) ] spids: [517] ) ] spids: [511 514 525 16777215] ) (case_arm pat_list: [{(lock)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:options) op: Equal rhs: { (SQ < '--message --file --encoding --force-log --targets\n' > <' --force --username --password --no-auth-cache\n'> <' --non-interactive'> ) } spids: [532] ) ] spids: [532] ) ] spids: [528 529 540 16777215] ) (case_arm pat_list: [{(log)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:options) op: Equal rhs: { (SQ <'--revision --verbose --targets --username\n'> < ' --password --no-auth-cache --non-interactive\n' > <' --stop-on-copy --incremental --xml --quiet\n'> <' --limit'> ) } spids: [547] ) ] spids: [547] ) ] spids: [543 544 556 16777215] ) (case_arm pat_list: [{(merge)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:options) op: Equal rhs: { (SQ <'--revision --non-recursive --quiet --force\n'> < ' --dry-run --diff3-cmd --username --password\n' > <' --no-auth-cache --non-interactive\n'> <' --ignore-ancestry'> ) } spids: [563] ) ] spids: [563] ) ] spids: [559 560 572 16777215] ) (case_arm pat_list: [{(mkdir)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:options) op: Equal rhs: { (SQ < '--message --file --encoding --force-log --quiet\n' > <' --editor-cmd --username --password --no-auth-cache\n'> <' --non-interactive'> ) } spids: [579] ) ] spids: [579] ) ] spids: [575 576 587 16777215] ) (case_arm pat_list: [{(move)} {(mv)} {(rename)} {(ren)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:options) op: Equal rhs: { (SQ < '--message --file --encoding --force-log --revision\n' > <' --quiet --force --editor-cmd --username --password\n'> < ' --no-auth-cache --non-interactive' > ) } spids: [600] ) ] spids: [600] ) ] spids: [590 597 608 16777215] ) (case_arm pat_list: [{(propdel)} {(pdel)} {(pd)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:options) op: Equal rhs: { (SQ <'--quiet --recursive --revision --revprop\n'> < ' --username --password --no-auth-cache\n' > <' --non-interactive'> ) } spids: [619] ) ] spids: [619] ) ] spids: [611 616 627 16777215] ) (case_arm pat_list: [{(propedit)} {(pedit)} {(pe)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:options) op: Equal rhs: { (SQ <'--revision --revprop --encoding --editor-cmd\n'> < ' --username --password --no-auth-cache\n' > <' --non-interactive --force'> ) } spids: [638] ) ] spids: [638] ) ] spids: [630 635 646 16777215] ) (case_arm pat_list: [{(propget)} {(pget)} {(pg)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:options) op: Equal rhs: { (SQ <'--recursive --revision --revprop --strict\n'> < ' --username --password --no-auth-cache\n' > <' --non-interactive'> ) } spids: [657] ) ] spids: [657] ) ] spids: [649 654 665 16777215] ) (case_arm pat_list: [{(proplist)} {(plist)} {(pl)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:options) op: Equal rhs: { (SQ < '--verbose --recursive --revision --revprop --quiet\n' > <' --username --password --no-auth-cache\n'> <' --non-interactive'> ) } spids: [676] ) ] spids: [676] ) ] spids: [668 673 684 16777215] ) (case_arm pat_list: [{(propset)} {(pset)} {(ps)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:options) op: Equal rhs: { (SQ < '--file --quiet --targets --recursive --revprop\n' > <' --encoding --username --password --no-auth-cache\n'> < ' --non-interactive --revision --force' > ) } spids: [695] ) ] spids: [695] ) ] spids: [687 692 703 16777215] ) (case_arm pat_list: [{(resolved)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:options) op: Equal rhs: {(SQ <'--targets --recursive --quiet'>)} spids: [710] ) ] spids: [710] ) ] spids: [706 707 716 16777215] ) (case_arm pat_list: [{(revert)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:options) op: Equal rhs: {(SQ <'--targets --recursive --quiet'>)} spids: [723] ) ] spids: [723] ) ] spids: [719 720 729 16777215] ) (case_arm pat_list: [{(status)} {(stat)} {(st)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:options) op: Equal rhs: { (SQ < '--show-updates --verbose --non-recursive --quiet\n' > <' --username --password --no-auth-cache\n'> < ' --non-interactive --no-ignore --ignore-externals\n' > <' --incremental --xml'> ) } spids: [740] ) ] spids: [740] ) ] spids: [732 737 749 16777215] ) (case_arm pat_list: [{(switch)} {(sw)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:options) op: Equal rhs: { (SQ <'--relocate --revision --non-recursive --quiet\n'> < ' --username --password --no-auth-cache\n' > <' --non-interactive --diff3-cmd'> ) } spids: [758] ) ] spids: [758] ) ] spids: [752 755 766 16777215] ) (case_arm pat_list: [{(unlock)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:options) op: Equal rhs: { (SQ <'--targets --force --username --password\n'> < ' --no-auth-cache --non-interactive' > ) } spids: [773] ) ] spids: [773] ) ] spids: [769 770 780 16777215] ) (case_arm pat_list: [{(update)} {(up)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:options) op: Equal rhs: { (SQ <'--revision --non-recursive --quiet --username\n'> < ' --password --no-auth-cache --non-interactive\n' > <' --diff3-cmd --ignore-externals'> ) } spids: [789] ) ] spids: [789] ) ] spids: [783 786 797 16777215] ) ] spids: [306 310 800] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:options) op: PlusEqual rhs: {(DQ (' --help --config-dir'))} spids: [803] ) ] spids: [803] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:COMPREPLY) op: Equal rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (C {(compgen)} {(-W)} {(DQ ($ VSub_Name '$options'))} {(--)} {(DQ ($ VSub_Name '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [813 829] ) } ] ) } spids: [810] ) ] spids: [810] ) ] spids: [16777215 294] ) ] else_action: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(DQ ($ VSub_Name '$command'))} right: {(ExtGlobPart op:<ExtGlob_At '@('> spids:[847 853])} ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:COMPREPLY) op: Equal rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (C {(compgen)} {(-W)} {(DQ ($ VSub_Name '$commands'))} {(--)} {(DQ ($ VSub_Name '$cur'))} ) ] ) left_token: <Left_CommandSub '$('> spids: [864 880] ) } ] ) } spids: [861] ) ] spids: [861] ) ] spids: [16777215 858] ) ] else_action: [(C {(_filedir)})] spids: [885 891] ) ] spids: [834 894] ) ] spids: [144 897] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [15] ) spids: [11 14] ) (C {(complete)} {(-F)} {(_svn)} {(svn)}) ] ) ] )