How to use [execute-file]
The reference page of execute-file has its arguments, constraints and declaration.
The [execute-file] slot is an alias for [io.file.execute], but it will [unwrap] all children nodes, automatically transform any expressions to their static value equivalents, allowing you to combine [unwrap] and [io.file.execute] into one invocation. This makes usage slightly less verbose for cases such as the following.
.args
foo1:bar1
foo2:bar2
execute-file:/whatever-file.hl
arg1:x:@.args/*/foo1
arg2:x:@.args/*/foo2
In the above example both arguments to our “/whatever-file.hl” file will be evaluated before the file is executed, resulting in [arg1] and [args2] having the values of “bar1” and “bar2” respectively.
If you pass in a node named [node_reference] using the above syntax, this node will be especially handled, and passed in by reference instead of evaluated as a single expression value. Consider the following alternative to the above.
.args
foo1:bar1
foo2:bar2
execute-file:/whatever-file.hl
node_reference:x:@.args
Inside your above “/whatever-file.hl” file you will now have access to the entire [.args] node by reference.