Current section
Files
Jump to
Current section
Files
lib/arg_parse/parser/transformers/generate_run.ex
defmodule ArgParse.Parser.Transformers.GenerateRun do
use Spark.Dsl.Transformer
def transform(dsl_state) do
run =
quote do
def run(argv \\ System.argv()) do
# Our generated code can be very simple
# because we can get all the info we need from the module
# in our regular ELixir code.
ArgParse.Parser.run(__MODULE__, argv)
end
end
{:ok, Spark.Dsl.Transformer.eval(dsl_state, [], run)}
end
end