src/glipt.erl

-module(glipt).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/glipt.gleam").
-export([main/0]).

-file("src/glipt.gleam", 24).
-spec print_help() -> nil.
print_help() ->
    gleam_stdlib:println(
        <<<<"glipt "/utf8, "1.0.0"/utf8>>/binary,
            " — A script runner for Gleam

Usage:
  glipt run [--target erlang|javascript] <file.gleam>
  glipt add <package@version> <file.gleam>
  glipt project <file.gleam>
  glipt script [<file.gleam>]
  glipt clean
  glipt --version
  glipt --help"/utf8>>
    ).

-file("src/glipt.gleam", 11).
-spec main() -> nil.
main() ->
    case erlang:element(4, argv:load()) of
        [<<"run"/utf8>> | Rest] ->
            glipt@cmd@run:execute(Rest);

        [<<"add"/utf8>> | Rest@1] ->
            glipt@cmd@add:execute(Rest@1);

        [<<"project"/utf8>>, File] ->
            glipt@cmd@project:execute(File);

        [<<"script"/utf8>> | Rest@2] ->
            glipt@cmd@script:execute(Rest@2);

        [<<"clean"/utf8>>] ->
            glipt@cmd@clean:execute();

        [<<"--version"/utf8>>] ->
            gleam_stdlib:println(<<"glipt "/utf8, "1.0.0"/utf8>>);

        [<<"--help"/utf8>>] ->
            print_help();

        _ ->
            print_help()
    end.