411 REFERENCE · Wikibooks
Alcor6L/PicoLisp/term
Reference material by Wikibooks contributors. This retains its source identity and is not 411 news reporting.
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:
*term-wait* - wait for a key to be pressed, then return it. This is the default behavior if mode is not specified.
*term-nowait* - 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:
Key code MeaningKC_UP the UP key on the terminalKC_DOWN the DOWN key on the terminalKC_LEFT the LEFT key on the terminalKC_RIGHT the RIGHT key on the terminalKC_HOME the HOME key on the terminalKC_END the END key on the terminalKC_PAGEUP the PAGE UP key on the terminalKC_PAGEDOWN the PAGE DOWN key on the terminalKC_ENTER the ENTER (CR) key on the terminalKC_TAB the TAB key on the terminalKC_BACKSPACE the BACKSPACE key on the terminalKC_ESC the ESC (escape) key on the terminal