wildling
Scala library and CLI for pattern-based string generation. Zero third-party dependencies (Scala/JVM standard library only; hand-rolled JSON for templates). Targets Scala 2.13+ / JVM 11+.
Docs: Website · Sandbox · Syntax · Source
Registry: Maven Central
Example
Install
From this repository:
cd scala
./build.sh
./bin/wildling "Year 19##"
From a release tag:
git clone --branch v2.0.0 --depth 1 https://github.com/dotmonk/wildling.git
cd wildling
./build.sh scala
Registry: Maven Central — io.github.dotmonk:wildling-scala
libraryDependencies += "io.github.dotmonk" % "wildling-scala" % "2.0.2"
Produces dist/wildling.jar via ./build.sh (includes scala-library). Requires a JRE to run, or Docker (the launcher falls back to Temurin if java is not on PATH).
val wildling = Wildling(Seq("Year 19##"))
var value = wildling.next()
while (value != false) {
println(value)
value = wildling.next()
}
CLI
./bin/wildling "Year 19##"
./bin/wildling --dictionary planets:../dictionaries/planets.txt "%{'planets'}"
./bin/wildling --template ./config.json
Help text and --check output follow docs/cli.md / docs/help.txt.
Build
./build.sh # Docker (Temurin): fetch Scala if needed, scalac + fat jar → dist/wildling.jar
Project tests live in ../tests/ and are run with ../test.sh.