define for boolean (true/false) breaks skinparams within {{}} (i.e. embedded diagram)

0 votes
asked Feb 13 in bug by boshka (2,020 points)
edited Feb 14 by boshka

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:

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?

Your answer

Your name to display (optional):
Privacy: Your email address will only be used for sending these notifications.
Anti-spam verification:
To avoid this verification in future, please log in or register.