LibDogTag-3.0-r64687

Details

  • Filename
    LibDogTag-3.0-r64687.zip
  • Uploaded by
  • Uploaded
    Mar 15, 2008
  • Size
    65.99 KB
  • Downloads
    138
  • MD5
    c52e31ef8361353787fef255f0413800

Supported WoW Retail Versions

  • 2.3.3

Changelog

------------------------------------------------------------------------
r64687 | ckknight | 2008-03-16 03:13:46 -0400 (Sun, 16 Mar 2008) | 1 line
Changed paths:
   M /trunk/LibDogTag-3.0/Compiler.lua
   M /trunk/LibDogTag-3.0/LibDogTag-3.0.lua
   M /trunk/LibDogTag-3.0/Modules/Math.lua
   M /trunk/LibDogTag-3.0/Modules/Misc.lua
   M /trunk/LibDogTag-3.0/test.lua

LibDogTag-3.0 - instead of going with list-whatever, go with tuple-whatever, since it makes more sense and fits in better.
------------------------------------------------------------------------
r64686 | ckknight | 2008-03-16 03:10:30 -0400 (Sun, 16 Mar 2008) | 1 line
Changed paths:
   M /trunk/LibDogTag-3.0/Compiler.lua
   M /trunk/LibDogTag-3.0/LibDogTag-3.0.lua
   M /trunk/LibDogTag-3.0/Modules/Misc.lua
   M /trunk/LibDogTag-3.0/test.lua

LibDogTag-3.0 - no longer tie tuples to just number or strings, they can take on any type and intermix types without issue.
------------------------------------------------------------------------
r64684 | ckknight | 2008-03-16 02:49:09 -0400 (Sun, 16 Mar 2008) | 5 lines
Changed paths:
   M /trunk/LibDogTag-3.0/Compiler.lua
   M /trunk/LibDogTag-3.0/Events.lua
   M /trunk/LibDogTag-3.0/LibDogTag-3.0.lua
   M /trunk/LibDogTag-3.0/Modules/Misc.lua
   M /trunk/LibDogTag-3.0/Modules/TextManip.lua
   M /trunk/LibDogTag-3.0/test.lua

LibDogTag-3.0 - add "boolean" type to work with, so tags can specify it as a return or an argument. Will work as expected in most cases. If you specify boolean as a return and return something like nil/1, it will automatically convert to false/true. When showing as a string, it will automatically convert to ''/"True".
- add "list-boolean" tuple type.
- make operators "if", "and", "or", and "not" handle booleans cleanly.
- make tags which returned/expected "True"/nil before now use boolean types.
- add priority to :AddTimerHandler, defaults to 5.
------------------------------------------------------------------------
r64665 | ckknight | 2008-03-15 21:54:41 -0400 (Sat, 15 Mar 2008) | 1 line
Changed paths:
   M /trunk/LibDogTag-3.0/Compiler.lua

LibDogTag-3.0 - remove another needless check
------------------------------------------------------------------------
r64664 | ckknight | 2008-03-15 21:49:11 -0400 (Sat, 15 Mar 2008) | 1 line
Changed paths:
   M /trunk/LibDogTag-3.0/Compiler.lua

LibDogTag-3.0 - remove a lot of unnecessary error checking in the compiler, as that is done primarily before the compilation phase.
------------------------------------------------------------------------
r64662 | ckknight | 2008-03-15 21:37:00 -0400 (Sat, 15 Mar 2008) | 2 lines
Changed paths:
   M /trunk/LibDogTag-3.0/Compiler.lua
   M /trunk/LibDogTag-3.0/Parser.lua
   M /trunk/LibDogTag-3.0/test.lua

LibDogTag-3.0 - add a check for syntax errors, so that if you enter an improper tag sequence, it'll tell you "Syntax error", but it doesn't provide any other information.
- update the EBNF so that OUTER_STRING = ( ANY - "[" ), { ANY - "[" }
------------------------------------------------------------------------
r64661 | ckknight | 2008-03-15 21:08:00 -0400 (Sat, 15 Mar 2008) | 1 line
Changed paths:
   M /trunk/LibDogTag-3.0/Events.lua
   M /trunk/LibDogTag-3.0/test.lua

LibDogTag-3.0 - change the way Update and SlowUpdate run
------------------------------------------------------------------------
r64658 | ckknight | 2008-03-15 20:43:10 -0400 (Sat, 15 Mar 2008) | 2 lines
Changed paths:
   M /trunk/LibDogTag-3.0/Events.lua
   M /trunk/LibDogTag-3.0/test.lua

LibDogTag-3.0 - Add :AddTimerHandler(func) and :RemoveTimerHandler(func)
- add fake events FastUpdate (every 0.05 seconds), Update (every 0.15 seconds), and SlowUpdate (every 10 seconds)
------------------------------------------------------------------------
r64652 | ckknight | 2008-03-15 20:07:39 -0400 (Sat, 15 Mar 2008) | 1 line
Changed paths:
   M /trunk/LibDogTag-3.0/Events.lua
   M /trunk/LibDogTag-3.0/test.lua

LibDogTag-3.0 - add :AddEventHandler(event, func) :RemoveEventHandler(event, func), and :FireEvent(event, ...), for modules to use.
------------------------------------------------------------------------
r64642 | ckknight | 2008-03-15 19:31:39 -0400 (Sat, 15 Mar 2008) | 2 lines
Changed paths:
   M /trunk/LibDogTag-3.0/Compiler.lua
   M /trunk/LibDogTag-3.0/test.lua

LibDogTag-3.0 - bugfix with compilation messing up events
- add compilation step 'tagevents', that allows the events of a tag to be altered arbitrarily.
------------------------------------------------------------------------
r64635 | ckknight | 2008-03-15 18:48:42 -0400 (Sat, 15 Mar 2008) | 1 line
Changed paths:
   M /trunk/LibDogTag-3.0/Modules/Misc.lua
   M /trunk/LibDogTag-3.0/test.lua

LibDogTag-3.0 - change the way the Color tag works
------------------------------------------------------------------------
r64629 | ckknight | 2008-03-15 17:39:58 -0400 (Sat, 15 Mar 2008) | 2 lines
Changed paths:
   M /trunk/LibDogTag-3.0/Compiler.lua
   M /trunk/LibDogTag-3.0/Parser.lua
   M /trunk/LibDogTag-3.0/test.lua

LibDogTag-3.0 - prevent syntax like Tag(alpha=true, 1, 2, 3), as that's a syntax error (and ambiguous to boot), kwargs are only allowed after normal args, so Tag(1, 2, 3, alpha=true) is perfectly appropriate.
- before compilation, turn all normal args into kwargs, to make the overall code simpler and easier for external compilation steps.
------------------------------------------------------------------------
r64626 | ckknight | 2008-03-15 16:08:40 -0400 (Sat, 15 Mar 2008) | 3 lines
Changed paths:
   M /trunk/LibDogTag-3.0/Compiler.lua
   M /trunk/LibDogTag-3.0/Modules/TextManip.lua
   M /trunk/LibDogTag-3.0/test.lua

LibDogTag-3.0 - fix an issue with forceToTypes in compilation.
- add Append tag to TextManip
- add some more tests
------------------------------------------------------------------------
r64618 | ckknight | 2008-03-15 13:36:49 -0400 (Sat, 15 Mar 2008) | 3 lines
Changed paths:
   M /trunk/LibDogTag-3.0/Compiler.lua
   M /trunk/LibDogTag-3.0/Events.lua
   M /trunk/LibDogTag-3.0/Modules/Misc.lua
   M /trunk/LibDogTag-3.0/test.lua

LibDogTag-3.0 - support a single event multiple times (with different args) on a single tag. Good for MODIFIER_STATE_CHANGED#LALT;MODIFIER_STATE_CHANGED#RALT, which will only register if either of those are arg1, so it won't react to LSHIFT et al.
- update Alt, Shift, and Ctrl tags.
- add optimization to Compiler, as well as fixing an error message.
------------------------------------------------------------------------
r64609 | ckknight | 2008-03-15 12:28:54 -0400 (Sat, 15 Mar 2008) | 3 lines
Changed paths:
   M /trunk/LibDogTag-3.0/Compiler.lua
   M /trunk/LibDogTag-3.0/Events.lua
   M /trunk/LibDogTag-3.0/Helpers.lua
   M /trunk/LibDogTag-3.0/LibDogTag-3.0.lua
   M /trunk/LibDogTag-3.0/test.lua

LibDogTag-3.0 - move the code clearing function from Compiler to Helpers, as it does more than just clear the compiled data, and it is used by more than that file.
- when an event is fired, check to see if the DogTag namespace can react to that event.
- Add :AddAddonFinder("namespace", "kind", "name", func)
------------------------------------------------------------------------
r64556 | ckknight | 2008-03-15 02:08:26 -0400 (Sat, 15 Mar 2008) | 1 line
Changed paths:
   M /trunk/LibDogTag-3.0/Compiler.lua
   M /trunk/LibDogTag-3.0/Parser.lua

LibDogTag-3.0 - saner support for tuples in aliases. Some optimizations in parser.
------------------------------------------------------------------------
r64555 | ckknight | 2008-03-15 01:57:28 -0400 (Sat, 15 Mar 2008) | 1 line
Changed paths:
   M /trunk/LibDogTag-3.0/Parser.lua

LibDogTag-3.0 - for parser, move EBNF to the top of the file. Reorganize the position of UNARY_MINUS to not be as hackish.
------------------------------------------------------------------------
r64551 | ckknight | 2008-03-15 01:41:56 -0400 (Sat, 15 Mar 2008) | 1 line
Changed paths:
   M /trunk/LibDogTag-3.0/Compiler.lua

LibDogTag-3.0 - optimization with predefined kwargs
------------------------------------------------------------------------
r64520 | ckknight | 2008-03-14 13:43:49 -0400 (Fri, 14 Mar 2008) | 1 line
Changed paths:
   M /trunk/LibDogTag-3.0/Compiler.lua

LibDogTag-3.0 - pass along the compiledKwargs for the tag compilation step
------------------------------------------------------------------------
r64510 | ckknight | 2008-03-14 12:32:38 -0400 (Fri, 14 Mar 2008) | 1 line
Changed paths:
   M /trunk/LibDogTag-3.0/Compiler.lua
   M /trunk/LibDogTag-3.0/Helpers.lua
   M /trunk/LibDogTag-3.0/test.lua

LibDogTag-3.0 - add compilation step injection on a namespace basis.
------------------------------------------------------------------------
r64481 | ckknight | 2008-03-14 00:44:53 -0400 (Fri, 14 Mar 2008) | 1 line
Changed paths:
   M /trunk/LibDogTag-3.0/Parser.lua
   M /trunk/LibDogTag-3.0/test.lua

LibDogTag-3.0 - for the parser, instead of using chars as strings, treat them as bytes, so that there's just a bunch of passing numbers around.
------------------------------------------------------------------------
r64478 | ckknight | 2008-03-13 23:39:53 -0400 (Thu, 13 Mar 2008) | 1 line
Changed paths:
   M /trunk/LibDogTag-3.0/Parser.lua
   M /trunk/LibDogTag-3.0/test.lua

LibDogTag-3.0 - for the parser, instead of using a complex tokenization system that wasn't all that efficient, treat each character as a token.
------------------------------------------------------------------------
r64475 | ckknight | 2008-03-13 21:02:58 -0400 (Thu, 13 Mar 2008) | 2 lines
Changed paths:
   M /trunk/LibDogTag-3.0/Cleanup.lua
   M /trunk/LibDogTag-3.0/Compiler.lua
   M /trunk/LibDogTag-3.0/Events.lua
   M /trunk/LibDogTag-3.0/Helpers.lua
   M /trunk/LibDogTag-3.0/LibDogTag-3.0.lua
   M /trunk/LibDogTag-3.0/Localization/enUS.lua
   M /trunk/LibDogTag-3.0/Localization/koKR.lua
   M /trunk/LibDogTag-3.0/Localization/zhCN.lua
   M /trunk/LibDogTag-3.0/Modules/Math.lua
   M /trunk/LibDogTag-3.0/Modules/Misc.lua
   M /trunk/LibDogTag-3.0/Modules/Operators.lua
   M /trunk/LibDogTag-3.0/Modules/TextManip.lua
   M /trunk/LibDogTag-3.0/Parser.lua
   M /trunk/LibDogTag-3.0/lib.xml
   M /trunk/LibDogTag-3.0/test.lua

LibDogTag-3.0 - remove a lot of unneeded localization data.
- make the library creation process a bit simpler
------------------------------------------------------------------------
r64368 | ckknight | 2008-03-12 11:39:45 -0400 (Wed, 12 Mar 2008) | 1 line
Changed paths:
   M /trunk/LibDogTag-3.0/test.lua

LibDogTag-3.0 - add some tests to check concatenation and if statements
------------------------------------------------------------------------
r64365 | ckknight | 2008-03-12 10:49:17 -0400 (Wed, 12 Mar 2008) | 1 line
Changed paths:
   M /trunk/LibDogTag-3.0/Modules/Misc.lua
   M /trunk/LibDogTag-3.0/test.lua

LibDogTag-3.0 - add Contains tag.
------------------------------------------------------------------------
r64314 | ckknight | 2008-03-11 23:42:55 -0400 (Tue, 11 Mar 2008) | 5 lines
Changed paths:
   M /trunk/LibDogTag-3.0/Compiler.lua
   M /trunk/LibDogTag-3.0/Modules/Misc.lua
   M /trunk/LibDogTag-3.0/test.lua

LibDogTag-3.0 - optimizations
- when doing [Alpha:~Bravo(...)], if Bravo returns nil, then return Alpha instead of "True", which makes more sense all in all, especially if ~Bravo is an alias for something else
- add tag IsIn, e.g. ['Alpha':IsIn('Bravo', 'Charlie')] => nil, [1:IsIn(1, 2, 3)] => 1
- add tag Hide, alias for ~IsIn, e.g. ['Alpha':Hide('Bravo', 'Charlie')] => "Alpha", [1:Hide(1, 2, 3)] => nil
- fix unaliasing bug
------------------------------------------------------------------------
r64269 | ckknight | 2008-03-11 16:22:39 -0400 (Tue, 11 Mar 2008) | 2 lines
Changed paths:
   M /trunk/LibDogTag-3.0/Modules/Operators.lua
   M /trunk/LibDogTag-3.0/Parser.lua
   M /trunk/LibDogTag-3.0/test.lua

LibDogTag-3.0 - fix = and ~= operators slightly.
- standardization will turn any strings that can act as numbers into numbers properly.
------------------------------------------------------------------------
r64268 | ckknight | 2008-03-11 16:09:26 -0400 (Tue, 11 Mar 2008) | 1 line
Changed paths:
   M /trunk/LibDogTag-3.0/Compiler.lua
   M /trunk/LibDogTag-3.0/Parser.lua
   M /trunk/LibDogTag-3.0/test.lua

LibDogTag-3.0 - add reserved words true and false, which essentially translate into "True" and nil, respectively.
------------------------------------------------------------------------
r64237 | ckknight | 2008-03-11 11:40:45 -0400 (Tue, 11 Mar 2008) | 1 line
Changed paths:
   M /trunk/LibDogTag-3.0/test.lua

LibDogTag-3.0 - add test for tuple aliases on non-tuple tags.
------------------------------------------------------------------------
r64236 | ckknight | 2008-03-11 11:37:45 -0400 (Tue, 11 Mar 2008) | 3 lines
Changed paths:
   M /trunk/LibDogTag-3.0/Compiler.lua
   M /trunk/LibDogTag-3.0/Parser.lua
   M /trunk/LibDogTag-3.0/test.lua

LibDogTag-3.0 - allow kwargs to work with aliases
- allow prespecified kwargs to work with aliases
- allow tuples to work with aliases
------------------------------------------------------------------------
r64234 | ckknight | 2008-03-11 10:40:30 -0400 (Tue, 11 Mar 2008) | 4 lines
Changed paths:
   M /trunk/LibDogTag-3.0/Compiler.lua
   M /trunk/LibDogTag-3.0/LibDogTag-3.0.lua
   M /trunk/LibDogTag-3.0/Modules/Math.lua
   M /trunk/LibDogTag-3.0/Modules/Misc.lua
   M /trunk/LibDogTag-3.0/Parser.lua
   M /trunk/LibDogTag-3.0/test.lua

LibDogTag-3.0 - add support for undef arguments, which are different from nil, only difference being if you specify it, it is nil, if you don't, it's undef. They act the same in most cases
- add support for aliases.
- fix a bug with the standardize function.
- when standardizing { "unm", someNumber }, turn it into -someNumber.
------------------------------------------------------------------------
r64096 | sayclub | 2008-03-09 23:30:37 -0400 (Sun, 09 Mar 2008) | 2 lines
Changed paths:
   M /trunk/LibDogTag-3.0/Localization/zhCN.lua

LibDogTag-3.0 :
- zhCN typo fix
------------------------------------------------------------------------
r64041 | ckknight | 2008-03-09 12:19:24 -0400 (Sun, 09 Mar 2008) | 2 lines
Changed paths:
   M /trunk/LibDogTag-3.0/Compiler.lua
   M /trunk/LibDogTag-3.0/Events.lua
   M /trunk/LibDogTag-3.0/LibDogTag-3.0.lua
   M /trunk/LibDogTag-3.0/Modules/Math.lua
   A /trunk/LibDogTag-3.0/Modules/Misc.lua
   M /trunk/LibDogTag-3.0/Modules/Operators.lua
   M /trunk/LibDogTag-3.0/Modules/TextManip.lua
   M /trunk/LibDogTag-3.0/test.lua

LibDogTag-3.0 - add some more base tags
- some minimal touchups
------------------------------------------------------------------------
r63984 | ckknight | 2008-03-08 23:22:57 -0500 (Sat, 08 Mar 2008) | 1 line
Changed paths:
   M /trunk/LibDogTag-3.0/Compiler.lua
   M /trunk/LibDogTag-3.0/test.lua

LibDogTag-3.0 - for tags that have their first argument require a non-nil, do not provide a default, and receive a nil as its first argument, do not evaluate, instead just stay as nil. e.g. [HP:Green] => nil if HP is nil, instead of |cffff0000|r
------------------------------------------------------------------------
r63981 | ckknight | 2008-03-08 22:08:50 -0500 (Sat, 08 Mar 2008) | 6 lines
Changed paths:
   M /trunk/LibDogTag-3.0/Compiler.lua
   M /trunk/LibDogTag-3.0/Events.lua
   M /trunk/LibDogTag-3.0/Helpers.lua
   M /trunk/LibDogTag-3.0/LibDogTag-3.0.lua
   M /trunk/LibDogTag-3.0/Modules/Math.lua
   A /trunk/LibDogTag-3.0/Modules/TextManip.lua
   M /trunk/LibDogTag-3.0/Parser.lua
   M /trunk/LibDogTag-3.0/lib.xml
   M /trunk/LibDogTag-3.0/test.lua

LibDogTag-3.0 - assorted refactoring and renaming
- random optimizations
- add tags to Math.lua and add TextManip.lua
- add fake global system
- update lib.xml
- fix negative handling by the parser.
------------------------------------------------------------------------
r63959 | ckknight | 2008-03-08 17:44:46 -0500 (Sat, 08 Mar 2008) | 1 line
Changed paths:
   M /trunk/LibDogTag-3.0/lib.xml

LibDogTag-3.0 - make sure to update lib.xml
------------------------------------------------------------------------
r63958 | ckknight | 2008-03-08 17:40:45 -0500 (Sat, 08 Mar 2008) | 4 lines
Changed paths:
   M /trunk/LibDogTag-3.0/Cleanup.lua
   M /trunk/LibDogTag-3.0/Compiler.lua
   A /trunk/LibDogTag-3.0/Events.lua
   A /trunk/LibDogTag-3.0/Helpers.lua
   M /trunk/LibDogTag-3.0/LibDogTag-3.0.lua
   M /trunk/LibDogTag-3.0/Parser.lua
   M /trunk/LibDogTag-3.0/test.lua

LibDogTag-3.0 - some file cleanup, move general helper functions into Helpers.lua
- add basic event support, currently only callbacks work, no FontStrings yet.
- allow tag.events to be a function
- allow events to specify the argument to look at, and that argument can even be dynamic instead of a literal.
------------------------------------------------------------------------
r63915 | ckknight | 2008-03-08 10:56:36 -0500 (Sat, 08 Mar 2008) | 1 line
Changed paths:
   M /trunk/LibDogTag-3.0/Compiler.lua
   M /trunk/LibDogTag-3.0/LibDogTag-3.0.lua
   M /trunk/LibDogTag-3.0/test.lua

LibDogTag-3.0 - allow globals to be a function, pass in relevant data
------------------------------------------------------------------------
r63913 | ckknight | 2008-03-08 10:34:27 -0500 (Sat, 08 Mar 2008) | 1 line
Changed paths:
   M /trunk/LibDogTag-3.0/LibDogTag-3.0.lua
   M /trunk/LibDogTag-3.0/test.lua

LibDogTag-3.0 - allow code to be a function, pass in relevant data
------------------------------------------------------------------------
r63912 | ckknight | 2008-03-08 10:27:04 -0500 (Sat, 08 Mar 2008) | 2 lines
Changed paths:
   M /trunk/LibDogTag-3.0/Compiler.lua
   M /trunk/LibDogTag-3.0/LibDogTag-3.0.lua
   M /trunk/LibDogTag-3.0/test.lua

LibDogTag-3.0 - allow ret to be a function, pass in relevant data to said function
- simplify the tag compilation process.
------------------------------------------------------------------------
r63787 | cwdg | 2008-03-07 02:52:58 -0500 (Fri, 07 Mar 2008) | 2 lines
Changed paths:
   A /trunk/LibDogTag-3.0/Localization/zhCN.lua

LibDogTag-3.0:
Add zhCN local file
------------------------------------------------------------------------
r63685 | 7destiny | 2008-03-05 11:38:40 -0500 (Wed, 05 Mar 2008) | 1 line
Changed paths:
   A /trunk/LibDogTag-3.0/Localization/koKR.lua
   M /trunk/LibDogTag-3.0/lib.xml

LibDogTag-3.0: - Add koKR localization
------------------------------------------------------------------------
r63650 | ckknight | 2008-03-05 01:34:41 -0500 (Wed, 05 Mar 2008) | 1 line
Changed paths:
   M /trunk/LibDogTag-3.0/Compiler.lua
   M /trunk/LibDogTag-3.0/Modules/Operators.lua
   M /trunk/LibDogTag-3.0/test.lua

LibDogTag-3.0 - in tags, allow ${arg:string} and ${arg:type} to reference arg's string representation or type, respectively.
------------------------------------------------------------------------
r63643 | ckknight | 2008-03-04 23:39:54 -0500 (Tue, 04 Mar 2008) | 1 line
Changed paths:
   M /trunk/LibDogTag-3.0/Parser.lua
   M /trunk/LibDogTag-3.0/test.lua

LibDogTag-3.0 - Support in strings, e.g. [Func("Alpha\"Bravo")] works the same as [Func('Alpha"Bravo')]
------------------------------------------------------------------------
r63630 | ckknight | 2008-03-04 21:27:40 -0500 (Tue, 04 Mar 2008) | 4 lines
Changed paths:
   A /trunk/LibDogTag-3.0
   A /trunk/LibDogTag-3.0/Cleanup.lua
   A /trunk/LibDogTag-3.0/Compiler.lua
   A /trunk/LibDogTag-3.0/LibDogTag-3.0.lua
   A /trunk/LibDogTag-3.0/LibDogTag-3.0.toc
   A /trunk/LibDogTag-3.0/LibStub
   A /trunk/LibDogTag-3.0/LibStub/LibStub.lua
   A /trunk/LibDogTag-3.0/Localization
   A /trunk/LibDogTag-3.0/Localization/enUS.lua
   A /trunk/LibDogTag-3.0/Modules
   A /trunk/LibDogTag-3.0/Modules/Math.lua
   A /trunk/LibDogTag-3.0/Modules/Operators.lua
   A /trunk/LibDogTag-3.0/Parser.lua
   A /trunk/LibDogTag-3.0/lib.xml
   A /trunk/LibDogTag-3.0/test.lua

LibDogTag-3.0 - initial commit
- note: this is not to be used yet, it is not finished, it is mostly so I can have a proper code history as well as allowing others to view what I have thus far.
- Differences from 2.0: Different syntax, uses a proper LALR parser instead of regexes. Vigorous testing, no longer unit-specific, that will be part of its own namespace.
Feel free to check out test.lua it's pretty much a full testsuite for LibDogTag-3.0 thus far, and it will stay that way.
------------------------------------------------------------------------