(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: (Token id:Id.Op_LParen val:'(' span_id:16) words: [ { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:18) 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: (Token id:Id.ControlFlow_Return val:return span_id:69) ) ] ) (command.Case to_match: {($ Id.VSub_DollarName '$prev')} arms: [ (case_arm pat_list: [{(--config)}] action: [ (C {(_filedir)}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:87) ) ] 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: (Token id:Id.ControlFlow_Break val:break span_id:149) ) ] ) ] ) ) (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: (Token id:Id.ControlFlow_Return val:return span_id:167) ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: (Token id:Id.Op_LParen val:'(' span_id:171) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 173 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (DQ (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 182 ) command_list: (command.CommandList children: [ (C {(sed)} {(-n)} { (SQ (Token id: Id.Lit_Chars val: 's/^\\[phone_\\(.*\\)\\]/\\1/p' span_id: 189 ) ) } {($ Id.VSub_DollarName '$config_file')} ) ] ) ) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [170] ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:210) ) ] 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: (Token id:Id.Op_LParen val:'(' span_id:221) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 223 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: 'all monitor sms mms phonebook calendar\n' span_id: 230 ) (Token id: Id.Lit_Chars val: ' todo dial profile settings wap logo ringtone security file\n' span_id: 231 ) (Token id:Id.Lit_Chars val:' other' span_id:232) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [220] ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:246) ) ] spids: [216 217 249 -1] ) (case_arm pat_list: [{(--version)} {(--shell)} {(ping)}] action: [ (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:260) ) ] 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: (Token id:Id.Op_LParen val:'(' span_id:276) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 278 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: 'delay once' span_id: 285 ) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [275] ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:299) ) ] spids: [271 272 302 -1] ) (case_arm pat_list: [{(--getdisplaystatus)} {(--displayoutput)}] action: [ (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:311) ) ] 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: (Token id:Id.Op_LParen val:'(' span_id:322) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 324 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: 'reset off field devel next nr' span_id: 331 ) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [321] ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:347) ) ] spids: [317 318 350 -1] ) (case_arm pat_list: [{(--sendsms)}] action: [ (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:366) ) ] 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: (Token id:Id.Op_LParen val:'(' span_id:377) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 379 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: '--sender --smsc --smscno --folder\n' span_id: 386 ) (Token id: Id.Lit_Chars val: ' --location --sent --read --deliver --datetime' span_id: 387 ) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [376] ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:401) ) ] 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: (Token id:Id.ControlFlow_Return val:return span_id:430) ) ] spids: [407 424 433 -1] ) (case_arm pat_list: [ {(--getsmsc)} {(--getcalendarnote)} {(--deletecalendarnote)} {(--gettodo)} {(--getspeeddial)} ] action: [ (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:454) ) ] spids: [436 447 457 -1] ) (case_arm pat_list: [ {(--setsmsc)} {(--smsreader)} {(--createsmsfolder)} {(--deletealltodos)} {(--showsmsfolderstatus)} ] action: [ (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:474) ) ] spids: [460 471 477 -1] ) (case_arm pat_list: [{(--deletesmsfolder)} {(--folder)}] action: [ (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:490) ) ] 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: (Token id:Id.Op_LParen val:'(' span_id:501) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 503 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: '--overwrite --find-free --memory-type\n' span_id: 510 ) (Token id:Id.Lit_Chars val:' --location --vcard --ldif' span_id:511) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [500] ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:525) ) ] spids: [496 497 528 -1] ) (case_arm pat_list: [{(--writecalendarnote)} {(--writetodo)}] action: [ (C {(_filedir)} {(vcf)}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:542) ) ] spids: [531 534 545 -1] ) (case_arm pat_list: [ {(--setspeeddial)} {(--dialvoice)} {(--senddtmf)} {(--answercall)} {(--hangup)} ] action: [ (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:569) ) ] 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: (Token id:Id.Op_LParen val:'(' span_id:580) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 582 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} {(SQ (Token id:Id.Lit_Chars val:--op span_id:589))} {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [579] ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:603) ) ] spids: [575 576 606 -1] ) (case_arm pat_list: [{(--getprofile)} {(--setactiveprofile)}] action: [ (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:624) ) ] spids: [614 617 627 -1] ) (case_arm pat_list: [{(--setprofile)} {(--getactiveprofile)}] action: [ (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:636) ) ] 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: (Token id:Id.Op_LParen val:'(' span_id:652) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 654 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: 'soft hard' span_id: 661 ) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [651] ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:675) ) ] spids: [647 648 678 -1] ) (case_arm pat_list: [{(--setdatetime)} {(--setalarm)}] action: [ (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:691) ) ] spids: [681 684 694 -1] ) (case_arm pat_list: [{(--getdatetime)} {(--getalarm)}] action: [ (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:703) ) ] spids: [697 700 706 -1] ) (case_arm pat_list: [ {(--getwapbookmark)} {(--writewapbookmark)} {(--deletewapbookmark)} {(--getwapsetting)} {(--writewapsetting)} {(--activatewapsetting)} ] action: [ (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:730) ) ] 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: (Token id:Id.Op_LParen val:'(' span_id:746) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 748 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: 'caller op picture' span_id: 755 ) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [745] ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:769) ) ] 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: (Token id:Id.Op_LParen val:'(' span_id:782) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 784 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: 'op startup caller dealer text' span_id: 791 ) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [781] ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:807) ) ] spids: [775 778 810 -1] ) (case_arm pat_list: [{(--viewlogo)}] action: [ (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:821) ) ] 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: (Token id:Id.Op_LParen val:'(' span_id:833) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 835 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: 'PIN PIN2 PUK PUK2 SEC' span_id: 842 ) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [832] ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:856) ) ] 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: (Token id: Id.Lit_ArithVarLike val: cword span_id: 880 ) ) 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: (Token id:Id.VSub_Name val:words span_id:893) bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.Binary op_id: Id.Arith_Minus left: (arith_expr.VarRef token: (Token id: Id.Lit_ArithVarLike val: cword span_id: 895 ) ) right: (arith_expr.ArithWord w:{(Id.Lit_Digits 2)}) ) ) ) } right: {(--) (Id.Lit_Other '*')} ) ) ) terminator: (Token id:Id.Op_Semi val:';' span_id:907) ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:pprev) op: assign_op.Equal rhs: { (braced_var_sub token: (Token id:Id.VSub_Name val:words span_id:914) bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.Binary op_id: Id.Arith_Minus left: (arith_expr.VarRef token: (Token id: Id.Lit_ArithVarLike val: cword span_id: 916 ) ) 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: (Token id:Id.ControlFlow_Return val:return span_id:937) ) ] spids: [930 931 940 -1] ) (case_arm pat_list: [ {(--getsms)} {(--deletesms)} {(--getmms)} {(--deletemms)} {(--getphonebook)} {(--writetodo)} {(--writecalendarnote)} ] action: [ (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:965) ) ] 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: (Token id:Id.Op_LParen val:'(' span_id:978) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 980 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: '{1..9} end --vCal' span_id: 987 ) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [977] ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:1001) ) ] 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: (Token id:Id.Op_LParen val:'(' span_id:1012) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 1014 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: '{1..9} end' span_id: 1021 ) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [1011] ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:1035) ) ] 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: (Token id:Id.Op_LParen val:'(' span_id:1046) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 1048 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: 'register enable query disable\n' span_id: 1055 ) (Token id:Id.Lit_Chars val:' erasure' span_id:1056) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [1045] ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:1070) ) ] 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: (Token id: Id.Lit_ArithVarLike val: cword span_id: 1092 ) ) 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: (Token id:Id.VSub_Name val:words span_id:1105) bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.Binary op_id: Id.Arith_Minus left: (arith_expr.VarRef token: (Token id: Id.Lit_ArithVarLike val: cword span_id: 1107 ) ) right: (arith_expr.ArithWord w:{(Id.Lit_Digits 3)}) ) ) ) } right: {(--) (Id.Lit_Other '*')} ) ) ) terminator: (Token id:Id.Op_Semi val:';' span_id:1119) ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:tprev) op: assign_op.Equal rhs: { (braced_var_sub token: (Token id:Id.VSub_Name val:words span_id:1126) bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.Binary op_id: Id.Arith_Minus left: (arith_expr.VarRef token: (Token id: Id.Lit_ArithVarLike val: cword span_id: 1128 ) ) 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: (Token id:Id.Op_LParen val:'(' span_id:1149) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 1151 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: end span_id: 1158 ) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [1148] ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:1172) ) ] 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: (Token id:Id.Op_LParen val:'(' span_id:1187) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 1189 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: '{1..9} end' span_id: 1196 ) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [1186] ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:1210) ) ] 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: (Token id:Id.VSub_Name val:words span_id:1225) bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.Binary op_id: Id.Arith_Minus left: (arith_expr.VarRef token: (Token id: Id.Lit_ArithVarLike val: cword span_id: 1227 ) ) 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: (Token id:Id.Op_LParen val:'(' span_id:1244) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 1246 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: --vCal span_id: 1253 ) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [1243] ) ] ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:1267) ) ] 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: (Token id:Id.Op_LParen val:'(' span_id:1278) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 1280 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: --type span_id: 1287 ) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [1277] ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:1301) ) ] 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: (Token id: Id.Lit_ArithVarLike val: cword span_id: 1320 ) ) 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: (Token id:Id.VSub_Name val:words span_id:1333) bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.Binary op_id: Id.Arith_Minus left: (arith_expr.VarRef token: (Token id: Id.Lit_ArithVarLike val: cword span_id: 1335 ) ) right: (arith_expr.ArithWord w:{(Id.Lit_Digits 4)}) ) ) ) } right: {(--) (Id.Lit_Other '*')} ) ) ) terminator: (Token id:Id.Op_Semi val:';' span_id:1347) ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fprev) op: assign_op.Equal rhs: { (braced_var_sub token: (Token id:Id.VSub_Name val:words span_id:1354) bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.Binary op_id: Id.Arith_Minus left: (arith_expr.VarRef token: (Token id: Id.Lit_ArithVarLike val: cword span_id: 1356 ) ) 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: (Token id:Id.Op_LParen val:'(' span_id:1375) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 1377 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: '--raw --vcard --ldif' span_id: 1384 ) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [1374] ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:1398) ) ] 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: (Token id:Id.Op_LParen val:'(' span_id:1409) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 1411 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: 'all busy noans outofreach notavail' span_id: 1418 ) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [1408] ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:1434) ) ] spids: [1404 1405 -1 1437] ) ] ) ] spids: [1315 1349] ) ] ) (C {(local)} {(Id.Lit_VarLike 'all_cmd=') (DQ (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:1452) 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: (Token id:Id.Left_DollarParen val:'$(' span_id:1476) command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(echo)} {(DQ ($ Id.VSub_DollarName '$all_cmd'))}) (C {(grep)} {(-v)} {(--)} {(SQ (Token id:Id.Lit_Chars val:'--config\\|--phone' span_id:1493))} ) ] 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: (Token id:Id.Left_DollarParen val:'$(' span_id:1514) command_list: (command.CommandList children: [ (command.Simple words: [ {(tr)} {(SQ (Token id:Id.Lit_Chars val:' ' span_id:1519))} {(SQ (Token id:Id.Lit_Chars val:'\\b|' span_id:1523))} ] redirects: [ (redir.Redir op: (Token id:Id.Redir_TLess val:'<<<' span_id:1525) fd: -1 arg_word: {($ Id.VSub_DollarName '$main_cmd')} ) ] ) ] ) ) } ) ) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:1534) ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: (Token id:Id.Op_LParen val:'(' span_id:1539) words: [ { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:1541) 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)}) ] ) ] )