View Source Spark.Dsl.Section (spark v1.0.6)

Declares a DSL section.

A dsl section allows you to organize related configurations. All extensions configure sections, they cannot add DSL builders to the top level. This keeps things organized, and concerns separated.

A section may have nested sections, which will be configured the same as other sections. Getting the options/entities of a section is done by providing a path, so you would use the nested path to retrieve that configuration. See Spark.Dsl.Extension.get_entities/2 and Spark.Dsl.Extension.get_opt/4.

A section may have entities, which are constructors that produce instances of structs. For more on entities, see Spark.Dsl.Entity.

A section may also have a schema, which is a NimbleOptions schema. Spark will produce builders for those options, so that they may be configured. They are retrieved with Spark.Dsl.Extension.get_opt/4.

For a full example, see Spark.Dsl.Extension.

Link to this section Summary

Link to this section Types

@type t() :: %Spark.Dsl.Section{
  auto_set_fields: Keyword.t(any()),
  deprecations: term(),
  describe: String.t(),
  docs: String.t(),
  entities: [Spark.Dsl.Entity.t()],
  examples: [String.t()],
  imports: [module()],
  links: nil | Keyword.t([String.t()]),
  modules: [atom()],
  name: atom(),
  no_depend_modules: [atom()],
  patchable?: boolean(),
  schema: Spark.OptionsHelpers.schema(),
  sections: [t()],
  snippet: String.t()
}