(CommandList children: [ (FuncDef name: _asdf body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:cur) op:Equal spids:[14])] spids: [12] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:cur) op: Equal rhs: { (BracedVarSub token: <VSub_Name COMP_WORDS> bracket_op: (ArrayIndex expr:(ArithVarRef name:COMP_CWORD)) spids: [18 23] ) } spids: [17] ) ] spids: [17] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:cmd) op:Equal spids:[28])] spids: [26] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:cmd) op: Equal rhs: { (BracedVarSub token: <VSub_Name COMP_WORDS> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 1)})) spids: [32 37] ) } spids: [31] ) ] spids: [31] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:prev) op:Equal spids:[42])] spids: [40] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:prev) op: Equal rhs: { (BracedVarSub token: <VSub_Name COMP_WORDS> bracket_op: (ArrayIndex expr: (ArithBinary op_id: Arith_Minus left: (ArithVarRef name:COMP_CWORD) right: (ArithWord w:{(Lit_Digits 1)}) ) ) spids: [46 53] ) } spids: [45] ) ] spids: [45] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:plugins) op:Equal spids:[58])] spids: [56] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:plugins) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(asdf)} {(plugin-list)}) (C {(tr)} {(SQ <"\\n">)} {(SQ <" ">)}) ] negated: False ) ] ) left_token: <Left_CommandSub "$("> spids: [62 78] ) } spids: [61] ) ] spids: [61] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:COMPREPLY) op: Equal rhs: {(ArrayLiteralPart)} spids: [82] ) ] spids: [82] ) (Case to_match: {(DQ ($ VSub_Name "$cmd"))} arms: [ (case_arm pat_list: [{(plugin-update)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:COMPREPLY) op: Equal rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (C {(compgen)} {(-W)} {(DQ ($ VSub_Name "$plugins") (" --all"))} {(--)} {(DQ ($ VSub_Name "$cur"))} ) ] ) left_token: <Left_CommandSub "$("> spids: [103 118] ) } ] ) } spids: [101] ) ] spids: [101] ) ] spids: [97 98 122 -1] ) (case_arm pat_list: [{(plugin-remove)} {(current)} {(list)} {(list-all)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:COMPREPLY) op: Equal rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (C {(compgen)} {(-W)} {(DQ ($ VSub_Name "$plugins"))} {(--)} {(DQ ($ VSub_Name "$cur"))} ) ] ) left_token: <Left_CommandSub "$("> spids: [137 151] ) } ] ) } spids: [135] ) ] spids: [135] ) ] spids: [125 132 155 -1] ) (case_arm pat_list: [{(install)}] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(DQ ($ VSub_Name "$plugins"))} right: {(Lit_Other "*") (DQ ($ VSub_Name "$prev")) (Lit_Other "*")} ) ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:versions) op:Equal spids:[187])] spids: [185] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:versions) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(asdf)} {(list-all)} {(DQ ($ VSub_Name "$prev"))}) ] ) left_token: <Left_CommandSub "$("> spids: [191 199] ) } spids: [190] ) ] spids: [190] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:COMPREPLY) op: Equal rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (C {(compgen)} {(-W)} {(DQ ($ VSub_Name "$versions"))} {(--)} {(DQ ($ VSub_Name "$cur"))} ) ] ) left_token: <Left_CommandSub "$("> spids: [204 218] ) } ] ) } spids: [202] ) ] spids: [202] ) ] spids: [-1 182] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:COMPREPLY) op: Equal rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (C {(compgen)} {(-W)} {(DQ ($ VSub_Name "$plugins"))} {(--)} {(DQ ($ VSub_Name "$cur"))} ) ] ) left_token: <Left_CommandSub "$("> spids: [227 241] ) } ] ) } spids: [225] ) ] spids: [225] ) ] spids: [222 245] ) ] spids: [158 159 248 -1] ) (case_arm pat_list: [{(uninstall)} {(where)} {(reshim)} {(Assign_Local local)} {(global)}] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(DQ ($ VSub_Name "$plugins"))} right: {(Lit_Other "*") (DQ ($ VSub_Name "$prev")) (Lit_Other "*")} ) ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:versions) op:Equal spids:[288])] spids: [286] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:versions) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(asdf)} {(list)} {(DQ ($ VSub_Name "$prev"))}) ] ) left_token: <Left_CommandSub "$("> spids: [292 300] ) } spids: [291] ) ] spids: [291] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:COMPREPLY) op: Equal rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (C {(compgen)} {(-W)} {(DQ ($ VSub_Name "$versions"))} {(--)} {(DQ ($ VSub_Name "$cur"))} ) ] ) left_token: <Left_CommandSub "$("> spids: [305 319] ) } ] ) } spids: [303] ) ] spids: [303] ) ] spids: [-1 283] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:COMPREPLY) op: Equal rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (C {(compgen)} {(-W)} {(DQ ($ VSub_Name "$plugins"))} {(--)} {(DQ ($ VSub_Name "$cur"))} ) ] ) left_token: <Left_CommandSub "$("> spids: [328 342] ) } ] ) } spids: [326] ) ] spids: [326] ) ] spids: [323 346] ) ] spids: [251 260 349 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:cmds) op: Equal rhs: { (SQ < "plugin-add plugin-list plugin-remove plugin-update install uninstall update current where which list list-all local global reshim" > ) } spids: [358] ) ] spids: [356] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:COMPREPLY) op: Equal rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (C {(compgen)} {(-W)} {(DQ ($ VSub_Name "$cmds"))} {(--)} {(DQ ($ VSub_Name "$cur"))} ) ] ) left_token: <Left_CommandSub "$("> spids: [366 380] ) } ] ) } spids: [364] ) ] spids: [364] ) ] spids: [352 353 384 -1] ) ] spids: [88 94 387] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [9] ) spids: [4 8] ) (C {(complete)} {(-F)} {(_asdf)} {(asdf)}) ] )