Module pl.template

A template preprocessor.

Originally by Ricki Lake

There are two rules:

  • lines starting with # are Lua
  • otherwise, $(expr) is the result of evaluating expr

Example:

#  for i = 1,3 do
   $(i) Hello, Word!
#  end
===>
1 Hello, Word!
2 Hello, Word!
3 Hello, Word!

Other escape characters can be used, when the defaults conflict with the output language.

> for _,n in pairs{'one','two','three'} do
static int l_${n} (luaState *state);
> end

See the Guide.

Dependencies: pl.utils

Functions

substitute (str, env) expand the template using the specified environment.


Functions

substitute (str, env)
expand the template using the specified environment.

Parameters:

  • str: the template string
  • env: the environment (by default empty).
    There are three special fields in the environment table
    • parent continue looking up in this table
    • brackets; default is ‘()’, can be any suitable bracket pair
    • _escape; default is ‘#’
generated by LDoc 1.2