(command.AndOr children: [ (command.ShFunction name_tok: <_mysql> name: _mysql body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<cur>} {<prev>} {<words>} {<cword>} {<split>}] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <_init_completion> more_env: [] words: [{<_init_completion>} {<-s>}] redirects: [] do_fork: T ) (command.ControlFlow keyword:<Id.ControlFlow_Return return>) ] ops: [<Id.Op_DPipe _>] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName prev)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <-u> pattern: (pat.Words words:[{<-u>} {<--user>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'COMPREPLY='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'COMPREPLY='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'COMPREPLY='> name:COMPREPLY) op: assign_op.Equal rhs: { (ShArrayLiteral left: <Id.Op_LParen _> words: [ { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <compgen> more_env: [] words: [ {<compgen>} {<-u>} {<-->} {(DQ ($ Id.VSub_DollarName cur))} ] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ] right: <Id.Right_ShArrayLiteral _> ) } ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-D> pattern: (pat.Words words:[{<-D>} {<--database>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'COMPREPLY='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'COMPREPLY='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'COMPREPLY='> name:COMPREPLY) op: assign_op.Equal rhs: { (ShArrayLiteral left: <Id.Op_LParen _> words: [ { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <compgen> more_env: [] words: [ {<compgen>} {<-W>} { (DQ (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (command.Simple blame_tok: <mysqlshow> more_env: [] words: [{<mysqlshow>}] redirects: [ (Redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-ne>} {(SQ <2d>)} {<-e>} {(SQ <'s/^|.\\([^|]*\\)|.*/\\1/p'>)} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Eof_RParen _> ) ) } {<-->} {(DQ ($ Id.VSub_DollarName cur))} ] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ] right: <Id.Right_ShArrayLiteral _> ) } ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-h> pattern: (pat.Words words:[{<-h>} {<--host>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <_known_hosts_real> more_env: [] words: [{<_known_hosts_real>} {(DQ ($ Id.VSub_DollarName cur))}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <--default-character-set> pattern: (pat.Words words:[{<--default-character-set>}]) middle: <Id.Right_CasePat _> action: [ (command.AndOr children: [ (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_d child: {<'/usr/share/mysql/charsets'>} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'COMPREPLY='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'COMPREPLY='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'COMPREPLY='> name: COMPREPLY ) op: assign_op.Equal rhs: { (ShArrayLiteral left: <Id.Op_LParen _> words: [ { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <compgen> more_env: [] words: [ {<compgen>} {<-W>} { (DQ (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (command.Simple blame_tok: <command> more_env: [] words: [ {<command>} {<ls>} {<'/usr/share/mysql/charsets'>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-e>} { (SQ < '/^\\(README\\|Index\\.xml\\)$/d' > ) } {<-e>} {(SQ <'s/.xml$//'>)} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Eof_RParen _> ) <' utf8'> ) } {<-->} {(DQ ($ Id.VSub_DollarName cur))} ] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ] right: <Id.Right_ShArrayLiteral _> ) } ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <--character-sets-dir> pattern: (pat.Words words:[{<--character-sets-dir>} {<--ssl-capath>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <_filedir> more_env: [] words: [{<_filedir>} {<-d>}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-S> pattern: (pat.Words words:[{<-S>} {<--socket>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <_filedir> more_env: [] words: [{<_filedir>} {<sock>}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <--protocol> pattern: (pat.Words words:[{<--protocol>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'COMPREPLY='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'COMPREPLY='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'COMPREPLY='> name:COMPREPLY) op: assign_op.Equal rhs: { (ShArrayLiteral left: <Id.Op_LParen _> words: [ { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <compgen> more_env: [] words: [ {<compgen>} {<-W>} {(SQ <'tcp socket pipe memory'>)} {<-->} {(DQ ($ Id.VSub_DollarName cur))} ] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ] right: <Id.Right_ShArrayLiteral _> ) } ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <--defaults-file> pattern: (pat.Words words: [{<--defaults-file>} {<--defaults-extra-file>} {<--tee>}] ) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <_filedir> more_env: [] words: [{<_filedir>}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <--default-character-set> pattern: (pat.Words words: [ {<--default-character-set>} {<-P>} {<--port>} {<--set-variable>} {<--ssl-ca>} {<--ssl-cert>} {<--ssl-cipher>} {<--ssl-key>} {<--connect_timeout>} {<--max_allowed_packet>} {<--prompt>} {<--net_buffer_length>} {<--select_limit>} {<--max_join_size>} {<--server-arg>} {<--debug>} {<--delimiter>} {<--execute>} {<-e>} {<--pager>} ] ) middle: <Id.Right_CasePat _> action: [(command.ControlFlow keyword:<Id.ControlFlow_Return return> arg_word:{<0>})] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Left_SingleQuote '\''> pattern: (pat.Words words:[{(SQ <'-?'>)} {<-I>} {<--help>} {<-V>} {<--version>}]) middle: <Id.Right_CasePat _> action: [(command.ControlFlow keyword:<Id.ControlFlow_Return return> arg_word:{<0>})] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName cur)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <--> pattern: (pat.Words words:[{<--> <Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<Id.Lit_VarLike 'help='> (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <_parse_help> more_env: [] words: [{<_parse_help>} {(DQ ($ Id.VSub_Number 1))}] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'help+='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'help+='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'help+='> name:help) op: assign_op.PlusEqual rhs: {(DQ <' --skip-comments --skip-ssl'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'COMPREPLY='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'COMPREPLY='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'COMPREPLY='> name:COMPREPLY) op: assign_op.Equal rhs: { (ShArrayLiteral left: <Id.Op_LParen _> words: [ { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <compgen> more_env: [] words: [ {<compgen>} {<-W>} {(DQ ($ Id.VSub_DollarName help))} {<-->} {(DQ ($ Id.VSub_DollarName cur))} ] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ] right: <Id.Right_ShArrayLiteral _> ) } ) ] redirects: [] ) (command.AndOr children: [ (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {($ Id.VSub_DollarName COMPREPLY)} right: {<Id.Lit_Other '*'> <Id.BoolBinary_GlobEqual '='>} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) (command.Simple blame_tok: <compopt> more_env: [] words: [{<compopt>} {<-o>} {<nospace>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-> pattern: (pat.Words words:[{<->}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <compopt> more_env: [] words: [{<compopt>} {<-o>} {<nospace>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'COMPREPLY='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'COMPREPLY='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'COMPREPLY='> name:COMPREPLY) op: assign_op.Equal rhs: { (ShArrayLiteral left: <Id.Op_LParen _> words: [{<-->}] right: <Id.Right_ShArrayLiteral _> ) } ) ] redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'COMPREPLY='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'COMPREPLY='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'COMPREPLY='> name:COMPREPLY) op: assign_op.Equal rhs: { (ShArrayLiteral left: <Id.Op_LParen _> words: [ { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <compgen> more_env: [] words: [ {<compgen>} {<-W>} { (DQ (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (command.Simple blame_tok: <mysqlshow> more_env: [] words: [{<mysqlshow>}] redirects: [ (Redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} {<-ne>} {(SQ <2d>)} {<-e>} {(SQ <'s/^|.\\([^|]*\\)|.*/\\1/p'>)} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Eof_RParen _> ) ) } {<-->} {(DQ ($ Id.VSub_DollarName cur))} ] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ] right: <Id.Right_ShArrayLiteral _> ) } ) ] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.Simple blame_tok: <complete> more_env: [] words: [{<complete>} {<-F>} {<_mysql>} {<mysql>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] )