(command.AndOr ops: [Id.Op_DAmp] children: [ (command.ShFunction name: _svn body: (BraceGroup children: [ (C {<local>} {<cur>} {<prev>} {<words>} {<cword>}) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<_init_completion>}) (command.ControlFlow token:<Id.ControlFlow_Return return>) ] ) (C {<local>} {<commands>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:commands) op: assign_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] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_eq left: {($ Id.VSub_DollarName '$cword')} right: {<1>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ ($ Id.VSub_DollarName '$cur'))} right: {<-> <Id.Lit_Other '*'>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<compgen>} {<-W>} {(SQ <--version>)} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ) } ] ) } spids: [90] ) ] ) ] spids: [71 87] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<compgen>} {<-W>} {(DQ ($ Id.VSub_DollarName '$commands'))} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ) } ] ) } spids: [117] ) ] ) ] ) ] spids: [54 68] ) ] else_action: [ (command.Case to_match: {($ Id.VSub_DollarName '$prev')} arms: [ (case_arm pat_list: [{<--config-dir>}] action: [ (C {<_filedir>} {<-d>}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [155 156 169 -1] ) (case_arm pat_list: [{<-F>} {<--file>} {<--targets>}] action: [ (C {<_filedir>}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [172 177 188 -1] ) (case_arm pat_list: [{<--encoding>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<compgen>} {<-W>} { (SQ <'$( iconv --list | \\\n'> <' sed -e "s@//@@;" )'> ) } {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ) } ] ) } spids: [195] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [191 192 225 -1] ) (case_arm pat_list: [{<--editor-cmd>} {<--diff-cmd>} {<--diff3-cmd>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:words) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ {<Id.Lit_ArrayLhsOpen 'words['> <0> <Id.Lit_RBracket ']'>} {($ Id.VSub_DollarName '$cur')} ] ) } spids: [236] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:cword) op: assign_op.Equal rhs: {<1>} spids: [246] ) ] ) (C {<_command>}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [228 233 258 -1] ) ] ) (C {<local>} {<Id.Lit_VarLike 'command='> (braced_var_sub token: <Id.VSub_Name words> bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 1>}) ) } ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ ($ Id.VSub_DollarName '$cur'))} right: {<-> <Id.Lit_Other '*'>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<local>} {<options>}) (command.Case to_match: {($ Id.VSub_DollarName '$command')} arms: [ (case_arm pat_list: [{<add>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:options) op: assign_op.Equal rhs: { (SQ <'--auto-props --no-auto-props --force --targets\n'> < ' --no-ignore --non-recursive --quiet' > ) } spids: [316] ) ] ) ] spids: [312 313 323 -1] ) (case_arm pat_list: [{<blame>} {<annotate>} {<ann>} {<praise>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:options) op: assign_op.Equal rhs: { (SQ <'--revision --username --password --no-auth-cache\n'> < ' --non-interactive --verbose --incremental --xml' > ) } spids: [336] ) ] ) ] spids: [326 333 343 -1] ) (case_arm pat_list: [{<cat>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:options) op: assign_op.Equal rhs: { (SQ <'--revision --username --password --no-auth-cache\n'> <' --non-interactive'> ) } spids: [350] ) ] ) ] spids: [346 347 357 -1] ) (case_arm pat_list: [{<checkout>} {<co>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:options) op: assign_op.Equal rhs: { (SQ <'--revision --quiet --non-recursive --username\n'> < ' --password --no-auth-cache --non-interactive\n' > <' --ignore-externals'> ) } spids: [366] ) ] ) ] spids: [360 363 374 -1] ) (case_arm pat_list: [{<cleanup>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:options) op: assign_op.Equal rhs: {(SQ <--diff3-cmd>)} spids: [381] ) ] ) ] spids: [377 378 387 -1] ) (case_arm pat_list: [{<commit>} {<ci>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:options) op: assign_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: [396] ) ] ) ] spids: [390 393 405 -1] ) (case_arm pat_list: [{<copy>} {<cp>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:options) op: assign_op.Equal rhs: { (SQ <'--message --file --encoding --force-log --revision\n'> <' --quiet --editor-cmd -username --password\n'> < ' --no-auth-cache --non-interactive' > ) } spids: [414] ) ] ) ] spids: [408 411 422 -1] ) (case_arm pat_list: [{<delete>} {<del>} {<remove>} {<rm>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:options) op: assign_op.Equal rhs: { (SQ <'--force --message --file --encoding --force-log\n'> < ' --quiet --targets --editor-cmd --username\n' > <' --password --no-auth-cache --non-interactive'> ) } spids: [435] ) ] ) ] spids: [425 432 443 -1] ) (case_arm pat_list: [{<diff>} {<di>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:options) op: assign_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: [452] ) ] ) ] spids: [446 449 461 -1] ) (case_arm pat_list: [{<export>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:options) op: assign_op.Equal rhs: { (SQ <'--revision --quiet --username --password\n'> < ' --no-auth-cache --non-interactive --non-recursive\n' > <' --force --native-eol --ignore-externals'> ) } spids: [468] ) ] ) ] spids: [464 465 476 -1] ) (case_arm pat_list: [{<Id.KW_Import import>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:options) op: assign_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: [483] ) ] ) ] spids: [479 480 492 -1] ) (case_arm pat_list: [{<info>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:options) op: assign_op.Equal rhs: { (SQ <'--username --password --no-auth-cache\n'> < ' --non-interactive --revision --xml --targets\n' > <' --recursive --incremental'> ) } spids: [499] ) ] ) ] spids: [495 496 507 -1] ) (case_arm pat_list: [{<list>} {<ls>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:options) op: assign_op.Equal rhs: { (SQ <'--revision --verbose --recursive --username\n'> < ' --password --no-auth-cache --non-interactive\n' > <' --incremental --xml'> ) } spids: [516] ) ] ) ] spids: [510 513 524 -1] ) (case_arm pat_list: [{<lock>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:options) op: assign_op.Equal rhs: { (SQ <'--message --file --encoding --force-log --targets\n'> < ' --force --username --password --no-auth-cache\n' > <' --non-interactive'> ) } spids: [531] ) ] ) ] spids: [527 528 539 -1] ) (case_arm pat_list: [{<log>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:options) op: assign_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: [546] ) ] ) ] spids: [542 543 555 -1] ) (case_arm pat_list: [{<merge>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:options) op: assign_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: [562] ) ] ) ] spids: [558 559 571 -1] ) (case_arm pat_list: [{<mkdir>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:options) op: assign_op.Equal rhs: { (SQ <'--message --file --encoding --force-log --quiet\n'> < ' --editor-cmd --username --password --no-auth-cache\n' > <' --non-interactive'> ) } spids: [578] ) ] ) ] spids: [574 575 586 -1] ) (case_arm pat_list: [{<move>} {<mv>} {<rename>} {<ren>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:options) op: assign_op.Equal rhs: { (SQ <'--message --file --encoding --force-log --revision\n'> <' --quiet --force --editor-cmd --username --password\n'> < ' --no-auth-cache --non-interactive' > ) } spids: [599] ) ] ) ] spids: [589 596 607 -1] ) (case_arm pat_list: [{<propdel>} {<pdel>} {<pd>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:options) op: assign_op.Equal rhs: { (SQ <'--quiet --recursive --revision --revprop\n'> < ' --username --password --no-auth-cache\n' > <' --non-interactive'> ) } spids: [618] ) ] ) ] spids: [610 615 626 -1] ) (case_arm pat_list: [{<propedit>} {<pedit>} {<pe>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:options) op: assign_op.Equal rhs: { (SQ <'--revision --revprop --encoding --editor-cmd\n'> < ' --username --password --no-auth-cache\n' > <' --non-interactive --force'> ) } spids: [637] ) ] ) ] spids: [629 634 645 -1] ) (case_arm pat_list: [{<propget>} {<pget>} {<pg>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:options) op: assign_op.Equal rhs: { (SQ <'--recursive --revision --revprop --strict\n'> < ' --username --password --no-auth-cache\n' > <' --non-interactive'> ) } spids: [656] ) ] ) ] spids: [648 653 664 -1] ) (case_arm pat_list: [{<proplist>} {<plist>} {<pl>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:options) op: assign_op.Equal rhs: { (SQ <'--verbose --recursive --revision --revprop --quiet\n'> <' --username --password --no-auth-cache\n'> <' --non-interactive'> ) } spids: [675] ) ] ) ] spids: [667 672 683 -1] ) (case_arm pat_list: [{<propset>} {<pset>} {<ps>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:options) op: assign_op.Equal rhs: { (SQ <'--file --quiet --targets --recursive --revprop\n'> < ' --encoding --username --password --no-auth-cache\n' > <' --non-interactive --revision --force'> ) } spids: [694] ) ] ) ] spids: [686 691 702 -1] ) (case_arm pat_list: [{<resolved>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:options) op: assign_op.Equal rhs: {(SQ <'--targets --recursive --quiet'>)} spids: [709] ) ] ) ] spids: [705 706 715 -1] ) (case_arm pat_list: [{<revert>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:options) op: assign_op.Equal rhs: {(SQ <'--targets --recursive --quiet'>)} spids: [722] ) ] ) ] spids: [718 719 728 -1] ) (case_arm pat_list: [{<status>} {<stat>} {<st>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:options) op: assign_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: [739] ) ] ) ] spids: [731 736 748 -1] ) (case_arm pat_list: [{<switch>} {<sw>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:options) op: assign_op.Equal rhs: { (SQ <'--relocate --revision --non-recursive --quiet\n'> < ' --username --password --no-auth-cache\n' > <' --non-interactive --diff3-cmd'> ) } spids: [757] ) ] ) ] spids: [751 754 765 -1] ) (case_arm pat_list: [{<unlock>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:options) op: assign_op.Equal rhs: { (SQ <'--targets --force --username --password\n'> < ' --no-auth-cache --non-interactive' > ) } spids: [772] ) ] ) ] spids: [768 769 779 -1] ) (case_arm pat_list: [{<update>} {<up>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:options) op: assign_op.Equal rhs: { (SQ <'--revision --non-recursive --quiet --username\n'> < ' --password --no-auth-cache --non-interactive\n' > <' --diff3-cmd --ignore-externals'> ) } spids: [788] ) ] ) ] spids: [782 785 796 -1] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:options) op: assign_op.PlusEqual rhs: {(DQ <' --help --config-dir'>)} spids: [802] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<compgen>} {<-W>} {(DQ ($ Id.VSub_DollarName '$options'))} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ) } ] ) } spids: [809] ) ] ) ] spids: [277 293] ) ] else_action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ ($ Id.VSub_DollarName '$command'))} right: { (word_part.ExtGlob op: <Id.ExtGlob_At '@('> arms: [{<help>} {<'[h'> <Id.Lit_Other '?'> <']'>}] ) } ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<compgen>} {<-W>} {(DQ ($ Id.VSub_DollarName '$commands'))} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ) } ] ) } spids: [860] ) ] ) ] spids: [836 857] ) ] else_action: [(C {<_filedir>})] ) ] ) ] ) (command.ControlFlow token:<Id.ControlFlow_Return return> arg_word:{<0>}) ] ) ) (C {<complete>} {<-F>} {<_svn>} {<svn>}) ] )