(command.CommandList children: [ (command.ShFunction name: _ldap_uris 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:12) words: [ { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:14) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} {(SQ (Token id:Id.Lit_Chars val:'ldap:// ldaps://' span_id:21))} {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [11] ) ] ) ] ) ) (command.ShFunction name: _ldap_protocols 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:45) words: [ { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:47) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} {(SQ (Token id:Id.Lit_Chars val:'2 3' span_id:54))} {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [44] ) ] ) ] ) ) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.ShFunction name: _ldapsearch body: (command.BraceGroup children: [ (C {(local)} {(cur)} {(prev)} {(words)} {(cword)}) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {(_init_completion)}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:92) ) ] ) (command.Case to_match: {($ Id.VSub_DollarName '$prev')} arms: [ (case_arm pat_list: [{(-h)}] action: [ (C {(_known_hosts_real)} {(DQ ($ Id.VSub_DollarName '$cur'))}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:114) arg_word: {(0)} ) ] spids: [103 104 119 -1] ) (case_arm pat_list: [{(-H)}] action: [ (C {(_ldap_uris)}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:129) arg_word: {(0)} ) ] spids: [122 123 134 -1] ) (case_arm pat_list: [{(-T)}] action: [ (C {(_filedir)} {(-d)}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:146) arg_word: {(0)} ) ] spids: [137 138 151 -1] ) (case_arm pat_list: [{(-f)} {(-y)}] action: [ (C {(_filedir)}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:163) arg_word: {(0)} ) ] spids: [154 157 168 -1] ) (case_arm pat_list: [{(-s)}] 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:176) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 178 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: 'base one sub children' span_id: 185 ) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [175] ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:199) arg_word: {(0)} ) ] spids: [171 172 204 -1] ) (case_arm pat_list: [{(-a)}] 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:212) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 214 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: 'never always search find' span_id: 221 ) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [211] ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:237) arg_word: {(0)} ) ] spids: [207 208 242 -1] ) (case_arm pat_list: [{(-P)}] action: [ (C {(_ldap_protocols)}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:252) arg_word: {(0)} ) ] spids: [245 246 257 -1] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ ($ Id.VSub_DollarName '$cur'))} right: {(-) (Id.Lit_Other '*')} ) ) terminator: (Token id:Id.Op_Semi val:';' span_id:278) ) ] 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:284) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 286 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: '$( _parse_help "$1" ) -MM -ZZ' span_id: 293 ) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [283] ) ] ) ] spids: [264 280] ) ] ) ] ) ) (C {(complete)} {(-F)} {(_ldapsearch)} {(ldapsearch)}) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.ShFunction name: _ldapaddmodify body: (command.BraceGroup children: [ (C {(local)} {(cur)} {(prev)} {(words)} {(cword)}) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {(_init_completion)}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:344) ) ] ) (command.Case to_match: {($ Id.VSub_DollarName '$prev')} arms: [ (case_arm pat_list: [{(-h)}] action: [ (C {(_known_hosts_real)} {(DQ ($ Id.VSub_DollarName '$cur'))}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:366) arg_word: {(0)} ) ] spids: [355 356 371 -1] ) (case_arm pat_list: [{(-H)}] action: [ (C {(_ldap_uris)}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:381) arg_word: {(0)} ) ] spids: [374 375 386 -1] ) (case_arm pat_list: [{(-S)} {(-f)} {(-y)}] action: [ (C {(_filedir)}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:400) arg_word: {(0)} ) ] spids: [389 394 405 -1] ) (case_arm pat_list: [{(-P)}] action: [ (C {(_ldap_protocols)}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:415) arg_word: {(0)} ) ] spids: [408 409 420 -1] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ ($ Id.VSub_DollarName '$cur'))} right: {(-) (Id.Lit_Other '*')} ) ) terminator: (Token id:Id.Op_Semi val:';' span_id:441) ) ] 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:447) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 449 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: '$( _parse_help "$1" ) -MM -ZZ' span_id: 456 ) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [446] ) ] ) ] spids: [427 443] ) ] ) ] ) ) (C {(complete)} {(-F)} {(_ldapaddmodify)} {(ldapadd)} {(ldapmodify)}) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.ShFunction name: _ldapdelete body: (command.BraceGroup children: [ (C {(local)} {(cur)} {(prev)} {(words)} {(cword)}) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {(_init_completion)}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:509) ) ] ) (command.Case to_match: {($ Id.VSub_DollarName '$prev')} arms: [ (case_arm pat_list: [{(-h)}] action: [ (C {(_known_hosts_real)} {(DQ ($ Id.VSub_DollarName '$cur'))}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:531) arg_word: {(0)} ) ] spids: [520 521 536 -1] ) (case_arm pat_list: [{(-H)}] action: [ (C {(_ldap_uris)}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:546) arg_word: {(0)} ) ] spids: [539 540 551 -1] ) (case_arm pat_list: [{(-f)} {(-y)}] action: [ (C {(_filedir)}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:563) arg_word: {(0)} ) ] spids: [554 557 568 -1] ) (case_arm pat_list: [{(-P)}] action: [ (C {(_ldap_protocols)}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:578) arg_word: {(0)} ) ] spids: [571 572 583 -1] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ ($ Id.VSub_DollarName '$cur'))} right: {(-) (Id.Lit_Other '*')} ) ) terminator: (Token id:Id.Op_Semi val:';' span_id:604) ) ] 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:610) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 612 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: '$( _parse_help "$1" ) -MM -ZZ' span_id: 619 ) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [609] ) ] ) ] spids: [590 606] ) ] ) ] ) ) (C {(complete)} {(-F)} {(_ldapdelete)} {(ldapdelete)}) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.ShFunction name: _ldapcompare body: (command.BraceGroup children: [ (C {(local)} {(cur)} {(prev)} {(words)} {(cword)}) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {(_init_completion)}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:670) ) ] ) (command.Case to_match: {($ Id.VSub_DollarName '$prev')} arms: [ (case_arm pat_list: [{(-h)}] action: [ (C {(_known_hosts_real)} {(DQ ($ Id.VSub_DollarName '$cur'))}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:692) arg_word: {(0)} ) ] spids: [681 682 697 -1] ) (case_arm pat_list: [{(-H)}] action: [ (C {(_ldap_uris)}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:707) arg_word: {(0)} ) ] spids: [700 701 712 -1] ) (case_arm pat_list: [{(-y)}] action: [ (C {(_filedir)}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:722) arg_word: {(0)} ) ] spids: [715 716 727 -1] ) (case_arm pat_list: [{(-P)}] action: [ (C {(_ldap_protocols)}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:737) arg_word: {(0)} ) ] spids: [730 731 742 -1] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ ($ Id.VSub_DollarName '$cur'))} right: {(-) (Id.Lit_Other '*')} ) ) terminator: (Token id:Id.Op_Semi val:';' span_id:763) ) ] 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:769) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 771 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: '$( _parse_help "$1" ) -MM -ZZ' span_id: 778 ) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [768] ) ] ) ] spids: [749 765] ) ] ) ] ) ) (C {(complete)} {(-F)} {(_ldapcompare)} {(ldapcompare)}) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.ShFunction name: _ldapmodrdn body: (command.BraceGroup children: [ (C {(local)} {(cur)} {(prev)} {(words)} {(cword)}) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {(_init_completion)}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:829) ) ] ) (command.Case to_match: {($ Id.VSub_DollarName '$prev')} arms: [ (case_arm pat_list: [{(-h)}] action: [ (C {(_known_hosts_real)} {(DQ ($ Id.VSub_DollarName '$cur'))}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:851) arg_word: {(0)} ) ] spids: [840 841 856 -1] ) (case_arm pat_list: [{(-H)}] action: [ (C {(_ldap_uris)}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:866) arg_word: {(0)} ) ] spids: [859 860 871 -1] ) (case_arm pat_list: [{(-f)} {(-y)}] action: [ (C {(_filedir)}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:883) arg_word: {(0)} ) ] spids: [874 877 888 -1] ) (case_arm pat_list: [{(-P)}] action: [ (C {(_ldap_protocols)}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:898) arg_word: {(0)} ) ] spids: [891 892 903 -1] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ ($ Id.VSub_DollarName '$cur'))} right: {(-) (Id.Lit_Other '*')} ) ) terminator: (Token id:Id.Op_Semi val:';' span_id:924) ) ] 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:930) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 932 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: '$( _parse_help "$1" ) -ZZ -MM' span_id: 939 ) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [929] ) ] ) ] spids: [910 926] ) ] ) ] ) ) (C {(complete)} {(-F)} {(_ldapmodrdn)} {(ldapmodrdn)}) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.ShFunction name: _ldapwhoami body: (command.BraceGroup children: [ (C {(local)} {(cur)} {(prev)} {(words)} {(cword)}) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {(_init_completion)}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:990) ) ] ) (command.Case to_match: {($ Id.VSub_DollarName '$prev')} arms: [ (case_arm pat_list: [{(-h)}] action: [ (C {(_known_hosts_real)} {(DQ ($ Id.VSub_DollarName '$cur'))}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:1012) arg_word: {(0)} ) ] spids: [1001 1002 1017 -1] ) (case_arm pat_list: [{(-H)}] action: [ (C {(_ldap_uris)}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:1027) arg_word: {(0)} ) ] spids: [1020 1021 1032 -1] ) (case_arm pat_list: [{(-f)} {(-y)}] action: [ (C {(_filedir)}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:1044) arg_word: {(0)} ) ] spids: [1035 1038 1049 -1] ) (case_arm pat_list: [{(-P)}] action: [ (C {(_ldap_protocols)}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:1059) arg_word: {(0)} ) ] spids: [1052 1053 1064 -1] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ ($ Id.VSub_DollarName '$cur'))} right: {(-) (Id.Lit_Other '*')} ) ) terminator: (Token id:Id.Op_Semi val:';' span_id:1085) ) ] 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:1091) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 1093 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: '$( _parse_help "$1" ) -MM -ZZ' span_id: 1100 ) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [1090] ) ] ) ] spids: [1071 1087] ) ] ) ] ) ) (C {(complete)} {(-F)} {(_ldapwhoami)} {(ldapwhoami)}) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.ShFunction name: _ldappasswd body: (command.BraceGroup children: [ (C {(local)} {(cur)} {(prev)} {(words)} {(cword)}) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {(_init_completion)}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:1151) ) ] ) (command.Case to_match: {($ Id.VSub_DollarName '$prev')} arms: [ (case_arm pat_list: [{(-h)}] action: [ (C {(_known_hosts_real)} {(DQ ($ Id.VSub_DollarName '$cur'))}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:1173) arg_word: {(0)} ) ] spids: [1162 1163 1178 -1] ) (case_arm pat_list: [{(-H)}] action: [ (C {(_ldap_uris)}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:1188) arg_word: {(0)} ) ] spids: [1181 1182 1193 -1] ) (case_arm pat_list: [{(-t)} {(-T)} {(-y)}] action: [ (C {(_filedir)}) (command.ControlFlow token: (Token id:Id.ControlFlow_Return val:return span_id:1207) arg_word: {(0)} ) ] spids: [1196 1201 1212 -1] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ ($ Id.VSub_DollarName '$cur'))} right: {(-) (Id.Lit_Other '*')} ) ) terminator: (Token id:Id.Op_Semi val:';' span_id:1233) ) ] 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:1239) words: [ { (command_sub left_token: (Token id: Id.Left_DollarParen val: '$(' span_id: 1241 ) command_list: (command.CommandList children: [ (C {(compgen)} {(-W)} { (SQ (Token id: Id.Lit_Chars val: '$( _parse_help "$1" ) -MM -ZZ' span_id: 1248 ) ) } {(--)} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ] ) ) } ] ) } spids: [1238] ) ] ) ] spids: [1219 1235] ) ] ) ] ) ) (C {(complete)} {(-F)} {(_ldappasswd)} {(ldappasswd)}) ] ) ] )