Is this a bug? I define a macro: myMacro() with 3 parameters: myMacro(p1, p2="def2", p3="def3"), the last 2 parameters having default values. When I call the macro like this: myMacro("a1",,"a3") there is no way to only provide arguments for parameter 1 and 3. p2 will not use its default value.
See this more elaborate example:
@startuml
skinparam noteFontSize 20
!define showIcon(iconName, iconColor="#Purple", iconSize="12") <size:iconSize><color:iconColor><iconName></color></size>
note as N1
<back:#LightGreen>//OK, uses default values for iconColor and iconSize://</back>
""Follow this showIcon("&external-link") Link.""
<back:#LightGreen>//OK, uses default value for iconSize://</back>
""Change to showIcon("&fork", "#OrangeRed")Branch //master//.""
<back:#Red>//Not OK, does not use default value for iconColor://</back>
""Modify showIcon("&wrench",,"20") Settings.""
end note
@enduml