Packages

Elixir wrapper for Erlang's `:argparse` module

Current section

Files

Jump to
argparse_ex lib arg_parse parser transformers generate_run.ex
Raw

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