I agree that this is not, strictly saying, a bug (rather an unpleasant limitation). However, I'd like to check if you see a workaround.
How can I keep the definition for "true" while having monochrome skinparam (and all other with a boolean values, like shadowing) still work within {{}} ?
In the example below I would want that:
- "true" is still displayed highlighted (like in the left note) (this is really useful, for example, if you render a JSON) AND
- "skinparam monochrome true" setting would not fail for the {{ sequence part }} (it should be monochrome too)
NOTE: I would not want defining something like !define my_true ..., !define my_false ..., since I want true/false to be highlighted in natural structures, such as JSON, etc. without changes.
Here is an example: http://www.plantuml.com/plantuml/uml/JL1B3eGm2Drp2kO04_V6D1vaDaobjj62gJMpCDvzwcSc9YpWFU0zQETCAIznX7a8Cb6YY555hKyQ6NDQ61uTko1dWSsRx53tYLbCOtNKL7zyo6nsjgaEn3JLtcK0hCP9XIKZuGeRW6XcJA7t6TKXmRe2FGtLgCEDgsyUNk8eZDpXcoqjSwdBuC-IqtHwt3PWwN1VSOcCx2wDxCEC9Ox6st45Agh_iRPavH5V
As a possible fix I can think of is:
provide a setting that would allow ignoring !defines for true/false when those are evaluated for skinparams, like:
skinparam ignoreTrueFalseDefinesInSkinparams
if such a setting is provided in a diagram iuml, then Plantuml should ignore "!define true <>" and "!define false <>" in statements like "skinparam monochrome true", shadowing, etc (and use regular true/false in those).
Could you add such a setting into Plantuml?