Alcor6L/PicoLisp/term

This module contains functions for accessing ANSI-compatible terminals (and terminal emulators) from PicoLisp.

=Functions=

term-clrscr
Clear the screen.

(term-clrscr)

term-clreol
Clear from the current cursor position to the end of the line.

(term-clreol)

term-moveto
Move the cursor to the specified coordinates.

(term-moveto x y)


 * x - the column (starting with 1)
 * y - the line (starting with 1)

term-moveup
Move the cursor up.

(term-moveup delta)


 * delta - number of lines to move the cursor up.

term-movedown
Move the cursor down.

(term-movedown delta)


 * delta - number of lines to move the cursor down.

term-moveleft
Move the cursor left.

(term-moveleft delta)


 * delta - number of columns to move the cursor left.

term-moveright
Move the cursor right.

(term-moveright delta)


 * delta - number of columns to move the cursor right.

term-getlines
Get the number of lines in the terminal.

(setq numlines (term-getlines))

Returns:
 * numlines - the number of lines in the terminal.

term-getcols
Get the number of columns in the terminal.

(setq numcols (term-getcols))

Returns:
 * numcols - The number of columns in the terminal.

term-prinl
Write one or more (PicoLisp) values in the terminal.

(term-prinl [x y] any1 [any2 ... anyn])


 * x (optional) - write any PicoLisp value at this column. If x is specified, y must also be specified
 * y (optional) - write any PicoLisp value at this line. If y is specified, x must also be specified
 * any1 - the first PicoLisp value to write (could be a number, a list or a transient symbol).
 * any2 (optional) - the second PicoLisp value to write.
 * anyn (optional) - the nth PicoLisp value to write.

term-getcx
Get the current column of the cursor.

(setq cx (term-getcx))

Returns:
 * cx - The column of the cursor.

term-getcy
Get the current line of the cursor.

(setq cy (term-getcy))

Returns:
 * cy - The line of the cursor.

term-getchar
Read a char (a key press) from the terminal.

(setq ch (term-getchar ['mode]))


 * mode (optional) - terminal input mode. It can be either:
 * - wait for a key to be pressed, then return it. This is the default behavior if mode is not specified.
 * - if a key was pressed on the terminal return it, otherwise return NIL.

Returns:
 * ch - The char read from a terminal or NIL if no char is available. The 'char' can be an actual ASCII char, or a 'pseudo-char' which encodes special keys on the keyboard. The list of the special chars and their meaning is given in the table below: