aboutsummaryrefslogtreecommitdiff
path: root/aoc2023/build/dev/erlang/gleam_community_ansi
diff options
context:
space:
mode:
Diffstat (limited to 'aoc2023/build/dev/erlang/gleam_community_ansi')
-rw-r--r--aoc2023/build/dev/erlang/gleam_community_ansi/_gleam_artefacts/gleam@@compile.erl157
-rw-r--r--aoc2023/build/dev/erlang/gleam_community_ansi/_gleam_artefacts/gleam_community@ansi.cachebin63325 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_community_ansi/_gleam_artefacts/gleam_community@ansi.cache_metabin114 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_community_ansi/_gleam_artefacts/gleam_community@ansi.erl263
-rw-r--r--aoc2023/build/dev/erlang/gleam_community_ansi/ebin/gleam_community@ansi.beambin10532 -> 0 bytes
-rw-r--r--aoc2023/build/dev/erlang/gleam_community_ansi/ebin/gleam_community_ansi.app8
6 files changed, 0 insertions, 428 deletions
diff --git a/aoc2023/build/dev/erlang/gleam_community_ansi/_gleam_artefacts/gleam@@compile.erl b/aoc2023/build/dev/erlang/gleam_community_ansi/_gleam_artefacts/gleam@@compile.erl
deleted file mode 100644
index 543db88..0000000
--- a/aoc2023/build/dev/erlang/gleam_community_ansi/_gleam_artefacts/gleam@@compile.erl
+++ /dev/null
@@ -1,157 +0,0 @@
-#!/usr/bin/env escript
-
-% TODO: Don't concurrently print warnings and errors
-% TODO: Some tests
-
--record(arguments, {lib = "./", out = "./", modules = []}).
-
-main(Args) ->
- #arguments{out = Out, lib = Lib, modules = Modules} = parse(Args),
- IsElixirModule = fun(Module) ->
- filename:extension(Module) =:= ".ex"
- end,
- {ElixirModules, ErlangModules} = lists:partition(IsElixirModule, Modules),
- ok = configure_logging(),
- ok = add_lib_to_erlang_path(Lib),
- ok = filelib:ensure_dir([Out, $/]),
- {ErlangOk, _ErlangBeams} = compile_erlang(ErlangModules, Out),
- {ElixirOk, _ElixirBeams} = case ErlangOk of
- true -> compile_elixir(ElixirModules, Out);
- false -> {false, []}
- end,
- case ErlangOk and ElixirOk of
- true -> ok;
- false -> erlang:halt(1)
- end.
-
-compile_erlang(Modules, Out) ->
- Workers = start_compiler_workers(Out),
- ok = producer_loop(Modules, Workers),
- collect_results({true, []}).
-
-collect_results(Acc = {Result, Beams}) ->
- receive
- {compiled, Beam} -> collect_results({Result, [Beam | Beams]});
- failed -> collect_results({false, Beams})
- after 0 -> Acc
- end.
-
-producer_loop([], 0) ->
- ok;
-producer_loop([], Workers) ->
- receive
- {work_please, _} -> producer_loop([], Workers - 1)
- end;
-producer_loop([Module | Modules], Workers) ->
- receive
- {work_please, Worker} ->
- erlang:send(Worker, {module, Module}),
- producer_loop(Modules, Workers)
- end.
-
-start_compiler_workers(Out) ->
- Parent = self(),
- NumSchedulers = erlang:system_info(schedulers),
- SpawnWorker = fun(_) ->
- erlang:spawn_link(fun() -> worker_loop(Parent, Out) end)
- end,
- lists:foreach(SpawnWorker, lists:seq(1, NumSchedulers)),
- NumSchedulers.
-
-worker_loop(Parent, Out) ->
- Options = [report_errors, report_warnings, debug_info, {outdir, Out}],
- erlang:send(Parent, {work_please, self()}),
- receive
- {module, Module} ->
- log({compiling, Module}),
- case compile:file(Module, Options) of
- {ok, ModuleName} ->
- Beam = filename:join(Out, ModuleName) ++ ".beam",
- Message = {compiled, Beam},
- log(Message),
- erlang:send(Parent, Message);
- error ->
- log({failed, Module}),
- erlang:send(Parent, failed)
- end,
- worker_loop(Parent, Out)
- end.
-
-compile_elixir(Modules, Out) ->
- Error = [
- "The program elixir was not found. Is it installed?",
- $\n,
- "Documentation for installing Elixir can be viewed here:",
- $\n,
- "https://elixir-lang.org/install.html"
- ],
- case Modules of
- [] -> {true, []};
- _ ->
- log({starting, "compiler.app"}),
- ok = application:start(compiler),
- log({starting, "elixir.app"}),
- case application:start(elixir) of
- ok -> do_compile_elixir(Modules, Out);
- _ ->
- io:put_chars(standard_error, [Error, $\n]),
- {false, []}
- end
- end.
-
-do_compile_elixir(Modules, Out) ->
- ModuleBins = lists:map(fun(Module) ->
- log({compiling, Module}),
- list_to_binary(Module)
- end, Modules),
- OutBin = list_to_binary(Out),
- Options = [{dest, OutBin}],
- % Silence "redefining module" warnings.
- % Compiled modules in the build directory are added to the code path.
- % These warnings result from recompiling loaded modules.
- % TODO: This line can likely be removed if/when the build directory is cleaned before every compilation.
- 'Elixir.Code':compiler_options([{ignore_module_conflict, true}]),
- case 'Elixir.Kernel.ParallelCompiler':compile_to_path(ModuleBins, OutBin, Options) of
- {ok, ModuleAtoms, _} ->
- ToBeam = fun(ModuleAtom) ->
- Beam = filename:join(Out, atom_to_list(ModuleAtom)) ++ ".beam",
- log({compiled, Beam}),
- Beam
- end,
- {true, lists:map(ToBeam, ModuleAtoms)};
- {error, Errors, _} ->
- % Log all filenames associated with modules that failed to compile.
- % Note: The compiler prints compilation errors upon encountering them.
- ErrorFiles = lists:usort([File || {File, _, _} <- Errors]),
- Log = fun(File) ->
- log({failed, binary_to_list(File)})
- end,
- lists:foreach(Log, ErrorFiles),
- {false, []};
- _ -> {false, []}
- end.
-
-add_lib_to_erlang_path(Lib) ->
- code:add_paths(filelib:wildcard([Lib, "/*/ebin"])).
-
-parse(Args) ->
- parse(Args, #arguments{}).
-
-parse([], Arguments) ->
- Arguments;
-parse(["--lib", Lib | Rest], Arguments) ->
- parse(Rest, Arguments#arguments{lib = Lib});
-parse(["--out", Out | Rest], Arguments) ->
- parse(Rest, Arguments#arguments{out = Out});
-parse([Module | Rest], Arguments = #arguments{modules = Modules}) ->
- parse(Rest, Arguments#arguments{modules = [Module | Modules]}).
-
-configure_logging() ->
- Enabled = os:getenv("GLEAM_LOG") /= false,
- persistent_term:put(gleam_logging_enabled, Enabled).
-
-log(Term) ->
- case persistent_term:get(gleam_logging_enabled) of
- true -> erlang:display(Term), ok;
- false -> ok
- end.
diff --git a/aoc2023/build/dev/erlang/gleam_community_ansi/_gleam_artefacts/gleam_community@ansi.cache b/aoc2023/build/dev/erlang/gleam_community_ansi/_gleam_artefacts/gleam_community@ansi.cache
deleted file mode 100644
index 1f67bd7..0000000
--- a/aoc2023/build/dev/erlang/gleam_community_ansi/_gleam_artefacts/gleam_community@ansi.cache
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_community_ansi/_gleam_artefacts/gleam_community@ansi.cache_meta b/aoc2023/build/dev/erlang/gleam_community_ansi/_gleam_artefacts/gleam_community@ansi.cache_meta
deleted file mode 100644
index a01f4e8..0000000
--- a/aoc2023/build/dev/erlang/gleam_community_ansi/_gleam_artefacts/gleam_community@ansi.cache_meta
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_community_ansi/_gleam_artefacts/gleam_community@ansi.erl b/aoc2023/build/dev/erlang/gleam_community_ansi/_gleam_artefacts/gleam_community@ansi.erl
deleted file mode 100644
index 1698e1e..0000000
--- a/aoc2023/build/dev/erlang/gleam_community_ansi/_gleam_artefacts/gleam_community@ansi.erl
+++ /dev/null
@@ -1,263 +0,0 @@
--module(gleam_community@ansi).
--compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]).
-
--export([reset/1, bold/1, dim/1, italic/1, underline/1, inverse/1, hidden/1, strikethrough/1, black/1, red/1, green/1, yellow/1, blue/1, magenta/1, cyan/1, white/1, bright_black/1, grey/1, gray/1, bright_red/1, bright_green/1, bright_yellow/1, bright_blue/1, bright_magenta/1, bright_cyan/1, bright_white/1, hex/2, pink/1, colour/2, color/2, bg_black/1, bg_red/1, bg_green/1, bg_yellow/1, bg_blue/1, bg_magenta/1, bg_cyan/1, bg_white/1, bg_bright_black/1, bg_bright_red/1, bg_bright_green/1, bg_bright_yellow/1, bg_bright_blue/1, bg_bright_magenta/1, bg_bright_cyan/1, bg_bright_white/1, bg_hex/2, bg_pink/1, bg_colour/2, bg_color/2]).
--export_type([code/0]).
-
--type code() :: {code, binary(), binary(), binary()}.
-
--spec run(binary(), code()) -> binary().
-run(Text, Code) ->
- <<<<(erlang:element(2, Code))/binary,
- (gleam@string:replace(
- Text,
- erlang:element(4, Code),
- erlang:element(2, Code)
- ))/binary>>/binary,
- (erlang:element(3, Code))/binary>>.
-
--spec code(list(integer()), integer()) -> code().
-code(Open, Close) ->
- Close_str = gleam@int:to_string(Close),
- Open_strs = gleam@list:map(Open, fun gleam@int:to_string/1),
- {code,
- <<<<<<""/utf8, "["/utf8>>/binary,
- (gleam@string:join(Open_strs, <<";"/utf8>>))/binary>>/binary,
- "m"/utf8>>,
- <<<<<<""/utf8, "["/utf8>>/binary, Close_str/binary>>/binary, "m"/utf8>>,
- <<<<<<""/utf8, "["/utf8>>/binary, Close_str/binary>>/binary, "m"/utf8>>}.
-
--spec reset(binary()) -> binary().
-reset(Text) ->
- run(Text, code([0], 0)).
-
--spec bold(binary()) -> binary().
-bold(Text) ->
- run(Text, code([1], 22)).
-
--spec dim(binary()) -> binary().
-dim(Text) ->
- run(Text, code([2], 22)).
-
--spec italic(binary()) -> binary().
-italic(Text) ->
- run(Text, code([3], 23)).
-
--spec underline(binary()) -> binary().
-underline(Text) ->
- run(Text, code([4], 24)).
-
--spec inverse(binary()) -> binary().
-inverse(Text) ->
- run(Text, code([7], 27)).
-
--spec hidden(binary()) -> binary().
-hidden(Text) ->
- run(Text, code([8], 28)).
-
--spec strikethrough(binary()) -> binary().
-strikethrough(Text) ->
- run(Text, code([9], 29)).
-
--spec black(binary()) -> binary().
-black(Text) ->
- run(Text, code([30], 39)).
-
--spec red(binary()) -> binary().
-red(Text) ->
- run(Text, code([31], 39)).
-
--spec green(binary()) -> binary().
-green(Text) ->
- run(Text, code([32], 39)).
-
--spec yellow(binary()) -> binary().
-yellow(Text) ->
- run(Text, code([33], 39)).
-
--spec blue(binary()) -> binary().
-blue(Text) ->
- run(Text, code([34], 39)).
-
--spec magenta(binary()) -> binary().
-magenta(Text) ->
- run(Text, code([35], 39)).
-
--spec cyan(binary()) -> binary().
-cyan(Text) ->
- run(Text, code([36], 39)).
-
--spec white(binary()) -> binary().
-white(Text) ->
- run(Text, code([37], 39)).
-
--spec bright_black(binary()) -> binary().
-bright_black(Text) ->
- run(Text, code([90], 39)).
-
--spec grey(binary()) -> binary().
-grey(Text) ->
- bright_black(Text).
-
--spec gray(binary()) -> binary().
-gray(Text) ->
- bright_black(Text).
-
--spec bright_red(binary()) -> binary().
-bright_red(Text) ->
- run(Text, code([91], 39)).
-
--spec bright_green(binary()) -> binary().
-bright_green(Text) ->
- run(Text, code([92], 39)).
-
--spec bright_yellow(binary()) -> binary().
-bright_yellow(Text) ->
- run(Text, code([93], 39)).
-
--spec bright_blue(binary()) -> binary().
-bright_blue(Text) ->
- run(Text, code([94], 39)).
-
--spec bright_magenta(binary()) -> binary().
-bright_magenta(Text) ->
- run(Text, code([95], 39)).
-
--spec bright_cyan(binary()) -> binary().
-bright_cyan(Text) ->
- run(Text, code([96], 39)).
-
--spec bright_white(binary()) -> binary().
-bright_white(Text) ->
- run(Text, code([97], 39)).
-
--spec hex(binary(), integer()) -> binary().
-hex(Text, Colour) ->
- Colour@1 = gleam@int:clamp(Colour, 16#0, 16#ffffff),
- run(
- Text,
- code(
- [38,
- 2,
- begin
- _pipe = erlang:'bsr'(Colour@1, 16),
- erlang:'band'(_pipe, 16#ff)
- end,
- begin
- _pipe@1 = erlang:'bsr'(Colour@1, 8),
- erlang:'band'(_pipe@1, 16#ff)
- end,
- erlang:'band'(Colour@1, 16#ff)],
- 39
- )
- ).
-
--spec pink(binary()) -> binary().
-pink(Text) ->
- hex(Text, 16#ffaff3).
-
--spec colour(binary(), gleam_community@colour:colour()) -> binary().
-colour(Text, Colour) ->
- Hex_colour = gleam_community@colour:to_rgb_hex(Colour),
- hex(Text, Hex_colour).
-
--spec color(binary(), gleam_community@colour:colour()) -> binary().
-color(Text, Color) ->
- colour(Text, Color).
-
--spec bg_black(binary()) -> binary().
-bg_black(Text) ->
- run(Text, code([40], 49)).
-
--spec bg_red(binary()) -> binary().
-bg_red(Text) ->
- run(Text, code([41], 49)).
-
--spec bg_green(binary()) -> binary().
-bg_green(Text) ->
- run(Text, code([42], 49)).
-
--spec bg_yellow(binary()) -> binary().
-bg_yellow(Text) ->
- run(Text, code([43], 49)).
-
--spec bg_blue(binary()) -> binary().
-bg_blue(Text) ->
- run(Text, code([44], 49)).
-
--spec bg_magenta(binary()) -> binary().
-bg_magenta(Text) ->
- run(Text, code([45], 49)).
-
--spec bg_cyan(binary()) -> binary().
-bg_cyan(Text) ->
- run(Text, code([46], 49)).
-
--spec bg_white(binary()) -> binary().
-bg_white(Text) ->
- run(Text, code([47], 49)).
-
--spec bg_bright_black(binary()) -> binary().
-bg_bright_black(Text) ->
- run(Text, code([100], 49)).
-
--spec bg_bright_red(binary()) -> binary().
-bg_bright_red(Text) ->
- run(Text, code([101], 49)).
-
--spec bg_bright_green(binary()) -> binary().
-bg_bright_green(Text) ->
- run(Text, code([102], 49)).
-
--spec bg_bright_yellow(binary()) -> binary().
-bg_bright_yellow(Text) ->
- run(Text, code([103], 49)).
-
--spec bg_bright_blue(binary()) -> binary().
-bg_bright_blue(Text) ->
- run(Text, code([104], 49)).
-
--spec bg_bright_magenta(binary()) -> binary().
-bg_bright_magenta(Text) ->
- run(Text, code([105], 49)).
-
--spec bg_bright_cyan(binary()) -> binary().
-bg_bright_cyan(Text) ->
- run(Text, code([106], 49)).
-
--spec bg_bright_white(binary()) -> binary().
-bg_bright_white(Text) ->
- run(Text, code([107], 49)).
-
--spec bg_hex(binary(), integer()) -> binary().
-bg_hex(Text, Colour) ->
- run(
- Text,
- code(
- [48,
- 2,
- begin
- _pipe = erlang:'bsr'(Colour, 16),
- erlang:'band'(_pipe, 16#ff)
- end,
- begin
- _pipe@1 = erlang:'bsr'(Colour, 8),
- erlang:'band'(_pipe@1, 16#ff)
- end,
- erlang:'band'(Colour, 16#ff)],
- 49
- )
- ).
-
--spec bg_pink(binary()) -> binary().
-bg_pink(Text) ->
- bg_hex(Text, 16#ffaff3).
-
--spec bg_colour(binary(), gleam_community@colour:colour()) -> binary().
-bg_colour(Text, Colour) ->
- Hex_colour = gleam_community@colour:to_rgb_hex(Colour),
- bg_hex(Text, Hex_colour).
-
--spec bg_color(binary(), gleam_community@colour:colour()) -> binary().
-bg_color(Text, Colour) ->
- bg_colour(Text, Colour).
diff --git a/aoc2023/build/dev/erlang/gleam_community_ansi/ebin/gleam_community@ansi.beam b/aoc2023/build/dev/erlang/gleam_community_ansi/ebin/gleam_community@ansi.beam
deleted file mode 100644
index e94b760..0000000
--- a/aoc2023/build/dev/erlang/gleam_community_ansi/ebin/gleam_community@ansi.beam
+++ /dev/null
Binary files differ
diff --git a/aoc2023/build/dev/erlang/gleam_community_ansi/ebin/gleam_community_ansi.app b/aoc2023/build/dev/erlang/gleam_community_ansi/ebin/gleam_community_ansi.app
deleted file mode 100644
index 90e4d4a..0000000
--- a/aoc2023/build/dev/erlang/gleam_community_ansi/ebin/gleam_community_ansi.app
+++ /dev/null
@@ -1,8 +0,0 @@
-{application, gleam_community_ansi, [
- {vsn, "1.2.0"},
- {applications, [gleam_community_colour,
- gleam_stdlib]},
- {description, "ANSI colours, formatting, and control codes"},
- {modules, []},
- {registered, []}
-]}.