Description
Hi guys,
I'm working on AEM IntelliJ Plugin which supports HTL and got issue report about variables resolving.
In such code:
variables are unresolved because in the plugin I assume that (according to HTL specification) identifiers scope for data-sly-use
, data-sly-test
, data-sly-set
and data-sly-unwrap
is specified as:
Scope: The identifier set by the * block element is global to the script and can be used anywhere after its declaration.
For me, the "after its declaration" phrase means that usage before the declaration is disallowed. Maybe I'm wrong with interpretation.
My question is: what is the reason for adding rule 4.7 to the style guide? In my opinion, code is hard to read when declarations are specified after actual usages and I would even add rule exactly opposite to the current 4.7 - to put HTL blocks always before any other attributes. Is there any technical reason for the current state or it was introduced for better code organization and putting standard attributes before HTL blocks was a random decision or a matter of taste? Maybe it's worth to change it to make code cleaner and follow HTL spec?