2 Commits
1.1.3 ... 1.1.4

Author SHA1 Message Date
97ee953b19 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
2022-09-28 20:47:04 +02:00
a75d631423 fixed typos 2021-10-17 16:28:03 +02:00
14 changed files with 254 additions and 2740 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -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

View File

@@ -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@

View File

@@ -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

View File

@@ -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)

View File

@@ -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 {

View File

@@ -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

View File

@@ -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

View File

@@ -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
View 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
View 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
View 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
View 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

View File

@@ -1,6 +1,6 @@
# Grichelde - Text replacer
Grichelde is a WoW Classic Addon 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.
@@ -39,7 +39,7 @@ Only slash commands, item links, textures, placeholders and ooc-markers are excl
After entering a search or replacement text, you see a button "Okay" next to your input. This is **not** a validation message,
but the save button for text. This is a restriction from the UI library and can be seen in other addons as well.
Please click on "Okay" to save the input permanently, otherwise it will not be stored..
Please click on "Okay" to save the input permanently, otherwise it will not be stored.
![click "Okay" on text changes](https://media.forgecdn.net/attachments/305/887/text-okay.jpg "change confirmation")