(command.CommandList children: [ (command.ShFunction name_tok: <_pg_databases> name: _pg_databases body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (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: <psql> more_env: [] words: [ {<psql>} {<-XAtqwlF>} { (SingleQuoted left: <Id.Left_DollarSingleQuote '$\''> tokens: [<Id.Char_OneChar '\\t'>] right: <Id.Right_SingleQuote '\''> ) } ] redirects: [ (Redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) (command.Simple blame_tok: <awk> more_env: [] words: [{<awk>} {(SQ <'NF > 1 { print $1 }'>)}] 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.ShFunction name_tok: <_pg_users> name: _pg_users body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (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.Simple blame_tok: <psql> more_env: [] words: [ {<psql>} {<-XAtqwc>} {(SQ <'select usename from pg_user'>)} {<template1>} ] redirects: [ (Redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) right: <Id.Eof_RParen _> ) ) } {<-->} {(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_eq left: { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name COMPREPLY> var_name: COMPREPLY prefix_op: <Id.VSub_Pound '#'> bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) right: <Id.Right_DollarBrace '}'> ) } right: {<0>} ) 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>} {<-u>} {<-->} {(DQ ($ Id.VSub_DollarName cur))}] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ] right: <Id.Right_ShArrayLiteral _> ) } ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.AndOr children: [ (command.ShFunction name_tok: <_createdb> name: _createdb 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: <-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: <-U> pattern: (pat.Words words:[{<-U>} {<--username>} {<-O>} {<--owner>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <_pg_users> more_env: [] words: [{<_pg_users>}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-p> pattern: (pat.Words words: [ {<-p>} {<--port>} {<-D>} {<--tablespace>} {<-E>} {<--encoding>} {<-T>} {<--template>} ] ) middle: <Id.Right_CasePat _> action: [ (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <--help> pattern: (pat.Words words:[{<--help>} {<--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.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$split'> more_env: [] words: [{($ Id.VSub_DollarName split)}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] ops: [<Id.Op_DAmp _>] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ ($ Id.VSub_DollarName cur))} right: {<-> <Id.Lit_Other '*'>} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> 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 <'$( _parse_help "$1" )'>)} {<-->} {(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 _>] ) ] spids: [307 323] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <_pg_databases> more_env: [] words: [{<_pg_databases>}] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.Simple blame_tok: <complete> more_env: [] words: [{<complete>} {<-F>} {<_createdb>} {<createdb>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.AndOr children: [ (command.ShFunction name_tok: <_createuser> name: _createuser 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: <--help> pattern: (pat.Words words: [{<--help>} {<--version>} {<-p>} {<--port>} {<-c>} {<--connection-limit>}] ) middle: <Id.Right_CasePat _> action: [(command.ControlFlow keyword:<Id.ControlFlow_Return return>)] 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> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-U> pattern: (pat.Words words:[{<-U>} {<--username>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <_pg_users> more_env: [] words: [{<_pg_users>}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$split'> more_env: [] words: [{($ Id.VSub_DollarName split)}] redirects: [] do_fork: T ) (command.ControlFlow keyword:<Id.ControlFlow_Return return>) ] ops: [<Id.Op_DAmp _>] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ ($ Id.VSub_DollarName cur))} right: {<-> <Id.Lit_Other '*'>} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> 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 <'$( _parse_help "$1" )'>)} {<-->} {(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 _>] ) ] spids: [500 516] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.Simple blame_tok: <complete> more_env: [] words: [{<complete>} {<-F>} {<_createuser>} {<createuser>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.AndOr children: [ (command.ShFunction name_tok: <_dropdb> name: _dropdb 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: <-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: <-U> pattern: (pat.Words words:[{<-U>} {<--username>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <_pg_users> more_env: [] words: [{<_pg_users>}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <--help> pattern: (pat.Words words:[{<--help>} {<--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.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$split'> more_env: [] words: [{($ Id.VSub_DollarName split)}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] ops: [<Id.Op_DAmp _>] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ ($ Id.VSub_DollarName cur))} right: {<-> <Id.Lit_Other '*'>} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> 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 <'$( _parse_help "$1" )'>)} {<-->} {(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 _>] ) ] spids: [691 707] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <_pg_databases> more_env: [] words: [{<_pg_databases>}] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.Simple blame_tok: <complete> more_env: [] words: [{<complete>} {<-F>} {<_dropdb>} {<dropdb>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.AndOr children: [ (command.ShFunction name_tok: <_dropuser> name: _dropuser 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: <--help> pattern: (pat.Words words:[{<--help>} {<--version>} {<-p>} {<--port>}]) middle: <Id.Right_CasePat _> action: [(command.ControlFlow keyword:<Id.ControlFlow_Return return>)] 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> ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-U> pattern: (pat.Words words:[{<-U>} {<--username>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <_pg_users> more_env: [] words: [{<_pg_users>}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$split'> more_env: [] words: [{($ Id.VSub_DollarName split)}] redirects: [] do_fork: T ) (command.ControlFlow keyword:<Id.ControlFlow_Return return>) ] ops: [<Id.Op_DAmp _>] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ ($ Id.VSub_DollarName cur))} right: {<-> <Id.Lit_Other '*'>} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> 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 <'$( _parse_help "$1" )'>)} {<-->} {(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 _>] ) ] spids: [880 896] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <_pg_users> more_env: [] words: [{<_pg_users>}] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.Simple blame_tok: <complete> more_env: [] words: [{<complete>} {<-F>} {<_dropuser>} {<dropuser>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.AndOr children: [ (command.ShFunction name_tok: <_psql> name: _psql 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: <-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: <-U> pattern: (pat.Words words:[{<-U>} {<--username>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <_pg_users> more_env: [] words: [{<_pg_users>}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-d> pattern: (pat.Words words:[{<-d>} {<--dbname>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <_pg_databases> more_env: [] words: [{<_pg_databases>}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-o> pattern: (pat.Words words: [{<-o>} {<--output>} {<-f>} {<--file>} {<-L>} {<--log-file>}] ) 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: <-c> pattern: (pat.Words words: [ {<-c>} {<--command>} {<-F>} {<--field-separator>} {<-p>} {<--port>} {<-P>} {<--pset>} {<-R>} {<--record-separator>} {<-T>} {<--table-attr>} {<-v>} {<--set>} {<--variable>} ] ) middle: <Id.Right_CasePat _> action: [ (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <-> pattern: (pat.Words words: [ {<-> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\?'> ch:'?')} {<--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.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$split'> more_env: [] words: [{($ Id.VSub_DollarName split)}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] ops: [<Id.Op_DAmp _>] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ ($ Id.VSub_DollarName cur))} right: {<-> <Id.Lit_Other '*'>} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> 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 <'$( _parse_help "$1" )'>)} {<-->} {(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 _>] ) ] spids: [1170 1186] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <_pg_databases> more_env: [] words: [{<_pg_databases>}] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.Simple blame_tok: <complete> more_env: [] words: [{<complete>} {<-F>} {<_psql>} {<psql>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) ] )