hcl/ext
Martin Atkins 523939034f ext/include: extension for including bodies into other bodies
This package implements a language extension that allows configuration
authors to include the content of another file into a body, using syntax
like this:

  include {
    path = "./foo.zcl"
  }

This is implemented as a transform.Transformer so that it can be used
as part of a transform chain when decoding nested block structures to
allow includes at any arbitrary point.

This capability is not built into the language because certain
applications will offer higher-level constructs for connecting multiple
separate config files, which may e.g. have a separate evaluation scope
for each file, etc.
2017-07-27 18:15:56 -07:00
..
include ext/include: extension for including bodies into other bodies 2017-07-27 18:15:56 -07:00
transform ext/transform: helper package for applying transforms to bodies 2017-07-27 16:23:20 -07:00
userfunc ext/userfunc: extension for user-defined functions 2017-07-25 18:34:56 -07:00
README.md ext: A directory for packages implementing zcl language extensions 2017-07-25 18:30:59 -07:00

zcl Extensions

This directory contains some packages implementing some extensions to zcl that add features by building on the core API in the main zcl package.

These serve as optional language extensions for use-cases that are limited only to specific callers. Generally these make the language more expressive at the expense of increased dynamic behavior that may be undesirable for applications that need to impose more rigid structure on configuration.