Moduleansi-terminal-types-1.1.3Haskell2010
System.Console.ANSI.Codes
This module exports functions that return String values containing codes
in accordance with the 'ANSI' standards for control character sequences
described in the documentation of module System.Console.ANSI.
Contents
- Basic data types
- Cursor movement by character
- Cursor movement by line
- Directly changing cursor position
- Saving, restoring and reporting cursor position
- Clearing parts of the screen
- Enabling and disabling automatic line wrapping
- Scrolling the screen
- Using screen buffers
- Reporting background or foreground colors
- Select Graphic Rendition mode: colors and other whizzy stuff
- Cursor visibilty changes
- Hyperlinks
- Changing the title
- Utilities
Synopsis
- value cursorUpCode
- value cursorDownCode
- value cursorForwardCode
- value cursorBackwardCode
- value cursorUpLineCode
- value cursorDownLineCode
- value setCursorColumnCode
- value setCursorPositionCode
- value saveCursorCode
- value restoreCursorCode
- value reportCursorPositionCode
- value clearFromCursorToScreenEndCode
- value clearFromCursorToScreenBeginningCode
- value clearScreenCode
- value clearFromCursorToLineEndCode
- value clearFromCursorToLineBeginningCode
- value clearLineCode
- value enableLineWrapCode
- value disableLineWrapCode
- value scrollPageUpCode
- value scrollPageDownCode
- value useAlternateScreenBufferCode
- value useNormalScreenBufferCode
- value reportLayerColorCode
- value setSGRCode
- value hideCursorCode
- value showCursorCode
- value hyperlinkCode
- value hyperlinkWithIdCode
- value hyperlinkWithParamsCode
- value setTitleCode
- value colorToCode
- type Parameter
- type SubParam
- type ParamWithSubs
- value csi
- value csi'
- value osc
- value sgrToCode
- value sgrToCode'
- Packageansi-terminal-types-1.1.3
- Exports40
- LanguageHaskell2010
- LicenceBSD-3-Clause
- SourceCodes.hs
Basic data types
module System.Console.ANSI.Types
Cursor movement by character
These functions yield "" when the number is 0 as, on some
terminals, a 0 parameter for the underlying 'ANSI' code specifies a
default parameter of 1.
Cursor movement by line
These functions yield the equivalent of setCursorColumnCode 0 when
the number is 0 as, on some terminals, a 0 parameter for the
underlying 'ANSI' code specifies a default parameter of 1.
Directly changing cursor position
Code to move the cursor to the specified column. The column numbering is 0-based (that is, the left-most column is numbered 0).
Code to move the cursor to the specified position (row and column). The position is 0-based (that is, the top-left corner is at row 0 column 0).
Saving, restoring and reporting cursor position
Code to emit the cursor position into the console input stream, immediately
after being recognised on the output stream, as:
ESC [ <cursor row> ; <cursor column> R
Note that the information that is emitted is 1-based (the top-left corner is at row 1 column 1) but setCursorPositionCode is 0-based.
In isolation of System.Console.ANSI.getReportedCursorPosition or
System.Console.ANSI.getCursorPosition, this function may be of limited use
on Windows operating systems because of difficulties in obtaining the data
emitted into the console input stream.
Clearing parts of the screen
Enabling and disabling automatic line wrapping
These functions control whether or not characters automatically wrap to the next line when the cursor reaches the right border.
Scrolling the screen
These functions yield "" when the number is 0 as, on some
terminals, a 0 parameter for the underlying 'ANSI' code specifies a
default parameter of 1.
Using screen buffers
Reporting background or foreground colors
Code to emit the foreground or backgrond layer color into the console input stream, immediately after being recognised on the output stream, as:
ESC ] <Ps> ; rgb: <red> ; <green> ; <blue> <ST>where <Ps> is 10 for Foreground and 11 for Background; <red>,
<green> and <blue> are the color channel values in hexadecimal (4, 8,
12 and 16 bit values are possible, although 16 bit values are most common);
and <ST> is the STRING TERMINATOR (ST). ST depends on the terminal
software and may be the BEL character or ESC \ characters.
This function may be of limited, or no, use on Windows operating systems
because (1) the control character sequence is not supported on native
terminals (2) of difficulties in obtaining the data emitted into the
console input stream. See System.Console.ANSI.getReportedLayerColor.
Underlining is not supported.
Select Graphic Rendition mode: colors and other whizzy stuff
setSGRCode Cursor visibilty changes
Hyperlinks
Some, but not all, terminals support hyperlinks - that is, clickable text that points to a URI.
Code to introduce a hyperlink.
hyperlinkWithIdCode Code to introduce a hyperlink with an identifier for the link. Some terminals support an identifier, so that hyperlinks with the same identifier are treated as connected.
Code to introduce a hyperlink with (key, value) parameters. Some terminals
support an id parameter key, so that hyperlinks with the same id value
are treated as connected.
Changing the title
Code to set the terminal window title and the icon name (that is, the text for the window in the Start bar, or similar).
Utilities
colorToCode color returns the 0-based index of the color (one of the
eight colors in the ANSI standard).
Type synonym representing parameter values (without parameter substrings). To represent a paramater value followed by a parameter substring, see ParamWithSubs.
Type synonym representing parameter elements of a parameter substring. An empty parameter element (which represents a default value for the parameter element) has value Nothing.
Type synonym representing parameter values optionally followed by a parameter substring. Parameter substrings were introduced by 13.1.8 of T.416 (03/93) for SGR parameter values 38 and 48 and have subsequently been adapted for other uses.
csi csi parameters controlFunction, where parameters is a list of Int,
returns the control sequence comprising the control function CONTROL
SEQUENCE INTRODUCER (CSI) followed by the parameter(s) (separated by ';')
and ending with the controlFunction character(s) that identifies the
control function. See csi' for a function that handles parameter values
that may be followed by a parameter substring.
csi' :: [ParamWithSubs]List of parameters (each of which may be followed by a parameter substring).
-> StringCharacters(s) that identify the control function.
-> String
Like csi but extended to parameters that may be followed by a parameter
substring. The parameter elements of a parameter substring are separated from
the parameter value and each other by ':'.
osc parameterS parametersT, where parameterS specifies the type of
operation to perform and parametersT is the other parameter(s) (if any),
returns the control sequence comprising the control function OPERATING SYSTEM
COMMAND (OSC) followed by the parameters (separated by ';') and ending with
the STRING TERMINATOR (ST) "\ESC\\".
sgrToCode sgr returns the parameter of the SELECT GRAPHIC RENDITION
(SGR) aspect identified by sgr. If the parameter is followed by a parameter
substring returns an empty list. See sgrToCode' for a function that handles
also parameter values that are followed by a parameter substring.
sgrToCode' sgr returns the parameter of the SELECT GRAPHIC RENDITION
(SGR) aspect identified by sgr.