Current section
Files
Jump to
Current section
Files
src/utils@misc.erl
-module(utils@misc).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/utils/misc.gleam").
-export([sleep/1, print_at/3, clear_screen/0, clear_line/0, hide_cursor/0, show_cursor/0, move_cursor_up/1, move_cursor_down/1, overwrite_line/1, read_line/1]).
-file("src/utils/misc.gleam", 6).
-spec sleep(integer()) -> nil.
sleep(Time) ->
gleam_erlang_ffi:sleep(Time).
-file("src/utils/misc.gleam", 10).
-spec print_at(binary(), integer(), integer()) -> nil.
print_at(Text, X, Y) ->
Escape_seq = <<<<<<<<"\x{001B}["/utf8,
(erlang:integer_to_binary(Y))/binary>>/binary,
";"/utf8>>/binary,
(erlang:integer_to_binary(X))/binary>>/binary,
"H"/utf8>>,
gleam_stdlib:print(<<Escape_seq/binary, Text/binary>>).
-file("src/utils/misc.gleam", 16).
-spec clear_screen() -> nil.
clear_screen() ->
gleam_stdlib:print(<<"\x{001B}[2J\x{001B}[H"/utf8>>).
-file("src/utils/misc.gleam", 20).
-spec clear_line() -> nil.
clear_line() ->
gleam_stdlib:print(<<"\x{001B}[2K\r"/utf8>>).
-file("src/utils/misc.gleam", 24).
-spec hide_cursor() -> nil.
hide_cursor() ->
gleam_stdlib:print(<<"\x{001B}[?25l"/utf8>>).
-file("src/utils/misc.gleam", 28).
-spec show_cursor() -> nil.
show_cursor() ->
gleam_stdlib:print(<<"\x{001B}[?25h"/utf8>>).
-file("src/utils/misc.gleam", 32).
-spec move_cursor_up(integer()) -> nil.
move_cursor_up(Lines) ->
gleam_stdlib:print(
<<<<"\x{001B}["/utf8, (erlang:integer_to_binary(Lines))/binary>>/binary,
"A"/utf8>>
).
-file("src/utils/misc.gleam", 36).
-spec move_cursor_down(integer()) -> nil.
move_cursor_down(Lines) ->
gleam_stdlib:print(
<<<<"\x{001B}["/utf8, (erlang:integer_to_binary(Lines))/binary>>/binary,
"B"/utf8>>
).
-file("src/utils/misc.gleam", 40).
-spec overwrite_line(binary()) -> nil.
overwrite_line(New_text) ->
clear_line(),
gleam_stdlib:print(New_text).
-file("src/utils/misc.gleam", 45).
-spec read_line(binary()) -> binary().
read_line(Prompt) ->
io:get_line(Prompt).