____ ____ ____ ____ ||n |||i |||m |||f || ||__|||__|||__|||__|| |/__\|/__\|/__\|/__\|
The term module provides some simple helpers for working with terminals. Mostly in the form of rendering escape codes. Note that the `winsize` word, which gets the number of rows and cols for the current terminal, is a nimf builtin and is thus not a part of this module. Words in the term module are generally prefixed with `term.`.
Do note that not all terminals support all behaviors or escape codes and the response to the words in this module may vary from system to system, though most should be pretty well supported at time of writing.
Signature: ( ch n -- _ )
Description: Eats a value and a character from TOS. Outputs an escape code with the [ followed by the value and the char. Leaves nothing on the stack. This is mostly useful for simple escape sequences in the csi block of escapes, such as turning on bold text or the like and is used in many of the helpers found in the term module.
Signature: ( sptr -- _ )
Description: Eats a string pointer from TOS. Outputs an escape code beginning with `[` and followed by the string found at the sptr. Generally useful for csi output, but can be used for more than just a single value. This is a convenience word and the result can easily be achieved, but more broadly for any escape code, by just printing a string containing the escape code.
Signature: ( row col -- _ )
Description: Eats a col and a row value from TOS and moves the cursor to those coordinates. Leaves nothing on the stack.
Signature: ( _ -- _ )
Description: Clears the terminal screen and moves the cursor to the top left. Takes nothing from the stack and leaves nothing on the stack.
Signature: ( _ -- _ )
Description: Outputs an escape code toggling on bold text for the current terminal. Takes nothing from the stack and leaves nothing on the stack.
Signature: ( _ -- _ )
Description: Outputs an escape code toggling on faint text for the current terminal. Takes nothing from the stack and leaves nothing on the stack.
Signature: ( _ -- _ )
Description: Outputs an escape code removing bold or faint text for the current terminal. Takes nothing from the stack and leaves nothing on the stack.
Signature: ( _ -- _ )
Description: Outputs an escape code toggling on reverse text for the current terminal. Takes nothing from the stack and leaves nothing on the stack.
Signature: ( _ -- _ )
Description: Outputs an escape code toggling off reverse text for the current terminal. Takes nothing from the stack and leaves nothing on the stack.
Signature: ( _ -- _ )
Description: Outputs an escape code removing all text styling for the current terminal. Takes nothing from the stack and leaves nothing on the stack.
Signature: ( _ -- _ )
Description: Outputs an escape code toggling off the cursor indicator for the current terminal. Takes nothing from the stack and leaves nothing on the stack.
Signature: ( _ -- _ )
Description: Outputs an escape code toggling on the cursor indicator for the current terminal. Takes nothing from the stack and leaves nothing on the stack.
Signature: ( _ -- _ )
Description: Rings the terminal bell. Takes nothing from the stack and leaves nothing on the stack.