Current section

Files

Jump to
parrot src parrot@internal@colored.erl
Raw

src/parrot@internal@colored.erl

-module(parrot@internal@colored).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]).
-define(FILEPATH, "src/parrot/internal/colored.gleam").
-export([green/1, red/1, yellow/1, blue/1, magenta/1, cyan/1, rgb/4]).
-if(?OTP_RELEASE >= 27).
-define(MODULEDOC(Str), -moduledoc(Str)).
-define(DOC(Str), -doc(Str)).
-else.
-define(MODULEDOC(Str), -compile([])).
-define(DOC(Str), -compile([])).
-endif.
?MODULEDOC(false).
-file("src/parrot/internal/colored.gleam", 19).
?DOC(false).
-spec green(binary()) -> binary().
green(Text) ->
<<<<"\x{001b}[32m"/utf8, Text/binary>>/binary, "\x{001b}[0m"/utf8>>.
-file("src/parrot/internal/colored.gleam", 23).
?DOC(false).
-spec red(binary()) -> binary().
red(Text) ->
<<<<"\x{001b}[31m"/utf8, Text/binary>>/binary, "\x{001b}[0m"/utf8>>.
-file("src/parrot/internal/colored.gleam", 27).
?DOC(false).
-spec yellow(binary()) -> binary().
yellow(Text) ->
<<<<"\x{001b}[33m"/utf8, Text/binary>>/binary, "\x{001b}[0m"/utf8>>.
-file("src/parrot/internal/colored.gleam", 31).
?DOC(false).
-spec blue(binary()) -> binary().
blue(Text) ->
<<<<"\x{001b}[34m"/utf8, Text/binary>>/binary, "\x{001b}[0m"/utf8>>.
-file("src/parrot/internal/colored.gleam", 35).
?DOC(false).
-spec magenta(binary()) -> binary().
magenta(Text) ->
<<<<"\x{001b}[35m"/utf8, Text/binary>>/binary, "\x{001b}[0m"/utf8>>.
-file("src/parrot/internal/colored.gleam", 39).
?DOC(false).
-spec cyan(binary()) -> binary().
cyan(Text) ->
<<<<"\x{001b}[36m"/utf8, Text/binary>>/binary, "\x{001b}[0m"/utf8>>.
-file("src/parrot/internal/colored.gleam", 43).
?DOC(false).
-spec rgb(binary(), integer(), integer(), integer()) -> binary().
rgb(Text, R, G, B) ->
<<<<<<<<<<<<<<<<"\x{001b}[38;2;"/utf8,
(erlang:integer_to_binary(
gleam@int:clamp(R, 0, 255)
))/binary>>/binary,
";"/utf8>>/binary,
(erlang:integer_to_binary(
gleam@int:clamp(G, 0, 255)
))/binary>>/binary,
";"/utf8>>/binary,
(erlang:integer_to_binary(gleam@int:clamp(B, 0, 255)))/binary>>/binary,
"m"/utf8>>/binary,
Text/binary>>/binary,
"\x{001b}[0m"/utf8>>.