-module(gladvent). -compile(no_auto_import). -export([main/0, execute/1]). -spec main() -> nil. main() -> case cmd@run:build_runners_from_days_dir() of {ok, Runners} -> execute(Runners); {error, Err} -> print_snag_and_halt(Err) end. -spec execute( gleam@map:map_(integer(), fun((binary()) -> {integer(), integer()})) ) -> nil. execute(Runners) -> Commands = begin _pipe = glint:new(), _pipe@1 = cmd@run:register_command(_pipe, Runners), cmd@new:register_command(_pipe@1) end, Args = gleam@erlang:start_arguments(), case begin _pipe@2 = Commands, glint:execute(_pipe@2, Args) end of {ok, {out, {ok, Output}}} -> _pipe@3 = Output, _pipe@4 = gleam@string:join(_pipe@3, <<"\n\n"/utf8>>), gleam@io:println(_pipe@4); {ok, {help, Help}} -> gleam@io:println(Help); {ok, {out, {error, Err}}} -> print_snag_and_halt(Err); {error, Err} -> print_snag_and_halt(Err) end. -spec print_snag_and_halt(snag:snag()) -> nil. print_snag_and_halt(Err) -> _pipe = Err, _pipe@1 = snag:pretty_print(_pipe), gleam@io:println(_pipe@1), erlang:halt(1).