IANSI
The IANSI Utility - a "\x1b[2J\x1b[0:0HHello World!"
recognizer.
- Usage: A list of all command line parameters.
- Comments: Important things every user should have read at least once.
- Sequences: Only a subset of ANSI terminal escape sequences is supported.
- Versions: All is flux, nothing stays still. Heraclitus
Usage:
yourprogram | iansi [-x columns] [-y lines] [-w] [-d]
- -x
- The number of columns/width used for writing
- -y
- The number of lines/height used for writing
- -w
- Enable wrap at end of screen
- -d
- Enable debug output (requires DbgView)
Comments:
The provided screen size is read from the ITERM file, specified by the ITERM environment variable. It is possible to overwrite these values with the command line arguments e.g. the command line has a higher preference than the values from the ITERM file. For more information about ITERM see the INMOS toolset documentation. It no information is available a screen size of 80x25 is supposed.
The command window size must be greater or equal to the specified screen size. If the command window has more lines, only the specified lines are used. If required, the upper lines will scrolled up. If the command window has more columns, all columns will be cleared but not used.
The output stream is not redirectable. All error messages are written to the standard error devices. This stream can be redirected.
The used codepage and color are derived from the current settings of the
Windows Command Processor. To change this settings use the commands chcp
and color
. It's also possible to change the colors with the properties
dialog from the system menu of the Command Processor window.
Do not change the screen size while this program is running. The result is undefined.
Some tools clears there screen when they are finished. If you have a big screen buffer to preserve the previous output, this will result in a meaningless black area instead of the maybe useful last output.
The CTRL+C input is ignored. To abort IANSI, use CTRL+BREAK.
Control sequences:
--- --- --- - ---------------------------------------------------- Oct Dec Hex C Description --- --- --- - ---------------------------------------------------- 101 65 x41 A CUU - CUrsor Up [A = Move up one line [9A = Move up 9 Default: 1 Stop at top of screen --- --- --- - ---------------------------------------------------- 102 66 x42 B CUD - CUrsor Down [B = Move down one line [2B = Move down 2 Default: 1 Stop at bottom of screen --- --- --- - ---------------------------------------------------- 103 67 x43 C CUF - CUrsor Forward [C = Move forward one position [4C = Move forward 4 Default: 1 Stop at right edge of screen --- --- --- - ---------------------------------------------------- 104 68 x44 D CUB - CUrsor Backward [D = Same as BackSpace [3D = Move backward three positions Default: 1 Stop at left edge of screen --- --- --- - ---------------------------------------------------- 110 72 x48 H CUP - CUrsor Position [H = Home [24;80H = Row 24, Column 80 Default: 0;0 Clip to screen size --- --- --- - ---------------------------------------------------- 112 74 x4A J ED - Erase in Display [J = Erase from current position to end [1J = Erase from beginning to current position [2J = Erase entire display Default: 0 Cursor does not move Erase includes current position --- --- --- - ---------------------------------------------------- 113 75 x4B K EL - Erase in Line [K = Erase from current position to end [1K = Erase from beginning to current position [2K = Erase entire current line Default: 0 Cursor does not move Erase includes current position --- --- --- - ---------------------------------------------------- 114 76 x4C L IL - Insert Line [L = Insert one line [3L = Insert 3 Default: 1 Cursor move to the leftmost position Current line moves down --- --- --- - ---------------------------------------------------- 115 77 x4D M DL - Delete Line [M = Delete one line [2M = Delete 2 Default: 1 Cursor move to the leftmost position Lines below current move up --- --- --- - ---------------------------------------------------- 100 64 x40 @ ICH - Insert CHaracter at current position [@ = Make room for one character [10@ = Make room for 10 Default: 1 Cursor does not move Current character moves right --- --- --- - ---------------------------------------------------- 120 80 x50 P DCH - Delete Character from current position [P = Delete one character [4P = Delete 4 Default: 1 Cursor does not move Character to the right moves left
The following final bytes have been implemented also. They are embedded because ansi.sys
also supports them.
The INMOS tools don't use them.
--- --- --- - ---------------------------------------------------- Oct Dec Hex C Description --- --- --- - ---------------------------------------------------- 146 102 x66 f HVP - Horizontal Vertical Position same as CUP --- --- --- - ---------------------------------------------------- 163 115 x73 s Store cursor (private final byte) no parameters --- --- --- - ---------------------------------------------------- 165 117 x75 u Restore cursor (private final byte) no parameters
Versions:
This is version 1.0.0.0. Everything before is incomplete.