frankdugan3 / spark

Tooling for building DSLs in Elixir

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Spark

Spark helps you build powerful and well documented DSLs that come with useful tooling out of the box. DSLs are declared using simple structs, and every DSL has the ability to be extended by the end user. Spark powers all of the DSLs in Ash Framework.

What you get for your DSL when you implement it with Spark:

  • Extensibility. Anyone can write extensions for your DSL.
  • Autocomplete and in-line documentation: An elixir_sense plugin that "Just Works" for any DSL implemented with Spark.
  • Tools to generate documentation for your DSL automatically.
  • Tools to create rich library documentation. AshHq's documentation is all derived from Spark.DocIndex.
  • A mix task to add every part of the DSL to the locals_without_parens of your library automatically.

Dependency

def deps do
  [
    {:spark, "~> 0.2.6"}
  ]
end

About

Tooling for building DSLs in Elixir

License:MIT License


Languages

Language:Elixir 100.0%