$field;format="option"$
The idea is to have more flexibility and also some guarantees with how attributes are rendered, allowing the same attribute to be used in different ways. As an example, it's now possible to have a template file named $name__Camel$Build.scala with:
object $name;format="Camel"$Build extends Build {
lazy val $name;format="camel"$ = Project(
id = "$name;format="norm"$",
settings = Project.defaultSettings ++ Seq(
name := "$name$"
and given name = "My Project" have it render a file named MyProjectBuild.scala with:
object MyProjectBuild extends Build {
lazy val myProject = Project(
id = "my-project",
settings = Project.defaultSettings ++ Seq(
name := "My Project"
The readme docs for this can currently be found here: https://github.com/pvlugter/giter8
And here's a test template that makes use of these options: https://github.com/pvlugter/formatted-test.g8
Peter