Version 0.9.1-rc
- emote detection mixed in other channels - minimap button and dialog no longer resets active state after profile change - default entries are no longer shown after example import - better handling of capture groups and character sets
This commit is contained in:
@@ -2,8 +2,8 @@
|
||||
local _G = _G
|
||||
local Grichelde = _G.Grichelde or {}
|
||||
|
||||
local pairs, tInsert, tClone, unpack, join, toString
|
||||
= Grichelde.F.pairs, Grichelde.F.tInsert, Grichelde.F.tClone, Grichelde.F.unpack, Grichelde.F.join, Grichelde.F.toString
|
||||
local pairs, tInsert, tClone, tWipe, unpack, join, toString
|
||||
= Grichelde.F.pairs, Grichelde.F.tInsert, Grichelde.F.tClone, Grichelde.F.tWipe, Grichelde.F.unpack, Grichelde.F.join, Grichelde.F.toString
|
||||
|
||||
function Grichelde.getDefaultConfig()
|
||||
return {
|
||||
@@ -24,7 +24,7 @@ function Grichelde.getDefaultConfig()
|
||||
},
|
||||
replacements = {
|
||||
["**"] = {
|
||||
order = 9999,
|
||||
order = 999,
|
||||
searchText = "",
|
||||
replaceText = "",
|
||||
exactCase = false,
|
||||
@@ -32,34 +32,52 @@ function Grichelde.getDefaultConfig()
|
||||
matchWhen = 2,
|
||||
stopOnMatch = false,
|
||||
},
|
||||
replacement_10 = {
|
||||
order = 10,
|
||||
searchText = "s",
|
||||
replaceText = "ch",
|
||||
},
|
||||
replacement_11 = {
|
||||
order = 11,
|
||||
searchText = "t",
|
||||
replaceText = "ck",
|
||||
},
|
||||
replacement_12 = {
|
||||
order = 12,
|
||||
searchText = "p",
|
||||
replaceText = "b",
|
||||
},
|
||||
}
|
||||
}
|
||||
}
|
||||
end
|
||||
|
||||
function Grichelde.getDefaultSampleMappings()
|
||||
return {
|
||||
replacement_10 = {
|
||||
order = 10,
|
||||
searchText = "s",
|
||||
replaceText = "ch",
|
||||
exactCase = false,
|
||||
consolidate = true,
|
||||
matchWhen = 2,
|
||||
stopOnMatch = false,
|
||||
},
|
||||
replacement_11 = {
|
||||
order = 11,
|
||||
searchText = "t",
|
||||
replaceText = "ck",
|
||||
exactCase = false,
|
||||
consolidate = true,
|
||||
matchWhen = 2,
|
||||
stopOnMatch = false,
|
||||
},
|
||||
replacement_12 = {
|
||||
order = 12,
|
||||
searchText = "p",
|
||||
replaceText = "b",
|
||||
exactCase = false,
|
||||
consolidate = true,
|
||||
matchWhen = 2,
|
||||
stopOnMatch = false,
|
||||
}
|
||||
}
|
||||
end
|
||||
|
||||
function Grichelde:LoadDatabase()
|
||||
local db = LibStub("AceDB-3.0"):New(self.name .."DB", self.getDefaultConfig(), true)
|
||||
|
||||
db.RegisterCallback(self, "OnNewProfile", "RefreshOptions")
|
||||
db.RegisterCallback(self, "OnProfileChanged", "RefreshOptions")
|
||||
db.RegisterCallback(self, "OnProfileDeleted", "RefreshOptions")
|
||||
db.RegisterCallback(self, "OnProfileCopied", "RefreshOptions")
|
||||
db.RegisterCallback(self, "OnProfileReset", "RefreshOptions")
|
||||
db.RegisterCallback(self, "OnNewProfile", "RefreshProfiles")
|
||||
db.RegisterCallback(self, "OnProfileChanged", "RefreshProfiles")
|
||||
db.RegisterCallback(self, "OnProfileDeleted", "RefreshProfiles")
|
||||
db.RegisterCallback(self, "OnProfileCopied", "RefreshProfiles")
|
||||
db.RegisterCallback(self, "OnProfileReset", "RefreshProfiles")
|
||||
db.RegisterCallback(self, "OnProfileShutdown", "RefreshProfiles")
|
||||
|
||||
return db
|
||||
end
|
||||
@@ -104,15 +122,15 @@ end
|
||||
|
||||
--- Sorts a replacements table by order sub-field and rename.
|
||||
--- Do NOT reassign self.db.profile.replacements here or with its output as it will break defaults
|
||||
function Grichelde:ReorderReplacements()
|
||||
local replacements = self.db.profile.replacements or {}
|
||||
function Grichelde:ReorderReplacements(replacements)
|
||||
local repls = replacements or self.db.profile.replacements or {}
|
||||
|
||||
self:TracePrint("ReorderReplacements : unsorted table")
|
||||
self:TracePrint(replacements)
|
||||
self:TracePrint(repls)
|
||||
|
||||
local orderToName = {}
|
||||
local size = 0
|
||||
for replName, replTable in pairs(replacements) do
|
||||
for replName, replTable in pairs(repls) do
|
||||
size = size + 1
|
||||
tInsert(orderToName, replTable.order, replName)
|
||||
end
|
||||
@@ -125,31 +143,19 @@ function Grichelde:ReorderReplacements()
|
||||
|
||||
while count < size do
|
||||
local replName = orderToName[index]
|
||||
if (replName ~= nil) and (replacements[replName] ~= nil) then
|
||||
if (replName ~= nil) and (repls[replName] ~= nil) then
|
||||
self:TracePrint("ReorderReplacements : replName: %s, replTable", replName)
|
||||
self:TracePrint(replacements[replName])
|
||||
self:TracePrint(repls[replName])
|
||||
local order = Grichelde.MAPPING_OFFSET + count
|
||||
sorted["replacement_" .. order] = tClone(replacements[replName])
|
||||
sorted["replacement_" .. order] = tClone(repls[replName])
|
||||
sorted["replacement_" .. order].order = order
|
||||
count = count + 1
|
||||
end
|
||||
index = index + 1
|
||||
if ( index > 10000) then break end
|
||||
if (index > 999) then break end
|
||||
end
|
||||
|
||||
-- self:TracePrint("ReorderReplacements : sorted")
|
||||
-- self:TracePrint(sorted)
|
||||
|
||||
-- do NOT set self.db.profile.replacements = {} it will break defaults
|
||||
for replName, _ in pairs(replacements) do
|
||||
replacements[replName] = nil
|
||||
end
|
||||
|
||||
-- copy over sorted replacements
|
||||
for replName, replTable in pairs(sorted) do
|
||||
replacements[replName] = replTable
|
||||
end
|
||||
|
||||
self:DebugPrint("ReorderReplacements : sorted table")
|
||||
self:DebugPrint(self.db.profile.replacements)
|
||||
return sorted
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user