(CommandList children: [ (FuncDef name: plugin_add_command body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (LogicalOr left: (BoolBinary op_id: BoolBinary_lt left: {($ VSub_Pound "$#")} right: {(1)} ) right: (BoolBinary op_id: BoolBinary_gt left: {($ VSub_Pound "$#")} right: {(2)} ) ) ) terminator: <Op_Semi ";"> ) ] action: [ (C {(display_error)} {(DQ ("usage: asdf plugin-add <name> [<git-url>]"))}) (C {(exit)} {(1)}) ] spids: [-1 28] ) ] spids: [-1 43] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:plugin_name) op: Equal rhs: {($ VSub_Number "$1")} spids: [49] ) ] spids: [47] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(-n)} {(DQ ($ VSub_Number "$2"))} {(Lit_Other "]")}) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:source_url) op: Equal rhs: {($ VSub_Number "$2")} spids: [72] ) ] spids: [70] ) ] spids: [-1 67] ) ] else_action: [ (C {(initialize_or_update_repository)}) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:source_url) op:Equal spids:[84])] spids: [82] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:source_url) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(get_plugin_source_url)} {(DQ ($ VSub_Name "$plugin_name"))}) ] ) left_token: <Left_CommandSub "$("> spids: [88 94] ) } spids: [87] ) ] spids: [87] ) ] spids: [76 97] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(-z)} {(DQ ($ VSub_Name "$source_url"))} {(Lit_Other "]")}) terminator: <Op_Semi ";"> ) ] action: [ (C {(display_error)} {(DQ ("plugin ") ($ VSub_Name "$plugin_name") (" not found in repository"))} ) (C {(exit)} {(1)}) ] spids: [-1 114] ) ] spids: [-1 131] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:plugin_path) op:Equal spids:[137])] spids: [135] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:plugin_path) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(get_plugin_path)} {(DQ ($ VSub_Name "$plugin_name"))})] ) left_token: <Left_CommandSub "$("> spids: [141 147] ) } spids: [140] ) ] spids: [140] ) (C {(mkdir)} {(-p)} { (DQ (CommandSubPart command_list: (CommandList children:[(C {(asdf_dir)})]) left_token: <Left_CommandSub "$("> spids: [156 158] ) (/plugins) ) } ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(-d)} {(DQ ($ VSub_Name "$plugin_path"))} {(Lit_Other "]")}) terminator: <Op_Semi ";"> ) ] action: [ (C {(display_error)} {(DQ ("Plugin named ") ($ VSub_Name "$plugin_name") (" already added"))} ) (C {(exit)} {(1)}) ] spids: [-1 177] ) ] else_action: [ (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [ (C {(git)} {(clone)} {(DQ ($ VSub_Name "$source_url"))} {(DQ ($ VSub_Name "$plugin_path"))} ) ] negated: True ) terminator: <Op_Semi ";"> ) ] action: [(C {(exit)} {(1)})] spids: [-1 214] ) ] spids: [-1 222] ) ] spids: [194 225] ) ] spids: [4] ) spids: [0 3] ) ] )