63 lines
2.1 KiB
Markdown
63 lines
2.1 KiB
Markdown
$idx and $len
|
|
-------------
|
|
|
|
$idx and $len do not survive through an explicit context setting, which will work perfectly with my injected-context architecture.
|
|
|
|
You can use $idx and $len as your explicit context, but as scalar values I do not think there is a way to access them anyway.
|
|
|
|
Exists and Not-Exists
|
|
=====================
|
|
|
|
Looks like you can exlicitly set a context with exists and not-exists tags too. This works out well in the parser because I am using the same code for those blocks.
|
|
|
|
Partials
|
|
--------
|
|
|
|
Explicitly setting a context in a partial also works. The explicit context takes priority over the parameters in the partial tag.
|
|
|
|
This works for both regular named partials and quoted partials.
|
|
|
|
While normally parameters are injected 1 level above the current context, if both parameters and explicit are set, they are injected below the current context. So if the context tree was `1->2->3`, with just parameters you'd have `1->2->parameters->3` but with an explicit context you have `1->2->3->parameters->explicit`.
|
|
|
|
Helpers
|
|
-------
|
|
|
|
Explicitly setting a context in a helper works too.
|
|
|
|
Blocks and Inline Partials
|
|
--------------------------
|
|
|
|
Explicitly setting a context on an inline partial does not work, but it does not error out either, so I need to add support for this in the parser.
|
|
|
|
Explicitly setting a context on a block does work.
|
|
|
|
References
|
|
----------
|
|
|
|
Explicitly setting a context does not work on a reference, but it has revealed that invalid dust is rendered verbatim. I'm going to leave that commented out until I can address that in a later branch.
|
|
|
|
Paths
|
|
-----
|
|
|
|
Explicit contexts do support deep paths.
|
|
|
|
Else Blocks
|
|
-----------
|
|
|
|
Else blocks also use an explicit context.
|
|
|
|
Complete Failure
|
|
----------------
|
|
|
|
If the walk destination does not exist, and the explicit context does not exist, then you end up with absolutely no context.
|
|
|
|
Regular Path Failure
|
|
--------------------
|
|
|
|
If the regular path fails but the explicit path succeeds then the context is set to the explicit path.
|
|
|
|
Falsey Explicit Path
|
|
--------------------
|
|
|
|
Since dust would not walk to a falsey path, theres no difference between a falsey path and a non-existent path.
|