Mercurial > wow > breuesk
comparison Core.lua @ 42:72055fc7e115
A lot of work to reign in namespacing (inspiration: WIM)
author | John@Doomsday |
---|---|
date | Thu, 15 Mar 2012 08:47:41 -0400 |
parents | 7bfbff27a3d7 |
children | 4109683c3172 |
comparison
equal
deleted
inserted
replaced
41:dc9bfacca238 | 42:72055fc7e115 |
---|---|
16 -- ( ) undo | 16 -- ( ) undo |
17 -- ( ) crypto / protection against tampering | 17 -- ( ) crypto / protection against tampering |
18 -- ( ) alt tracking | 18 -- ( ) alt tracking |
19 -- (_) reserves | 19 -- (_) reserves |
20 | 20 |
21 local _G=_G | |
22 local strsplit=strsplit | |
23 local string=string | |
24 local sformat=string.format | |
25 local bsk = LibStub("AceAddon-3.0"):NewAddon("bsk","AceConsole-3.0", "AceHook-3.0", "AceComm-3.0", "AceSerializer-3.0") | |
26 _G.bsk=bsk | |
27 local L = LibStub("AceLocale-3.0"):GetLocale("bsk", false) | |
28 setfenv(1,bsk) | |
29 | |
21 local pkgrev = " @project-revision@ " | 30 local pkgrev = " @project-revision@ " |
22 | 31 |
23 -- important things to remember: | 32 -- important things to remember: |
24 -- 1) ipairs iterates from 1 until the first missing int index -> no gaps if int | 33 -- 1) ipairs iterates from 1 until the first missing int index -> no gaps if int |
25 -- indexing | 34 -- indexing |
26 -- 2) a.x === a["x"] | 35 -- 2) a.x === a["x"] |
27 -- 3) a["1"] =/= a[1] | 36 -- 3) a["1"] =/= a[1] |
28 -- 4) table.remove() works ok if reverse iterating, terrible at anything else | 37 -- 4) table.remove() works ok if reverse iterating, terrible at anything else |
29 -- 5) pairs() does not have a guaranteed iteration order | 38 -- 5) pairs() does not have a guaranteed iteration order |
30 | 39 |
31 bsk = LibStub("AceAddon-3.0"):NewAddon("bsk","AceConsole-3.0", "AceHook-3.0", "AceComm-3.0", "AceSerializer-3.0") | 40 |
32 local L = LibStub("AceLocale-3.0"):GetLocale("bsk", false) | 41 |
33 | 42 function OnInitialize() |
34 | 43 |
35 function bsk:OnInitialize() | 44 db = _G.LibStub("AceDB-3.0"):New("BskDB", defaults, "Default") |
36 | 45 bsk:Print("Totally libstubbed a db") |
37 self.db = LibStub("AceDB-3.0"):New("BskDB", self.defaults, "Default") | 46 |
38 | 47 options.args.profile = _G.LibStub("AceDBOptions-3.0"):GetOptionsTable(db) |
39 self.options.args.profile = LibStub("AceDBOptions-3.0"):GetOptionsTable(self.db) | 48 _G.LibStub("AceConfig-3.0"):RegisterOptionsTable("bsk", options) |
40 LibStub("AceConfig-3.0"):RegisterOptionsTable("bsk", self.options) | 49 --optionsFrame = LibStub("AceConfigDialog-3.0"):AddToBlizOptions("bsk", "bsk") |
41 self.optionsFrame = LibStub("AceConfigDialog-3.0"):AddToBlizOptions("bsk", "bsk") | 50 |
42 | 51 local HandlePassThrough = function(...) HandleCommand(...) end |
43 self:RegisterChatCommand("bsk", "HandleCommand") | 52 bsk:RegisterChatCommand("bsk", HandlePassThrough) |
44 end | 53 end |
45 | 54 |
46 function bsk:OnEnable() | 55 function OnEnable() |
47 bsk:CreateWorkingStateFromChanges(self.db.profile.changes) | 56 CreateWorkingStateFromChanges(db.profile.changes) |
48 bsk:CreateGUI() | 57 CreateGUI() |
49 end | 58 end |
50 | 59 |
51 function bsk:HandleCommand(paramIn) | 60 function HandleCommand(paramIn) |
52 local param = { strsplit(" ", paramIn) } | 61 local param = { strsplit(" ", paramIn) } |
53 local FixPersonName = function(p) | 62 local FixPersonName = function(p) |
54 p = p:lower() | 63 p = p:lower() |
55 -- next two lines from sylvanaar | 64 -- next two lines from sylvanaar |
56 local MULTIBYTE_FIRST_CHAR = "^([\192-\255]?%a?[\128-\191]*)" | 65 local MULTIBYTE_FIRST_CHAR = "^([\192-\255]?%a?[\128-\191]*)" |
60 if param[1] == nil or param[1] == "" then | 69 if param[1] == nil or param[1] == "" then |
61 bsk:Print("need args") | 70 bsk:Print("need args") |
62 return | 71 return |
63 end | 72 end |
64 if param[1] == "persons" then | 73 if param[1] == "persons" then |
65 bsk:PrintPersons() | 74 PrintPersons() |
66 elseif param[1] == "changes" then | 75 elseif param[1] == "changes" then |
67 bsk:PrintChanges() | 76 PrintChanges() |
68 elseif param[1] == "delete" then | 77 elseif param[1] == "delete" then |
69 if param[2] == nil or param[2] == "" or param[3] == nil or param[3] == "" then | 78 if param[2] == nil or param[2] == "" or param[3] == nil or param[3] == "" then |
70 bsk:PrintTable(param) | 79 PrintTable(param) |
71 return | 80 return |
72 end | 81 end |
73 if param[2] == "list" then | 82 if param[2] == "list" then |
74 bsk:DeleteList(param[3]) | 83 DeleteList(param[3]) |
75 elseif param[2] == "personfromlist" then | 84 elseif param[2] == "personfromlist" then |
76 if param[4] == nil or param[4] == "" then | 85 if param[4] == nil or param[4] == "" then |
77 bsk:PrintTable(param) | 86 PrintTable(param) |
78 return | 87 return |
79 end | 88 end |
80 local person = FixPersonName(param[3]) | 89 local person = FixPersonName(param[3]) |
81 bsk:RemovePersonFromList(person, param[4]) | 90 RemovePersonFromList(person, param[4]) |
82 elseif param[2] == "person" then | 91 elseif param[2] == "person" then |
83 local person = FixPersonName(param[3]) | 92 local person = FixPersonName(param[3]) |
84 bsk:RemovePerson(person) | 93 RemovePerson(person) |
85 else | 94 else |
86 bsk:Print(sformat("Deleting anything of type %s is not supported",param[2])) | 95 bsk:Print(sformat("Deleting anything of type %s is not supported",param[2])) |
87 end | 96 end |
88 elseif param[1] == "nuke" then | 97 elseif param[1] == "nuke" then |
89 if param[2] == nil or param[2] == "" then | 98 if param[2] == nil or param[2] == "" then |
90 bsk:PrintTable(param) | 99 PrintTable(param) |
91 return | 100 return |
92 end | 101 end |
93 local person = FixPersonName(param[2]) | 102 local person = FixPersonName(param[2]) |
94 bsk:NukePerson(person) | 103 NukePerson(person) |
95 elseif param[1] == "add" then | 104 elseif param[1] == "add" then |
96 if param[2] == nil or param[2] == "" then | 105 if param[2] == nil or param[2] == "" then |
97 bsk:PrintTable(param) | 106 PrintTable(param) |
98 return | 107 return |
99 end | 108 end |
100 if param[3] == nil or param[3] == "" then | 109 if param[3] == nil or param[3] == "" then |
101 bsk:PrintTable(param) | 110 PrintTable(param) |
102 return | 111 return |
103 end | 112 end |
104 if param[2] == "person" then | 113 if param[2] == "person" then |
105 if param[3] == "all" then | 114 if param[3] == "all" then |
106 bsk:AddMissingPersons() | 115 AddMissingPersons() |
107 else | 116 else |
108 local person = FixPersonName(param[3]) | 117 local person = FixPersonName(param[3]) |
109 bsk:AddPerson(person) | 118 AddPerson(person) |
110 end | 119 end |
111 elseif param[2] == "list" then | 120 elseif param[2] == "list" then |
112 bsk:CreateList(param[3]) | 121 CreateList(param[3]) |
113 elseif param[2] == "tolist" then | 122 elseif param[2] == "tolist" then |
114 if param[4] == nil or param[4] == "" then | 123 if param[4] == nil or param[4] == "" then |
115 bsk:PrintTable(param) | 124 PrintTable(param) |
116 return | 125 return |
117 end | 126 end |
118 local person = FixPersonName(param[3]) | 127 local person = FixPersonName(param[3]) |
119 bsk:AddPersonToListEnd(person,param[4]) | 128 AddPersonToListEnd(person,param[4]) |
120 elseif param[2] == "tolistrandom" then | 129 elseif param[2] == "tolistrandom" then |
121 if param[4] == nil or param[4] == "" then | 130 if param[4] == nil or param[4] == "" then |
122 bsk:PrintTable(param) | 131 PrintTable(param) |
123 return | 132 return |
124 end | 133 end |
125 local person = FixPersonName(param[3]) | 134 local person = FixPersonName(param[3]) |
126 bsk:AddPersonToListRandom(person,param[4]) | 135 AddPersonToListRandom(person,param[4]) |
127 end | 136 end |
128 elseif param[1] == "populate" then | 137 elseif param[1] == "populate" then |
129 if param[2] == nil or param[2] == "" or param[3] == nil or param[3] == "" then | 138 if param[2] == nil or param[2] == "" or param[3] == nil or param[3] == "" then |
130 bsk:PrintTable(param) | 139 PrintTable(param) |
131 return | 140 return |
132 end | 141 end |
133 -- list = p2 | 142 -- list = p2 |
134 local index = bsk:GetListIndex(param[2]) | 143 local index = GetListIndex(param[2]) |
135 if param[3] == "random" then | 144 if param[3] == "random" then |
136 bsk:PopulateListRandom(index) | 145 PopulateListRandom(index) |
137 end | 146 end |
138 elseif param[1] == "suicide" then | 147 elseif param[1] == "suicide" then |
139 if param[2] == nil or param[2] == "" or param[3] == nil or param[3] == "" then | 148 if param[2] == nil or param[2] == "" or param[3] == nil or param[3] == "" then |
140 bsk:PrintTable(param) | 149 PrintTable(param) |
141 return | 150 return |
142 end | 151 end |
143 local person = FixPersonName(param[2]) | 152 local person = FixPersonName(param[2]) |
144 bsk:SuicidePerson(person,param[3]) | 153 SuicidePerson(person,param[3]) |
145 elseif param[1] == "lists" then | 154 elseif param[1] == "lists" then |
146 if param[2] == nil or param[2] == "" then | 155 if param[2] == nil or param[2] == "" then |
147 bsk:PrettyPrintLists() | 156 PrettyPrintLists() |
148 return | 157 return |
149 else | 158 else |
150 local listIndex = bsk:GetListIndex(param[2]) | 159 local listIndex = GetListIndex(param[2]) |
151 bsk:PrettyPrintList(listIndex) | 160 PrettyPrintList(listIndex) |
152 end | 161 end |
153 elseif param[1] == "reserve" then | 162 elseif param[1] == "reserve" then |
154 if param[2] == nil or param[2] == "" then | 163 if param[2] == nil or param[2] == "" then |
155 bsk:printtable(param) | 164 printtable(param) |
156 return | 165 return |
157 end | 166 end |
158 local person = FixPersonName(param[2]) | 167 local person = FixPersonName(param[2]) |
159 bsk:AddReserve(person) | 168 AddReserve(person) |
160 elseif param[1] == "trim" then | 169 elseif param[1] == "trim" then |
161 if param[2] == nil or param[2] == "" then | 170 if param[2] == nil or param[2] == "" then |
162 bsk:printtable(param) | 171 printtable(param) |
163 return | 172 return |
164 end | 173 end |
165 bsk:TrimLists(param[2]) | 174 TrimLists(param[2]) |
166 elseif param[1] == "rename" then | 175 elseif param[1] == "rename" then |
167 if param[2] == nil or param[2] == "" or param[3] == nil or param[3] == "" then | 176 if param[2] == nil or param[2] == "" or param[3] == nil or param[3] == "" then |
168 bsk:printtable(param) | 177 printtable(param) |
169 return | 178 return |
170 end | 179 end |
171 bsk:RenameList(param[2],param[3]) | 180 RenameList(param[2],param[3]) |
172 elseif param[1] == "selfdestruct" then | 181 elseif param[1] == "selfdestruct" then |
173 bsk:SelfDestruct() | 182 SelfDestruct() |
174 else | 183 else |
175 bsk:CreateGUI() | 184 CreateGUI() |
176 end | 185 end |
177 | 186 |
178 --if self.frame == nil then | 187 --if frame == nil then |
179 --self:CreateGUI() | 188 --CreateGUI() |
180 --self:ShowGUI() | 189 --ShowGUI() |
181 --else | 190 --else |
182 --self:ShowGUI() | 191 --ShowGUI() |
183 --end | 192 --end |
184 | 193 |
185 end | 194 end |
186 | 195 |
187 bsk.defaults = { | 196 defaults = { |
188 profile = { | 197 profile = { |
189 persons = {}, | 198 persons = {}, |
190 changes = {}, | 199 changes = {}, |
191 lists = {} | 200 lists = {} |
192 } | 201 } |