I actually implemented this as #stop(parse) which I think is more obvious to the user. Also, I converted the #stop command to a directive instead of an AST node following the approach that if it doesn't have to be in the parser it shouldn't be.
Could you just elaborate a bit on this new syntax? Do you mean: #stop('/mypath/mytemplate.vtl') ?
If so, how does a vtl library writer know how his template will be called?
Or literally "#stop(parse)" ? What is the behaviour on chained parses?
'parse' is simply a keyword, a simple flag to instruct the #stop directive to end rendering up to the last #parse call, then continue rendering. Without this keyword template rendering ends regardless of the current #parse level.
The #stop(parse) is now gone from 2.0, but you can now do #break($template) in both 1.7 and 2.0 thanks to VELOCITY-704. So i think that closes out this issue, right?
yea, no need for this anymore.