(command.CommandList children: [ (command.ShFunction name: _gnokii_memory_type body: (command.BraceGroup children: [ (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 '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} {(DQ <'IN OU SM ME MT'>)} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [15] ) ] ) ] ) ) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.ShFunction name: _gnokii body: (command.BraceGroup children: [ (C {<local>} {<cur>} {<prev>} {<words>} {<cword>} {<pprev>} {<tprev>} {<fprev>}) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<_init_completion>}) (command.ControlFlow token:<Id.ControlFlow_Return return>) ] ) (command.Case to_match: {($ Id.VSub_DollarName '$prev')} arms: [ (case_arm pat_list: [{<--config>}] action: [ (C {<_filedir>}) (command.ControlFlow token: <Id.ControlFlow_Return return> ) ] spids: [80 81 90 -1] ) (case_arm pat_list: [{<--phone>}] action: [ (C {<local>} {<config_file>}) (command.ForEach iter_name: config_file iter_words: [ {(DQ ($ Id.VSub_DollarName '$XDG_CONFIG_HOME') </gnokii/config>)} {(DQ ($ Id.VSub_DollarName '$HOME') </.config/gnokii/config>)} {(DQ ($ Id.VSub_DollarName '$HOME') </.gnokiirc>)} {(DQ ($ Id.VSub_DollarName '$XDG_CONFIG_DIRS') </gnokii/config>)} {</etc/gnokiirc>} ] do_arg_iter: F body: (command.DoGroup children: [ (command.AndOr ops: [Id.Op_DAmp] children: [ (command.DBracket expr: (bool_expr.Unary op_id: Id.BoolUnary_f child: {($ Id.VSub_DollarName '$config_file')} ) ) (command.ControlFlow token: <Id.ControlFlow_Break break> ) ] ) ] ) ) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.DBracket expr: (bool_expr.LogicalNot child: (bool_expr.Unary op_id: Id.BoolUnary_f child: {($ Id.VSub_DollarName '$config_file')} ) ) ) (command.ControlFlow token: <Id.ControlFlow_Return return> ) ] ) (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 '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<sed>} {<-n>} { (SQ < 's/^\\[phone_\\(.*\\)\\]/\\1/p' > ) } {($ Id.VSub_DollarName '$config_file')} ) ] ) ) ) } {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [170] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> ) ] spids: [93 94 213 -1] ) (case_arm pat_list: [{<--help>}] 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 '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} { (SQ <'all monitor sms mms phonebook calendar\n'> < ' todo dial profile settings wap logo ringtone security file\n' > <' other'> ) } {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [220] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> ) ] spids: [216 217 249 -1] ) (case_arm pat_list: [{<--version>} {<--shell>} {<ping>}] action: [(command.ControlFlow token:<Id.ControlFlow_Return return>)] spids: [252 257 263 -1] ) (case_arm pat_list: [{<--monitor>}] 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 '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} {(SQ <'delay once'>)} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [275] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> ) ] spids: [271 272 302 -1] ) (case_arm pat_list: [{<--getdisplaystatus>} {<--displayoutput>}] action: [(command.ControlFlow token:<Id.ControlFlow_Return return>)] spids: [305 308 314 -1] ) (case_arm pat_list: [{<--netmonitor>}] 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 '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} {(SQ <'reset off field devel next nr'>)} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [321] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> ) ] spids: [317 318 350 -1] ) (case_arm pat_list: [{<--sendsms>}] action: [(command.ControlFlow token:<Id.ControlFlow_Return return>)] spids: [358 359 369 -1] ) (case_arm pat_list: [{<--savesms>}] 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 '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} { (SQ <'--sender --smsc --smscno --folder\n'> < ' --location --sent --read --deliver --datetime' > ) } {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [376] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> ) ] spids: [372 373 404 -1] ) (case_arm pat_list: [ {<--memory-type>} {<--memory>} {<--getsms>} {<--deletesms>} {<--getmms>} {<--deletemms>} {<--getphonebook>} {<--deletephonebook>} ] action: [ (C {<_gnokii_memory_type>}) (command.ControlFlow token: <Id.ControlFlow_Return return> ) ] spids: [407 424 433 -1] ) (case_arm pat_list: [ {<--getsmsc>} {<--getcalendarnote>} {<--deletecalendarnote>} {<--gettodo>} {<--getspeeddial>} ] action: [(command.ControlFlow token:<Id.ControlFlow_Return return>)] spids: [436 447 457 -1] ) (case_arm pat_list: [ {<--setsmsc>} {<--smsreader>} {<--createsmsfolder>} {<--deletealltodos>} {<--showsmsfolderstatus>} ] action: [(command.ControlFlow token:<Id.ControlFlow_Return return>)] spids: [460 471 477 -1] ) (case_arm pat_list: [{<--deletesmsfolder>} {<--folder>}] action: [(command.ControlFlow token:<Id.ControlFlow_Return return>)] spids: [480 483 493 -1] ) (case_arm pat_list: [{<--writephonebook>}] 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 '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} { (SQ <'--overwrite --find-free --memory-type\n'> <' --location --vcard --ldif'> ) } {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [500] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> ) ] spids: [496 497 528 -1] ) (case_arm pat_list: [{<--writecalendarnote>} {<--writetodo>}] action: [ (C {<_filedir>} {<vcf>}) (command.ControlFlow token: <Id.ControlFlow_Return return> ) ] spids: [531 534 545 -1] ) (case_arm pat_list: [ {<--setspeeddial>} {<--dialvoice>} {<--senddtmf>} {<--answercall>} {<--hangup>} ] action: [(command.ControlFlow token:<Id.ControlFlow_Return return>)] spids: [553 562 572 -1] ) (case_arm pat_list: [{<--divert>}] 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 '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} {(SQ <--op>)} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [579] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> ) ] spids: [575 576 606 -1] ) (case_arm pat_list: [{<--getprofile>} {<--setactiveprofile>}] action: [(command.ControlFlow token:<Id.ControlFlow_Return return>)] spids: [614 617 627 -1] ) (case_arm pat_list: [{<--setprofile>} {<--getactiveprofile>}] action: [(command.ControlFlow token:<Id.ControlFlow_Return return>)] spids: [630 633 639 -1] ) (case_arm pat_list: [{<--reset>}] 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 '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} {(SQ <'soft hard'>)} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [651] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> ) ] spids: [647 648 678 -1] ) (case_arm pat_list: [{<--setdatetime>} {<--setalarm>}] action: [(command.ControlFlow token:<Id.ControlFlow_Return return>)] spids: [681 684 694 -1] ) (case_arm pat_list: [{<--getdatetime>} {<--getalarm>}] action: [(command.ControlFlow token:<Id.ControlFlow_Return return>)] spids: [697 700 706 -1] ) (case_arm pat_list: [ {<--getwapbookmark>} {<--writewapbookmark>} {<--deletewapbookmark>} {<--getwapsetting>} {<--writewapsetting>} {<--activatewapsetting>} ] action: [(command.ControlFlow token:<Id.ControlFlow_Return return>)] spids: [714 727 733 -1] ) (case_arm pat_list: [{<--sendlogo>}] 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 '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} {(SQ <'caller op picture'>)} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [745] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> ) ] spids: [741 742 772 -1] ) (case_arm pat_list: [{<--setlogo>} {<--getlogo>}] 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 '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} {(SQ <'op startup caller dealer text'>)} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [781] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> ) ] spids: [775 778 810 -1] ) (case_arm pat_list: [{<--viewlogo>}] action: [(command.ControlFlow token:<Id.ControlFlow_Return return>)] spids: [813 814 824 -1] ) (case_arm pat_list: [{<--entersecuritycode>}] 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 '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} {(SQ <'PIN PIN2 PUK PUK2 SEC'>)} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [832] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> ) ] spids: [828 829 859 -1] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.LogicalAnd left: (bool_expr.Binary op_id: Id.BoolBinary_ge left: { (word_part.ArithSub anode: (arith_expr.Binary op_id: Id.Arith_Minus left: (arith_expr.VarRef token: <Id.Lit_ArithVarLike cword> ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 2>}) ) ) } right: {<1>} ) right: (bool_expr.Binary op_id: Id.BoolBinary_EqualTilde left: { (braced_var_sub token: <Id.VSub_Name words> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.Binary op_id: Id.Arith_Minus left: (arith_expr.VarRef token: <Id.Lit_ArithVarLike cword> ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 2>}) ) ) ) } right: {<--> <Id.Lit_Other '*'>} ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:pprev) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name words> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.Binary op_id: Id.Arith_Minus left: (arith_expr.VarRef token: <Id.Lit_ArithVarLike cword> ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 2>}) ) ) ) } spids: [912] ) ] ) (command.Case to_match: {($ Id.VSub_DollarName '$pprev')} arms: [ (case_arm pat_list: [{<--setspeeddial>}] action: [ (C {<_gnokii_memory_type>}) (command.ControlFlow token: <Id.ControlFlow_Return return> ) ] spids: [930 931 940 -1] ) (case_arm pat_list: [ {<--getsms>} {<--deletesms>} {<--getmms>} {<--deletemms>} {<--getphonebook>} {<--writetodo>} {<--writecalendarnote>} ] action: [(command.ControlFlow token:<Id.ControlFlow_Return return>)] spids: [943 958 968 -1] ) (case_arm pat_list: [{<--gettodo>} {<--getcalendarnote>}] 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 '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} {(SQ <'{1..9} end --vCal'>)} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [977] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> ) ] spids: [971 974 1004 -1] ) (case_arm pat_list: [{<--deletecalendarnote>}] 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 '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} {(SQ <'{1..9} end'>)} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [1011] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> ) ] spids: [1007 1008 1038 -1] ) (case_arm pat_list: [{<--divert>}] 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 '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} { (SQ <'register enable query disable\n'> <' erasure'> ) } {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [1045] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> ) ] spids: [1041 1042 1073 -1] ) ] ) ] spids: [875 909] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.LogicalAnd left: (bool_expr.Binary op_id: Id.BoolBinary_ge left: { (word_part.ArithSub anode: (arith_expr.Binary op_id: Id.Arith_Minus left: (arith_expr.VarRef token: <Id.Lit_ArithVarLike cword> ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) ) } right: {<1>} ) right: (bool_expr.Binary op_id: Id.BoolBinary_EqualTilde left: { (braced_var_sub token: <Id.VSub_Name words> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.Binary op_id: Id.Arith_Minus left: (arith_expr.VarRef token: <Id.Lit_ArithVarLike cword> ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) ) ) } right: {<--> <Id.Lit_Other '*'>} ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:tprev) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name words> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.Binary op_id: Id.Arith_Minus left: (arith_expr.VarRef token: <Id.Lit_ArithVarLike cword> ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 3>}) ) ) ) } spids: [1124] ) ] ) (command.Case to_match: {($ Id.VSub_DollarName '$tprev')} arms: [ (case_arm pat_list: [{<--deletesms>} {<--deletemms>}] 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 '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} {(SQ <end>)} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [1148] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> ) ] spids: [1142 1145 1175 -1] ) (case_arm pat_list: [{<--getphonebook>} {<--writetodo>} {<--writecalendarnote>}] 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 '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} {(SQ <'{1..9} end'>)} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [1186] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> ) ] spids: [1178 1183 1213 -1] ) (case_arm pat_list: [{<--gettodo>} {<--getcalendarnote>}] action: [ (command.AndOr ops: [Id.Op_DAmp] children: [ (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: { (braced_var_sub token: <Id.VSub_Name words> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.Binary op_id: Id.Arith_Minus left: (arith_expr.VarRef token: <Id.Lit_ArithVarLike cword> ) right: (arith_expr.ArithWord w: {<Id.Lit_Digits 1>} ) ) ) ) } right: {<end>} ) ) (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 '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} {(SQ <--vCal>)} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [1243] ) ] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> ) ] spids: [1216 1219 1270 -1] ) (case_arm pat_list: [{<--divert>}] 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 '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} {(SQ <--type>)} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [1277] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> ) ] spids: [1273 1274 -1 1304] ) ] ) ] spids: [1087 1121] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.LogicalAnd left: (bool_expr.Binary op_id: Id.BoolBinary_ge left: { (word_part.ArithSub anode: (arith_expr.Binary op_id: Id.Arith_Minus left: (arith_expr.VarRef token: <Id.Lit_ArithVarLike cword> ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 4>}) ) ) } right: {<1>} ) right: (bool_expr.Binary op_id: Id.BoolBinary_EqualTilde left: { (braced_var_sub token: <Id.VSub_Name words> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.Binary op_id: Id.Arith_Minus left: (arith_expr.VarRef token: <Id.Lit_ArithVarLike cword> ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 4>}) ) ) ) } right: {<--> <Id.Lit_Other '*'>} ) ) ) terminator: <Id.Op_Semi _> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fprev) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name words> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.Binary op_id: Id.Arith_Minus left: (arith_expr.VarRef token: <Id.Lit_ArithVarLike cword> ) right: (arith_expr.ArithWord w:{<Id.Lit_Digits 4>}) ) ) ) } spids: [1352] ) ] ) (command.Case to_match: {($ Id.VSub_DollarName '$fprev')} arms: [ (case_arm pat_list: [{<--getphonebook>}] 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 '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} {(SQ <'--raw --vcard --ldif'>)} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [1374] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> ) ] spids: [1370 1371 1401 -1] ) (case_arm pat_list: [{<--divert>}] 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 '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} { (SQ <'all busy noans outofreach notavail'> ) } {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [1408] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Return return> ) ] spids: [1404 1405 -1 1437] ) ] ) ] spids: [1315 1349] ) ] ) (C {<local>} {<Id.Lit_VarLike 'all_cmd='> (DQ (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Simple words: [{<_parse_help>} {($ Id.VSub_Number '$1')} {(DQ <'--help all'>)}] more_env: [(env_pair name:LANG val:{<C>} spids:[1454])] ) ] ) ) ) } ) (C {<local>} {<Id.Lit_VarLike 'main_cmd='> (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {<echo>} {(DQ ($ Id.VSub_DollarName '$all_cmd'))}) (C {<grep>} {<-v>} {<-->} {(SQ <'--config\\|--phone'>)}) ] negated: F ) ] ) ) } ) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_EqualTilde left: {($ Id.VSub_DollarName '$COMP_LINE')} right: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (command.Simple words: [{<tr>} {(SQ <' '>)} {(SQ <'\\b|'>)}] redirects: [ (redir.Redir op: <Id.Redir_TLess '<<<'> fd: -1 arg_word: {($ Id.VSub_DollarName '$main_cmd')} ) ] ) ] ) ) } ) ) (command.ControlFlow token:<Id.ControlFlow_Return return>) ] ) (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 '$('> command_list: (command.CommandList children: [ (C {<compgen>} {<-W>} {(DQ ($ Id.VSub_DollarName '$all_cmd'))} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [1538] ) ] ) ] ) ) (C {<complete>} {<-F>} {<_gnokii>} {<gnokii>}) ] ) ] )