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

Functions edit

term.clrscr edit

Clear the screen

term.clrscr()

term.clreol edit

Clear from the current cursor position to the end of the line

term.clreol()

term.moveto edit

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

Move the cursor up

term.moveup( delta )
  • delta - number of lines to move the cursor up.

term.movedown edit

Move the cursor down

term.movedown( delta )
  • delta - number of lines to move the cursor down

term.moveleft edit

Move the cursor left

term.moveleft( delta )
  • delta - number of columns to move the cursor left

term.moveright edit

Move the cursor right

term.moveright( delta )
  • delta - number of columns to move the cursor right

term.getlines edit

Get the number of lines in the terminal

numlines = term.getlines()

Returns:

  • numlines - The number of lines in the terminal

term.getcols edit

Get the number of columns in the terminal

numcols = term.getcols()

Returns:

  • numcols - The number of columns in the terminal

term.print edit

Write one or more strings in the terminal

term.print( [ x, y ], str1, [ str2, ..., strn ] )
  • x (optional) - write the string at this column. If x is specified, y must also be specified
  • y (optional) - write the string at this line. If y is specified, x must also be specified
  • str1 - the first string to write
  • str2 (optional) - the second string to write
  • strn (optional) - the nth string to write

getcx edit

Get the current column of the cursor

cx = term.getcx()

Returns:

  • cx - The column of the cursor

term.getcy edit

Get the current line of the cursor

cy = term.getcy()

Returns:

  • cy - The line of the cursor

term.getchar edit

Read a char (a key press) from the terminal

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 behaviour if mode is not specified.
    • term.NOWAIT - if a key was pressed on the terminal return it, otherwise return -1.

Returns:

  • ch - The char read from a terminal or -1 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