Version 1.1.4
- typos in descriptions - ambiguous variable definitions - bumped version for all versions of WoW (Classic Era, WotLK, Retail) - added TOCs for all versions of WoW, removed release script
This commit is contained in:
parent
a75d631423
commit
97ee953b19
2647
.release/release.sh
2647
.release/release.sh
File diff suppressed because it is too large
Load Diff
@ -3,6 +3,12 @@ All notable changes to this project will be documented in this file.
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
## Version 1.1.4 - 2022-09-28
|
||||
### Changed
|
||||
- typos in descriptions
|
||||
- ambiguous variable definitions
|
||||
- bumped version for all versions of WoW (Classic Era, WotLK, Retail)
|
||||
|
||||
## Version 1.1.3 - 2021-10-06
|
||||
### Changed
|
||||
- bumped version for all versions of WoW (Classic Era, Season of Mastery, BCC, Retail)
|
||||
@ -131,7 +137,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
|
||||
## Version 0.3.0 - 2020-05-27
|
||||
### Fixed
|
||||
- fixed DB storange and debug printing
|
||||
- fixed DB storage and debug printing
|
||||
|
||||
## Version 0.2.2 (unreleased) - 2020-05-26
|
||||
### Added
|
||||
|
@ -1,37 +1,16 @@
|
||||
## Interface: 11401
|
||||
## Interface-Classic: 11401
|
||||
## Interface-BCC: 20502
|
||||
## Interface-Retail: 90100
|
||||
## Interface: 90207
|
||||
|
||||
## Title: Grichelde
|
||||
## Notes: Replaces characters of your chat input line before sending.
|
||||
## Notes-de: Ersetzt eingegebene Zeichen in der Chat-Zeile vor dem Versenden.
|
||||
#@debug@
|
||||
## Version: 1.1.3
|
||||
#@end-debug@
|
||||
#@non-debug@
|
||||
# ## Version: @project-version@
|
||||
#@end-non-debug@
|
||||
## Version: 1.1.4
|
||||
## Author: Teilzeit-Jedi
|
||||
## eMail: tj@teilzeit-jedi.de
|
||||
|
||||
#@version-classic@
|
||||
## X-Build: Classic
|
||||
## X-Compatible: 20502
|
||||
## X-Compatible: 90100
|
||||
#@end-version-classic@
|
||||
#@non-version-classic@
|
||||
#@version-bcc@
|
||||
# ## X-Build: BCC
|
||||
# ## X-Compatible: 11401
|
||||
# ## X-Compatible: 90100
|
||||
#@end-version-bcc@
|
||||
#@version-retail@
|
||||
# ## X-Build: Retail
|
||||
# ## X-Compatible: 11401
|
||||
# ## X-Compatible: 20502
|
||||
#@end-version-retail@
|
||||
#@end-non-version-classic@
|
||||
## X-Build: Retail
|
||||
## X-Compatible: 11403
|
||||
## X-Compatible: 20504
|
||||
## X-Compatible: 30400
|
||||
|
||||
## X-Curse-Project-ID: 385480
|
||||
## X-License: GPLv3
|
||||
@ -42,7 +21,6 @@
|
||||
## OptionalDeps: LibStub, CallbackHandler, Ace3, LibDataBroker, LibDBIcon
|
||||
## SavedVariables: GricheldeDB
|
||||
|
||||
#@no-lib-strip@
|
||||
Libs\LibStub\LibStub.lua
|
||||
Libs\CallbackHandler-1.0\CallbackHandler-1.0.xml
|
||||
Libs\AceAddon-3.0\AceAddon-3.0.xml
|
||||
@ -56,7 +34,6 @@ Libs\AceGUI-3.0\AceGUI-3.0.xml
|
||||
Libs\AceConfig-3.0\AceConfig-3.0.xml
|
||||
Libs\LibDataBroker-1.1\LibDataBroker-1.1.lua
|
||||
Libs\LibDBIcon-1.0\LibDBIcon-1.0.lua
|
||||
#@end-no-lib-strip@
|
||||
|
||||
Grichelde.lua
|
||||
GricheldeConstants.lua
|
||||
@ -69,7 +46,3 @@ GricheldeUpgrade.lua
|
||||
GricheldeOptions.lua
|
||||
GricheldeMinimap.lua
|
||||
GricheldeChat.lua
|
||||
|
||||
#@do-not-package@
|
||||
GricheldeTest.lua
|
||||
#@end-do-not-package@
|
@ -2,9 +2,9 @@
|
||||
local _G = _G
|
||||
local Grichelde = _G.Grichelde or {}
|
||||
|
||||
local IsAddOnLoaded, assert, nilOrEmpty, pairs, ipairs, spairs, tContains, tFilter, tInsert, tConcat, tSize, tIsEmpty, find, sub, gsub, gmatch, getNextCharUtf8, isLetter, isUpper, isLower, toUpper, toLower, capitalize, bytes2Char, trim, length, lengthUtf8
|
||||
= Grichelde.F.IsAddOnLoaded, Grichelde.F.assert, Grichelde.F.nilOrEmpty, Grichelde.F.pairs, Grichelde.F.ipairs, Grichelde.F.spairs, Grichelde.F.tContains, Grichelde.F.tFilter, Grichelde.F.tInsert, Grichelde.F.tConcat, Grichelde.F.tSize, Grichelde.F.tIsEmpty,
|
||||
Grichelde.F.find, Grichelde.F.sub, Grichelde.F.gsub, Grichelde.F.gmatch, Grichelde.F.getNextCharUtf8, Grichelde.F.isLetter, Grichelde.F.isUpper, Grichelde.F.isLower, Grichelde.F.toUpper, Grichelde.F.toLower, Grichelde.F.capitalize, Grichelde.F.bytes2Char, Grichelde.F.trim, Grichelde.F.length, Grichelde.F.lengthUtf8
|
||||
local IsAddOnLoaded, assert, nilOrEmpty, pairs, ipairs, spairs, tContains, tFilter, tInsert, tIsEmpty, find, sub, gsub, getNextCharUtf8, isUtf8MultiByte, getUtf8Sequence, isUpper, isLower, toUpper, toLower, bytes2Char, trim, length, lengthUtf8
|
||||
= Grichelde.F.IsAddOnLoaded, Grichelde.F.assert, Grichelde.F.nilOrEmpty, Grichelde.F.pairs, Grichelde.F.ipairs, Grichelde.F.spairs, Grichelde.F.tContains, Grichelde.F.tFilter, Grichelde.F.tInsert, Grichelde.F.tIsEmpty,
|
||||
Grichelde.F.find, Grichelde.F.sub, Grichelde.F.gsub, Grichelde.F.getNextCharUtf8, Grichelde.F.isUtf8MultiByte, Grichelde.F.getUtf8Sequence, Grichelde.F.isUpper, Grichelde.F.isLower, Grichelde.F.toUpper, Grichelde.F.toLower, Grichelde.F.bytes2Char, Grichelde.F.trim, Grichelde.F.length, Grichelde.F.lengthUtf8
|
||||
|
||||
--- Splits a long text in longest possible chunks of <= 255 length, split at last available space
|
||||
-- @param text string
|
||||
@ -58,7 +58,6 @@ function Grichelde:SplitText(text)
|
||||
-- must not enforce UTF-8 support here, as the positions are used
|
||||
while ((length(newText) > 0) and (escape < Grichelde.ENDLESS_LOOP_LIMIT)) do
|
||||
escape = escape + 1
|
||||
local previousChar = currentChar
|
||||
local first, textAhead = getNextCharUtf8(newText)
|
||||
currentChar = first
|
||||
self:DebugPrint("SplitText : currentChar, escape: %s, %s", currentChar, escape)
|
||||
@ -154,6 +153,24 @@ function Grichelde:SendChunkifiedChatMessage(message, ...)
|
||||
end
|
||||
|
||||
function Grichelde:ReplaceCharacters(text, replName, replTable, consolidate, replacedTexts)
|
||||
local function convertToCaseInsensitivePatternGroup(p)
|
||||
local upperP, lowerP = toUpper(p), toLower(p)
|
||||
--[[
|
||||
if (isUtf8MultiByte(p)) then
|
||||
local sequence = nil
|
||||
for _, byteSequence in spairs(getUtf8Table(upperP)) do
|
||||
sequence = sequence .. byteSequence
|
||||
end
|
||||
else
|
||||
]]
|
||||
if (upperP ~= lowerP) then
|
||||
return upperP .. lowerP
|
||||
else
|
||||
return p
|
||||
end
|
||||
--end
|
||||
end
|
||||
|
||||
local function convertToCaseInsensitivePattern(pattern)
|
||||
local ciPattern = ""
|
||||
local ignored = {'^', '$', '(', ')', '.'}
|
||||
@ -184,18 +201,13 @@ function Grichelde:ReplaceCharacters(text, replName, replTable, consolidate, rep
|
||||
ciPattern = ciPattern .. "%" .. p
|
||||
end
|
||||
else
|
||||
local upperP, lowerP = toUpper(p), toLower(p)
|
||||
if (upperP ~= lowerP) then
|
||||
ciPattern = ciPattern .. upperP .. lowerP
|
||||
else
|
||||
ciPattern = ciPattern .. p
|
||||
end
|
||||
ciPattern = ciPattern .. convertToCaseInsensitivePatternGroup(p)
|
||||
end
|
||||
p, patRest = getNextCharUtf8(patRest)
|
||||
end
|
||||
ciPattern = ciPattern .. "]"
|
||||
else
|
||||
ciPattern = ciPattern .. "[" .. Grichelde.F.toUpper(p) .. Grichelde.F.toLower(p) .. "]"
|
||||
ciPattern = ciPattern .. "[" .. convertToCaseInsensitivePatternGroup(p) .. "]"
|
||||
end
|
||||
|
||||
p, patRest = getNextCharUtf8(patRest)
|
||||
@ -204,9 +216,9 @@ function Grichelde:ReplaceCharacters(text, replName, replTable, consolidate, rep
|
||||
return ciPattern
|
||||
end
|
||||
|
||||
local function replaceCaptures(text, replaceText, captures)
|
||||
local function replaceCaptures(txt, replaceText, captures)
|
||||
local replText = replaceText
|
||||
self:TracePrint("replaceCaptures : text: %s, #captures: %d", text, #captures)
|
||||
self:TracePrint("replaceCaptures : txt: %s, #captures: %d", txt, #captures)
|
||||
|
||||
if (#captures > 0) then
|
||||
for i, cap in ipairs(captures) do
|
||||
@ -285,9 +297,6 @@ function Grichelde:ReplaceCharacters(text, replName, replTable, consolidate, rep
|
||||
self:TracePrint("ReplaceCharacters : pos1: %d, pos2: %d", pos1, pos2)
|
||||
self:TracePrint("ReplaceCharacters : cap1: %s, cap2: %s, cap3: %s, cap4: %s, cap5: %s, cap6: %s, cap7: %s, cap8: %s, cap9: %s", cap1, cap2, cap3, cap4, cap5, cap6, cap7, cap8, cap9)
|
||||
while (pos1 ~= nil) and (pos2 ~= nil) and (pos1 <= pos2) do
|
||||
-- continue from that position later
|
||||
pos = pos2 + 1
|
||||
|
||||
if doStopOnMatch then
|
||||
stopOnMatch = true
|
||||
end
|
||||
@ -297,6 +306,24 @@ function Grichelde:ReplaceCharacters(text, replName, replTable, consolidate, rep
|
||||
local post = sub(result, pos2 + 1)
|
||||
local wordStart = sub(pre, -1, -1)
|
||||
local wordEnd = sub(post, 1, 1)
|
||||
self:TracePrint("ReplaceCharacters : result: %s", result)
|
||||
self:TracePrint("ReplaceCharacters : pre: %s, match: %s, post: %s, wordStart: %s, wordEnd: %s", pre, match, post, wordStart, wordEnd)
|
||||
|
||||
--[[
|
||||
self:TracePrint("ReplaceCharacters : pos2: %d, isChar: %s", pos2, isChar(match))
|
||||
while (not isChar(match) and pos2 < length(result)) do
|
||||
pos2 = pos2 + 1
|
||||
pre = sub(result, 1, pos1 - 1)
|
||||
match = sub(result, pos1, pos2)
|
||||
post = sub(result, pos2 + 1)
|
||||
wordStart = sub(pre, -1, -1)
|
||||
wordEnd = sub(post, 1, 1)
|
||||
self:TracePrint("ReplaceCharacters : pos2: %d, isChar: %s", pos2, isChar(match))
|
||||
end
|
||||
]]
|
||||
|
||||
-- continue from that position later
|
||||
pos = pos2 + 1
|
||||
|
||||
-- additional checks for word boundaries
|
||||
local doesMatchWhen = false
|
||||
@ -441,8 +468,8 @@ end
|
||||
-- @param text string
|
||||
-- @param replacements table of mappings
|
||||
-- @return string
|
||||
function Grichelde:ReplaceAndConsolidate(text, replacements)
|
||||
local replacements = replacements or self.db.profile.replacements or {}
|
||||
function Grichelde:ReplaceAndConsolidate(text, _replacements)
|
||||
local replacements = _replacements or self.db.profile.replacements or {}
|
||||
self:TracePrint("ReplaceAndConsolidate : replacements")
|
||||
self:TracePrint(replacements)
|
||||
|
||||
@ -531,7 +558,6 @@ function Grichelde:CheckForLink(text, currentChar)
|
||||
for _, pattern in ipairs(Grichelde.IGNORE_PATTERNS.LINKS) do
|
||||
local pos1, pos2 = find(text, "^" .. pattern)
|
||||
if (pos1 == 1) and (pos2 ~= nil) then
|
||||
local match = sub(text, pos1, pos2)
|
||||
self:DebugPrint("CheckForLink : Found link or texture pattern \"%s\" at (%d, %d)", pattern, pos1, pos2)
|
||||
return pos2
|
||||
end
|
||||
@ -590,10 +616,10 @@ function Grichelde:CheckForRaidTargetMarkers(text, currentChar)
|
||||
local translation = toLower(self.L["IgnorePattern_" .. localizedRT])
|
||||
local localizedPattern = "^{" .. translation .. "}"
|
||||
self:TracePrint("CheckForPreversableText : localizedPattern:", localizedPattern)
|
||||
local pos1, pos2 = find(lowerText, localizedPattern)
|
||||
if (pos1 == 1) and (pos2 ~= nil) then
|
||||
self:DebugPrint("CheckForPreversableText : Found localized raid target marker \"%s\" at (%d, %d)", localizedPattern, pos1, pos2)
|
||||
return pos2
|
||||
local p1, p2 = find(lowerText, localizedPattern)
|
||||
if (p1 == 1) and (p2 ~= nil) then
|
||||
self:DebugPrint("CheckForPreversableText : Found localized raid target marker \"%s\" at (%d, %d)", localizedPattern, p1, p2)
|
||||
return p2
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -636,9 +662,9 @@ end
|
||||
-- @param previousChar string(1) previous character of the text, otherwise unreachable
|
||||
-- @param preserveEmotes boolean ignore replacements for emotes, for testing purposes
|
||||
-- @return number
|
||||
function Grichelde:CheckForPreversableText(text, currentChar, previousChar, replaceEmotes)
|
||||
function Grichelde:CheckForPreversableText(text, currentChar, previousChar, _replaceEmotes)
|
||||
self:DebugPrint("CheckForPreversableText : text:", text)
|
||||
local replaceEmotes = replaceEmotes or self.db.profile.channels.emote or false
|
||||
local replaceEmotes = _replaceEmotes or self.db.profile.channels.emote or false
|
||||
|
||||
local linkPos = self:CheckForLink(text, currentChar)
|
||||
if (linkPos ~= nil) then
|
||||
@ -679,11 +705,11 @@ end
|
||||
-- @param text string the text to apply the mappings on
|
||||
-- @param preserveEmotes boolean ignore replacements for emotes, for testing purposes
|
||||
-- @return string
|
||||
function Grichelde:ReplaceText(text, replacements, replaceEmotes)
|
||||
function Grichelde:ReplaceText(text, _replacements, _replaceEmotes)
|
||||
local lookAheads = { '|', '*', '<', '%', '{', '(', 'o' }
|
||||
local newText = text
|
||||
local preserveEmotes = replaceEmotes or self.db.profile.channels.emote or false
|
||||
local replacements = replacements or self.db.profile.replacements or {}
|
||||
local preserveEmotes = _replaceEmotes or self.db.profile.channels.emote or false
|
||||
local replacements = _replacements or self.db.profile.replacements or {}
|
||||
local finalText, replaceText = "", ""
|
||||
local currentChar
|
||||
local escape = 0
|
||||
|
@ -5,7 +5,9 @@ local Grichelde = _G.Grichelde or {}
|
||||
-- constants and upvalues
|
||||
Grichelde.LOG_LEVEL = { DEBUG = 1, TRACE = 2 }
|
||||
|
||||
-- chat input in client is limited to 255 bytes (unicode length is less)
|
||||
Grichelde.INPUT_LIMIT = 255
|
||||
-- safety measure in case malformed user input causes infinite loops on string parsing
|
||||
Grichelde.ENDLESS_LOOP_LIMIT = 10000
|
||||
Grichelde.MAPPING_OFFSET = 10
|
||||
Grichelde.MINIMAP_ENABLED = 1.0
|
||||
@ -169,11 +171,11 @@ local function nilOrEmpty(s)
|
||||
return s == nil or s:trim() == ""
|
||||
end
|
||||
|
||||
local function spairs(t, orderFunc)
|
||||
local function spairs(tbl, orderFunc)
|
||||
-- collect the keys
|
||||
local sortedKeys = {}
|
||||
-- for every non-nil value
|
||||
for key, _ in Grichelde.F.pairs(t) do
|
||||
for key, _ in Grichelde.F.pairs(tbl) do
|
||||
Grichelde.F.tInsert(sortedKeys, key)
|
||||
end
|
||||
|
||||
@ -189,22 +191,22 @@ local function spairs(t, orderFunc)
|
||||
return function()
|
||||
it = it + 1
|
||||
if (sortedKeys[it] ~= nil) then
|
||||
return sortedKeys[it], t[sortedKeys[it]]
|
||||
return sortedKeys[it], tbl[sortedKeys[it]]
|
||||
else
|
||||
return nil
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
local function tFilter(t, condition, extract)
|
||||
local function tFilter(type, condition, extract)
|
||||
local filtered = {}
|
||||
for key, value in Grichelde.F.pairs(t) do
|
||||
for key, value in Grichelde.F.pairs(type) do
|
||||
local cond = false
|
||||
if (condition) then
|
||||
local t = Grichelde.F.type(condition)
|
||||
if (t == "function") then
|
||||
cond = condition(t, key, value)
|
||||
elseif (t == "string") or (t == "number") then
|
||||
local typ = Grichelde.F.type(condition)
|
||||
if (typ == "function") then
|
||||
cond = condition(typ, key, value)
|
||||
elseif (typ == "string") or (typ == "number") then
|
||||
cond = (value == condition)
|
||||
end
|
||||
end
|
||||
@ -212,7 +214,7 @@ local function tFilter(t, condition, extract)
|
||||
if (cond) then
|
||||
local val = value
|
||||
if (extract and (Grichelde.F.type(extract) == "function")) then
|
||||
val = extract(t, key, value)
|
||||
val = extract(type, key, value)
|
||||
end
|
||||
Grichelde.F.tInsert(filtered, val)
|
||||
end
|
||||
@ -220,20 +222,20 @@ local function tFilter(t, condition, extract)
|
||||
return filtered
|
||||
end
|
||||
|
||||
local function tSize(t)
|
||||
local function tSize(tbl)
|
||||
local size = 0
|
||||
if (t ~= nil) then
|
||||
if (tbl ~= nil) then
|
||||
-- for every non-nil value
|
||||
for _, _ in Grichelde.F.pairs(t) do
|
||||
for _, _ in Grichelde.F.pairs(tbl) do
|
||||
size = size + 1
|
||||
end
|
||||
end
|
||||
return size
|
||||
end
|
||||
|
||||
local function tIsEmpty(t)
|
||||
if (not t) then return true end
|
||||
return Grichelde.F.tNext(t) == nil
|
||||
local function tIsEmpty(tbl)
|
||||
if (not tbl) then return true end
|
||||
return Grichelde.F.tNext(tbl) == nil
|
||||
end
|
||||
|
||||
local function tClone(orig)
|
||||
@ -323,11 +325,11 @@ local function isCapital(word)
|
||||
return false
|
||||
else
|
||||
local first, rest = Grichelde.F.getNextCharUtf8(word)
|
||||
local isCapital = Grichelde.F.isUpper(first)
|
||||
local isCap = Grichelde.F.isUpper(first)
|
||||
if (rest ~= nil) then
|
||||
return isCapital and Grichelde.F.isLower(rest)
|
||||
return isCap and Grichelde.F.isLower(rest)
|
||||
else
|
||||
return isCapital
|
||||
return isCap
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -346,8 +348,8 @@ local function capitalize(word)
|
||||
end
|
||||
end
|
||||
|
||||
local function color(color, text)
|
||||
return color .. text .. Grichelde.COLOR_CODES.CLOSE
|
||||
local function color(colour, text)
|
||||
return colour .. text .. Grichelde.COLOR_CODES.CLOSE
|
||||
end
|
||||
|
||||
local function cPrefix(text)
|
||||
|
@ -2,8 +2,8 @@
|
||||
local _G = _G
|
||||
local Grichelde = _G.Grichelde or {}
|
||||
|
||||
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
|
||||
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
|
||||
|
||||
function Grichelde.getDefaultConfig()
|
||||
return {
|
||||
|
@ -2,8 +2,8 @@
|
||||
local _G = _G
|
||||
local Grichelde = _G.Grichelde or {}
|
||||
|
||||
local cPrefix, cGreen, cRed
|
||||
= Grichelde.F.cPrefix, Grichelde.F.cGreen, Grichelde.F.cRed
|
||||
local cGreen, cRed
|
||||
= Grichelde.F.cGreen, Grichelde.F.cRed
|
||||
|
||||
|
||||
--- add Minimap button
|
||||
|
@ -2,7 +2,7 @@
|
||||
local _G = _G
|
||||
local Grichelde = _G.Grichelde or {}
|
||||
|
||||
local find, pairs, tSize, cRed, cGreen, format = Grichelde.F.find, Grichelde.F.pairs, Grichelde.F.tSize, Grichelde.F.cRed, Grichelde.F.cGreen, Grichelde.F.format
|
||||
local find, pairs, tSize, cRed, cGreen = Grichelde.F.find, Grichelde.F.pairs, Grichelde.F.tSize, Grichelde.F.cRed, Grichelde.F.cGreen
|
||||
|
||||
function Grichelde:TestMatch(text, pattern)
|
||||
-- disable debug print out for testing
|
||||
@ -17,6 +17,7 @@ function Grichelde:TestMatch(text, pattern)
|
||||
Grichelde.logLevel = oldLogLevel
|
||||
end
|
||||
|
||||
--- Invoke ingame with /run Grichelde:RunTests()
|
||||
function Grichelde:RunTests()
|
||||
local function test(name, replacements, testData, replaceEmotes)
|
||||
local i, ok, size = 0, 0, tSize(testData)
|
||||
@ -778,7 +779,7 @@ function Grichelde:RunTests()
|
||||
if (ok == all) then
|
||||
self:PrefixedPrint("All %d tests %s", all, cGreen("passed"))
|
||||
else
|
||||
self:PrefixedPrint("%d test %s, %d tests %s", all - ok, cRed("failed"), ok, cGreen("passed"))
|
||||
self:PrefixedPrint("%d test%s %s, %d tests %s", all - ok, all - ok > 1 and "s" or "", cRed("failed"), ok, cGreen("passed"))
|
||||
end
|
||||
|
||||
-- restore old loglevel
|
||||
|
@ -2,8 +2,8 @@
|
||||
local _G = _G
|
||||
local Grichelde = _G.Grichelde or {}
|
||||
|
||||
local pairs, tSize, tClone, find, sub, cGreen, cOrange, cRed, toNumber
|
||||
= Grichelde.F.pairs, Grichelde.F.tSize,Grichelde.F.tClone, Grichelde.F.find, Grichelde.F.sub, Grichelde.F.cGreen, Grichelde.F.cOrange, Grichelde.F.cRed, Grichelde.F.toNumber
|
||||
local pairs, tClone, find, sub, cGreen, cOrange, cRed, toNumber
|
||||
= Grichelde.F.pairs, Grichelde.F.tClone, Grichelde.F.find, Grichelde.F.sub, Grichelde.F.cGreen, Grichelde.F.cOrange, Grichelde.F.cRed, Grichelde.F.toNumber
|
||||
|
||||
function Grichelde:Upgrade_To_v060()
|
||||
self:PrefixedPrint(self.L.Upgrade_ToVersion, cOrange("0.6.0"))
|
||||
|
48
Grichelde_TBC.toc
Normal file
48
Grichelde_TBC.toc
Normal file
@ -0,0 +1,48 @@
|
||||
## Interface: 20504
|
||||
|
||||
## Title: Grichelde
|
||||
## Notes: Replaces characters of your chat input line before sending.
|
||||
## Notes-de: Ersetzt eingegebene Zeichen in der Chat-Zeile vor dem Versenden.
|
||||
## Version: 1.1.4
|
||||
## Author: Teilzeit-Jedi
|
||||
## eMail: tj@teilzeit-jedi.de
|
||||
|
||||
## X-Build: BCC
|
||||
## X-Compatible: 11403
|
||||
## X-Compatible: 30400
|
||||
## X-Compatible: 90207
|
||||
|
||||
## X-Curse-Project-ID: 385480
|
||||
## X-License: GPLv3
|
||||
## X-Category: Chat/Communication
|
||||
## X-Credits: Teilzeit-Jedi
|
||||
## X-Embeds: LibStub, CallbackHandler, Ace3, LibDataBroker, LibDBIcon
|
||||
|
||||
## OptionalDeps: LibStub, CallbackHandler, Ace3, LibDataBroker, LibDBIcon
|
||||
## SavedVariables: GricheldeDB
|
||||
|
||||
Libs\LibStub\LibStub.lua
|
||||
Libs\CallbackHandler-1.0\CallbackHandler-1.0.xml
|
||||
Libs\AceAddon-3.0\AceAddon-3.0.xml
|
||||
Libs\AceLocale-3.0\AceLocale-3.0.xml
|
||||
Libs\AceEvent-3.0\AceEvent-3.0.xml
|
||||
Libs\AceHook-3.0\AceHook-3.0.xml
|
||||
Libs\AceConsole-3.0\AceConsole-3.0.xml
|
||||
Libs\AceDB-3.0\AceDB-3.0.xml
|
||||
Libs\AceDBOptions-3.0\AceDBOptions-3.0.xml
|
||||
Libs\AceGUI-3.0\AceGUI-3.0.xml
|
||||
Libs\AceConfig-3.0\AceConfig-3.0.xml
|
||||
Libs\LibDataBroker-1.1\LibDataBroker-1.1.lua
|
||||
Libs\LibDBIcon-1.0\LibDBIcon-1.0.lua
|
||||
|
||||
Grichelde.lua
|
||||
GricheldeConstants.lua
|
||||
|
||||
localisation.xml
|
||||
|
||||
GricheldeUtils.lua
|
||||
GricheldeDatabase.lua
|
||||
GricheldeUpgrade.lua
|
||||
GricheldeOptions.lua
|
||||
GricheldeMinimap.lua
|
||||
GricheldeChat.lua
|
48
Grichelde_Vanilla.toc
Normal file
48
Grichelde_Vanilla.toc
Normal file
@ -0,0 +1,48 @@
|
||||
## Interface: 11403
|
||||
|
||||
## Title: Grichelde
|
||||
## Notes: Replaces characters of your chat input line before sending.
|
||||
## Notes-de: Ersetzt eingegebene Zeichen in der Chat-Zeile vor dem Versenden.
|
||||
## Version: 1.1.4
|
||||
## Author: Teilzeit-Jedi
|
||||
## eMail: tj@teilzeit-jedi.de
|
||||
|
||||
## X-Build: Classic
|
||||
## X-Compatible: 20504
|
||||
## X-Compatible: 30400
|
||||
## X-Compatible: 90207
|
||||
|
||||
## X-Curse-Project-ID: 385480
|
||||
## X-License: GPLv3
|
||||
## X-Category: Chat/Communication
|
||||
## X-Credits: Teilzeit-Jedi
|
||||
## X-Embeds: LibStub, CallbackHandler, Ace3, LibDataBroker, LibDBIcon
|
||||
|
||||
## OptionalDeps: LibStub, CallbackHandler, Ace3, LibDataBroker, LibDBIcon
|
||||
## SavedVariables: GricheldeDB
|
||||
|
||||
Libs\LibStub\LibStub.lua
|
||||
Libs\CallbackHandler-1.0\CallbackHandler-1.0.xml
|
||||
Libs\AceAddon-3.0\AceAddon-3.0.xml
|
||||
Libs\AceLocale-3.0\AceLocale-3.0.xml
|
||||
Libs\AceEvent-3.0\AceEvent-3.0.xml
|
||||
Libs\AceHook-3.0\AceHook-3.0.xml
|
||||
Libs\AceConsole-3.0\AceConsole-3.0.xml
|
||||
Libs\AceDB-3.0\AceDB-3.0.xml
|
||||
Libs\AceDBOptions-3.0\AceDBOptions-3.0.xml
|
||||
Libs\AceGUI-3.0\AceGUI-3.0.xml
|
||||
Libs\AceConfig-3.0\AceConfig-3.0.xml
|
||||
Libs\LibDataBroker-1.1\LibDataBroker-1.1.lua
|
||||
Libs\LibDBIcon-1.0\LibDBIcon-1.0.lua
|
||||
|
||||
Grichelde.lua
|
||||
GricheldeConstants.lua
|
||||
|
||||
localisation.xml
|
||||
|
||||
GricheldeUtils.lua
|
||||
GricheldeDatabase.lua
|
||||
GricheldeUpgrade.lua
|
||||
GricheldeOptions.lua
|
||||
GricheldeMinimap.lua
|
||||
GricheldeChat.lua
|
48
Grichelde_Wrath.toc
Normal file
48
Grichelde_Wrath.toc
Normal file
@ -0,0 +1,48 @@
|
||||
## Interface: 30400
|
||||
|
||||
## Title: Grichelde
|
||||
## Notes: Replaces characters of your chat input line before sending.
|
||||
## Notes-de: Ersetzt eingegebene Zeichen in der Chat-Zeile vor dem Versenden.
|
||||
## Version: 1.1.4
|
||||
## Author: Teilzeit-Jedi
|
||||
## eMail: tj@teilzeit-jedi.de
|
||||
|
||||
## X-Build: WotLK
|
||||
## X-Compatible: 11403
|
||||
## X-Compatible: 20504
|
||||
## X-Compatible: 90207
|
||||
|
||||
## X-Curse-Project-ID: 385480
|
||||
## X-License: GPLv3
|
||||
## X-Category: Chat/Communication
|
||||
## X-Credits: Teilzeit-Jedi
|
||||
## X-Embeds: LibStub, CallbackHandler, Ace3, LibDataBroker, LibDBIcon
|
||||
|
||||
## OptionalDeps: LibStub, CallbackHandler, Ace3, LibDataBroker, LibDBIcon
|
||||
## SavedVariables: GricheldeDB
|
||||
|
||||
Libs\LibStub\LibStub.lua
|
||||
Libs\CallbackHandler-1.0\CallbackHandler-1.0.xml
|
||||
Libs\AceAddon-3.0\AceAddon-3.0.xml
|
||||
Libs\AceLocale-3.0\AceLocale-3.0.xml
|
||||
Libs\AceEvent-3.0\AceEvent-3.0.xml
|
||||
Libs\AceHook-3.0\AceHook-3.0.xml
|
||||
Libs\AceConsole-3.0\AceConsole-3.0.xml
|
||||
Libs\AceDB-3.0\AceDB-3.0.xml
|
||||
Libs\AceDBOptions-3.0\AceDBOptions-3.0.xml
|
||||
Libs\AceGUI-3.0\AceGUI-3.0.xml
|
||||
Libs\AceConfig-3.0\AceConfig-3.0.xml
|
||||
Libs\LibDataBroker-1.1\LibDataBroker-1.1.lua
|
||||
Libs\LibDBIcon-1.0\LibDBIcon-1.0.lua
|
||||
|
||||
Grichelde.lua
|
||||
GricheldeConstants.lua
|
||||
|
||||
localisation.xml
|
||||
|
||||
GricheldeUtils.lua
|
||||
GricheldeDatabase.lua
|
||||
GricheldeUpgrade.lua
|
||||
GricheldeOptions.lua
|
||||
GricheldeMinimap.lua
|
||||
GricheldeChat.lua
|
9
Libs/LibStub/LibStub.toc
Normal file
9
Libs/LibStub/LibStub.toc
Normal file
@ -0,0 +1,9 @@
|
||||
## Interface: 20400
|
||||
## Title: Lib: LibStub
|
||||
## Notes: Universal Library Stub
|
||||
## Credits: Kaelten, Cladhaire, ckknight, Mikk, Ammo, Nevcairiel
|
||||
## X-Website: http://jira.wowace.com/browse/LS
|
||||
## X-Category: Library
|
||||
## X-License: Public Domain
|
||||
|
||||
LibStub.lua
|
@ -1,6 +1,6 @@
|
||||
# Grichelde - Text replacer
|
||||
|
||||
Grichelde is a WoW Addon for Classic, Burning Crusade Classic and Retail (Shadowlands) that replaces any characters or words you typed in a chat input line according to your replacement rules.
|
||||
Grichelde is a WoW Addon for Classic, Wrath of the Lich King Classic and Retail (Shadowlands) that replaces any characters or words you typed in a chat input line according to your replacement rules.
|
||||
The replacement is done **before** the text is send to other players/in the target channel. It does **not** change text other players have written in the chat, but the text they will see **from you**.
|
||||
|
||||
Its purpose is to simulate a speaking disability of your toon and hereby strengthen immersion in roleplay.
|
||||
|
Loading…
x
Reference in New Issue
Block a user