vxml_pipeline/desugarers/handles_generate_v_definitions_from_t_definitions
Values
pub fn assertive_tests() -> testing.AssertiveTestCollection
pub fn constructor() -> core.Desugarer
Scans every text node (T) for in-text handle definitions of the form
BOUNDARY handleName[#decorator…]##<
The boundary form is recognized at the start of a line, after a space, ‘{’, ‘(’ or ‘[’, or immediately after a consumed value closer. The explicit ‘##’ form can occur anywhere. Handle names and decorators use the Writerly extension’s Unicode-aware grammar. VALUE is the single-line content up to the first unescaped ‘>>##’. Odd/even backslash parity controls closer escaping, and escape backslashes are removed. An active closer is consumed eagerly; its final ‘##’ is not reused as an explicit opener. If no closer exists, the value is empty and scanning restarts immediately after ‘##<<’. The same rules apply inside Writerly code blocks.
For each match found, the desugarer:
- Replaces the matched span with just BOUNDARY + VALUE in the text. The explicit ‘##’ opener is removed.
- Adds a ‘handle=handleName <
>’ attribute to the closest ancestor V node of the T node. Every decorator is copied after the handle name; this desugarer does not interpret decorator semantics.
If ‘##<<’ is found but what precedes it does not form a valid handle-name pattern (or has no valid preceding char), that occurrence is left untouched with no error or warning.
Any backslash between the name or decorators and ‘##<<’ breaks the required adjacency, so the text is preserved.
Intended to run before handles_add_ids so that the
generated ‘handle=’ attrs are in the strict
‘name <