package spin
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=eeef9d3b89cca796d8d47ba425cee131bf14b5b0f1349927c4d8b22297b1f6b6
sha512=1850cad87f180b37e658e716986f6aa0ba76e57d6638d40b8f6e8ae2c6f60deee82218464e02356632022b394f49cc5a341e7255112aef455ffec9ca2db4cc32
doc/spin.ansi/Ansi/index.html
Module Ansi
Source
This module offers basic control of ANSI compliant terminals and the windows shell.
The functions below do not send ANSI codes (i.e., do nothing or only print the output) when then output is not connected to a TTY. Functions providing information (such as pos_cursor
) fail when in that situation. TTY detection is configurable by changing the value of isatty
.
This library is not thread safe.
Colors and style
Available colors.
Various styles for the text. Blink
and Hidden
may not work on every terminal.
Shortcut for Hidden
Turns the autoreset feature on and off. It defaults to on.
print_string attr txt
prints the string txt
with the attibutes attr
. After printing, the attributes are automatically reseted to the defaults, unless autoreset is turned off.
Like print_string
but prints on the standard error.
printf attr format arg1 ... argN
prints the arguments arg1
,...,argN
according to format
with the attibutes attr
. After printing, the attributes are automatically reseted to the defaults, unless autoreset is turned off.
Same as printf
but prints the result on stderr
.
Same as printf
but returns the result in a string. This only works on ANSI compliant terminals — for which escape sequences are used — and not under Windows — where system calls are required. On Windows, it is identical to the standard sprintf
.
Erasing
erase Eol
clear from the cursor position to the end of the line without moving the cursor. erase Above
erases everything before the position of the cursor. erase Below
erases everything after the position of the cursor. erase Screen
erases the whole screen.
This function does not modify the position of the cursor.
Cursor
set_cursor x y
puts the cursor at position (x,y)
, x
indicating the column (the leftmost one being 1) and y
being the line (the topmost one being 1). If x <= 0
, the x
coordinate is unchanged; if y <= 0
, the y
coordinate is unchanged.
move_cursor x y
moves the cursor by x
columns (to the right if x > 0
, to the left if x < 0
) and by y
lines (downwards if y > 0
and upwards if y < 0
).
move_bol ()
moves the cursor to the beginning of the current line. This is useful for progress bars for example.
pos_cursor ()
returns a couple (x,y)
giving the current position of the cursor, x >= 1
being the column and y >= 1
the row.
save_cursor ()
saves the current position of the cursor.
show_cursor ()
show the cursor.
Not implemented on Windows.
show_cursor ()
hidex the cursor.
Not implemented on Windows.
restore_cursor ()
replaces the cursor to the position saved with save_cursor ()
.
Size
resize width height
resize the current terminal to the given width
and height
.
size ()
returns a pair (width, height)
giving the size of the terminal in character cells.
Scrolling
scroll n
scrolls the terminal by n
lines, up (creating new lines at the bottom) if n > 0
and down if n < 0
.
TTY
Function used to detect whether the current output is connected to a TTY. Defaults to Unix.isatty
.