Alcor6L/PicoLisp/term
Appearance
< Alcor6L
This module contains functions for accessing ANSI-compatible terminals (and terminal emulators) from PicoLisp.
Functions
[edit | edit source]term-clrscr
[edit | edit source]Clear the screen.
(term-clrscr)
term-clreol
[edit | edit source]Clear from the current cursor position to the end of the line.
(term-clreol)
term-moveto
[edit | edit source]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
[edit | edit source]Move the cursor up.
(term-moveup delta)
- delta - number of lines to move the cursor up.
term-movedown
[edit | edit source]Move the cursor down.
(term-movedown delta)
- delta - number of lines to move the cursor down.
term-moveleft
[edit | edit source]Move the cursor left.
(term-moveleft delta)
- delta - number of columns to move the cursor left.
term-moveright
[edit | edit source]Move the cursor right.
(term-moveright delta)
- delta - number of columns to move the cursor right.
term-getlines
[edit | edit source]Get the number of lines in the terminal.
(setq numlines (term-getlines))
Returns:
- numlines - the number of lines in the terminal.
term-getcols
[edit | edit source]Get the number of columns in the terminal.
(setq numcols (term-getcols))
Returns:
- numcols - The number of columns in the terminal.
term-prinl
[edit | edit source]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
[edit | edit source]Get the current column of the cursor.
(setq cx (term-getcx))
Returns:
- cx - The column of the cursor.
term-getcy
[edit | edit source]Get the current line of the cursor.
(setq cy (term-getcy))
Returns:
- cy - The line of the cursor.
term-getchar
[edit | edit source]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 | Meaning |
---|---|
KC_UP | the UP key on the terminal |
KC_DOWN | the DOWN key on the terminal |
KC_LEFT | the LEFT key on the terminal |
KC_RIGHT | the RIGHT key on the terminal |
KC_HOME | the HOME key on the terminal |
KC_END | the END key on the terminal |
KC_PAGEUP | the PAGE UP key on the terminal |
KC_PAGEDOWN | the PAGE DOWN key on the terminal |
KC_ENTER | the ENTER (CR) key on the terminal |
KC_TAB | the TAB key on the terminal |
KC_BACKSPACE | the BACKSPACE key on the terminal |
KC_ESC | the ESC (escape) key on the terminal |