(command.CommandList children: [ (command.ShFunction name_tok: <_aspell_dictionary> name: _aspell_dictionary body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<datadir>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'datadir='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'datadir='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'datadir='> name:datadir) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.AndOr children: [ (command.Simple blame_tok: <aspell> more_env: [] words: [{<aspell>} {<config>} {<data-dir>}] redirects: [ (Redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {<'/usr/lib/aspell'>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DPipe _>] ) right: <Id.Eof_RParen _> ) } ) ] 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: <command> more_env: [] words: [ {<command>} {<ls>} {($ Id.VSub_DollarName datadir) <'/'> <Id.Lit_Star '*'> <.alias>} ] redirects: [ (Redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) right: <Id.Eof_RParen _> ) } ] right: <Id.Right_ShArrayLiteral _> ) } ) ] 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: [ { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name COMPREPLY> var_name: COMPREPLY bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) suffix_op: (suffix_op.Unary op:<Id.VOp1_Percent '%'> arg_word:{<.alias>}) right: <Id.Right_DollarBrace '}'> ) } ] right: <Id.Right_ShArrayLiteral _> ) } ) ] 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: [ { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name COMPREPLY> var_name: COMPREPLY bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) suffix_op: (suffix_op.Unary op: <Id.VOp1_Pound '#'> arg_word: {($ Id.VSub_DollarName datadir) <Id.Lit_Slash '/'>} ) right: <Id.Right_DollarBrace '}'> ) } ] right: <Id.Right_ShArrayLiteral _> ) } ) ] 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.PlusEqual rhs: { (ShArrayLiteral left: <Id.Op_LParen _> words: [ { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <aspell> more_env: [] words: [{<aspell>} {<dicts>}] redirects: [ (Redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) right: <Id.Eof_RParen _> ) } ] right: <Id.Right_ShArrayLiteral _> ) } ) ] 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>} {(SQ <'${COMPREPLY[@]}'>)} {<-->} {(DQ ($ Id.VSub_DollarName cur))} ] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ] right: <Id.Right_ShArrayLiteral _> ) } ) ] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.AndOr children: [ (command.ShFunction name_tok: <_aspell> name: _aspell 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: <-c> pattern: (pat.Words words: [ {<-c>} {<-p>} {<check>} {<--conf>} {<--personal>} {<--repl>} {<--per-conf>} ] ) 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: <--conf-dir> pattern: (pat.Words words: [ {<--conf-dir>} {<--data-dir>} {<--dict-dir>} {<--home-dir>} {<--local-data-dir>} {<--prefix>} ] ) 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: <dump> pattern: (pat.Words words:[{<dump>} {<create>} {<merge>}]) 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 <'master personal repl'>)} {<-->} {(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: <--mode> pattern: (pat.Words words:[{<--mode>}]) 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: <Id.VSub_Number '$1'> more_env: [] words: [{($ Id.VSub_Number 1)} {<modes>}] 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 <'{ 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: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <--sug-mode> pattern: (pat.Words words:[{<--sug-mode>}]) 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 <'ultra fast normal bad-speller'>)} {<-->} {(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: <--keymapping> pattern: (pat.Words words:[{<--keymapping>}]) 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 <'aspell ispell'>)} {<-->} {(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>} {<--master>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <_aspell_dictionary> more_env: [] words: [{<_aspell_dictionary>}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <--add-filter> pattern: (pat.Words words:[{<--add-filter>} {<--rem-filter>}]) 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: <Id.VSub_Number '$1'> more_env: [] words: [ {($ Id.VSub_Number 1)} {<filters>} ] 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 <'{ 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: [] ) (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 < '--conf= --conf-dir= --data-dir= --dict-dir=\n' > <' --encoding= --add-filter= --rem-filter= --mode= --add-extra-dicts=\n'> < ' --rem-extra-dicts= --home-dir= --ignore= --ignore-accents\n' > <' --dont-ignore-accents --ignore-case --dont-ignore-case\n'> < ' --ignore-repl --dont-ignore-repl --jargon --keyboard= --lang=\n' > <' --language-tag --local-data-dir= --master= --module\n'> < ' --add-module-search-order --rem-module-search-order --per-conf=\n' > <' --personal= --prefix= --repl= --run-together --dont-run-together\n'> < ' --run-together-limit= --run-together-min= --save-repl\n' > <' --dont-save-repl --set-prefix --dont-set-prefix --size= --spelling\n'> < ' --strip-accents --dont-strip-accents --sug-mode=\n' > <' --add-word-list-path --rem-word-list-path --backup --dont-backup\n'> < ' --reverse --dont-reverse --time --dont-time --keymapping=\n' > <' --add-email-quote= --rem-email-quote= --email-margin=\n'> < ' --add-tex-command= --rem-tex-command= --tex-check-comments\n' > <' --dont-tex-check-comments --add-tex-extension --rem-tex-extension\n'> < ' --add-sgml-check= --rem-sgml-check= --add-sgml-extension\n' > <' --rem-sgml-extension'> ) } {<-->} {(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: [489 505] ) ] else_kw: <Id.KW_Else else> else_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 <'usage help check pipe list config soundslike\n'> <' filter version dump create merge'> ) } {<-->} {(DQ ($ Id.VSub_DollarName cur))} ] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ] right: <Id.Right_ShArrayLiteral _> ) } ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.Simple blame_tok: <complete> more_env: [] words: [{<complete>} {<-F>} {<_aspell>} {<aspell>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) ] )