Package org.jline.utils
Class AnsiWriter
java.lang.Object
java.io.Writer
java.io.FilterWriter
org.jline.utils.AnsiWriter
- All Implemented Interfaces:
Closeable,Flushable,Appendable,AutoCloseable
- Direct Known Subclasses:
WindowsAnsiWriter,WindowsAnsiWriter
A ANSI writer extracts ANSI escape codes written to
a
Writer and calls corresponding process* methods.
For more information about ANSI escape codes, see:
http://en.wikipedia.org/wiki/ANSI_escape_code
This class just filters out the escape codes so that they are not
sent out to the underlying Writer: process* methods
are empty. Subclasses should actually perform the ANSI escape behaviors
by implementing active code in process* methods.- Since:
- 1.0
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final intprotected static final intprotected static final intprotected static final intprotected static final intprotected static final intprotected static final intprotected static final intprotected static final intprotected static final intDeprecated.protected static final intprotected static final intprotected static final intprotected static final intprotected static final intprivate static final intprotected static final intprotected static final intprivate final char[]protected static final intprotected static final intprotected static final intprotected static final intprotected static final intprotected static final intprotected static final intprivate static final intprotected static final intprivate static final intprivate static final intprivate static final intprivate static final intprivate static final intprivate static final intprivate static final intprivate static final intprivate static final intprivate static final intprotected static final intprivate static final intprivate intprotected static final intprivate static final char[]private static final intprivate static final intprivate static final intprivate static final intprivate static final intprivate int(package private) intprotected static final intprotected static final intFields inherited from class java.io.FilterWriter
out -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()private intgetNextOptionInt(Iterator<Object> optionsIterator) Helper for processEscapeCommand() to iterate over integer optionsprivate intprivate intprotected voidprocessSGR 0corresponding toReset / Normalprotected voidprocessChangeIconName(String name) processOSC 1;text BELcorresponding toChange Icon labelprotected voidprocessOSC 0;text BELcorresponding toChange Window and Icon labelprotected voidprocessChangeWindowTitle(String title) processOSC 2;text BELcorresponding toChange Window titleprotected voidprocessCharsetSelect(int set, char seq) private booleanprocessCharsetSelect(ArrayList<Object> options) Process character set sequence.protected voidprocessCursorDown(int count) processCSI n Bcorresponding toCUD – Cursor Downprotected voidprocessCursorDownLine(int count) processCSI n Ecorresponding toCNL – Cursor Next Lineprotected voidprocessCursorLeft(int count) processCSI n Dcorresponding toCUB – Cursor Backprotected voidprocessCursorRight(int count) processCSI n Ccorresponding toCUF – Cursor Forwardprotected voidprocessCursorTo(int row, int col) processCSI n ; m Hcorresponding toCUP – Cursor PositionorCSI n ; m fcorresponding toHVP – Horizontal and Vertical Positionprotected voidprocessCursorToColumn(int x) processCSI n Gcorresponding toCHA – Cursor Horizontal Absoluteprotected voidprocessCursorUp(int count) processCSI n Acorresponding toCUU – Cursor Upprotected voidprocessCursorUpLine(int count) processCSI n Fcorresponding toCPL – Cursor Previous Lineprotected voidprocessSGR 49corresponding toDefault background colorprotected voidprocessSGR 39corresponding toDefault text color (foreground)protected voidprocessDeleteLine(int optionInt) ProcessCSI sANSI code, corresponding toDL – Delete Lineprotected voidprocessEraseLine(int eraseOption) ProcessCSI n KANSI code, corresponding toED – Erase in Lineprotected voidprocessEraseScreen(int eraseOption) ProcessCSI n JANSI code, corresponding toED – Erase in Displayprivate booleanprocessEscapeCommand(ArrayList<Object> options, int command) Process escape commandprotected voidprocessInsertLine(int optionInt) ProcessCSI sANSI code, corresponding toIL – Insert Lineprivate booleanprocessOperatingSystemCommand(ArrayList<Object> options) Process operating system command.protected voidProcessCSI uANSI code, corresponding toRCP – Restore Cursor Positionprotected voidProcessCSI sANSI code, corresponding toSCP – Save Cursor Positionprotected voidprocessScrollDown(int optionInt) ProcessCSI n TANSI code, corresponding toSD – Scroll Downprotected voidprocessScrollUp(int optionInt) ProcessCSI n UANSI code, corresponding toSU – Scroll Upprotected voidprocessSetAttribute(int attribute) processSGRother than0(reset),30-39(foreground),40-49(background),90-97(foreground high intensity) or100-107(background high intensity)protected voidprocessSetBackgroundColor(int color) processSGR 40-47corresponding toSet background color.protected voidprocessSetBackgroundColor(int color, boolean bright) processSGR 40-47orSGR 100-107corresponding toSet background coloreither in normal mode or high intensity.protected voidprocessSetBackgroundColorExt(int paletteIndex) processSGR 48corresponding toextended set background colorwith a palette of 255 colors.protected voidprocessSetBackgroundColorExt(int r, int g, int b) processSGR 48corresponding toextended set background colorwith a 24 bits RGB definition of the color.protected voidprocessSetForegroundColor(int color) processSGR 30-37corresponding toSet text color (foreground).protected voidprocessSetForegroundColor(int color, boolean bright) processSGR 30-37orSGR 90-97corresponding toSet text color (foreground)either in normal mode or high intensity.protected voidprocessSetForegroundColorExt(int paletteIndex) processSGR 38corresponding toextended set text color (foreground)with a palette of 255 colors.protected voidprocessSetForegroundColorExt(int r, int g, int b) processSGR 38corresponding toextended set text color (foreground)with a 24 bits RGB definition of the color.protected voidprocessUnknownExtension(ArrayList<Object> options, int command) protected voidprocessUnknownOperatingSystemCommand(int command, String param) Process unknownOSCcommand.private voidreset(boolean skipBuffer) Resets all state to continue with regular parsingvoidwrite(char[] cbuf, int off, int len) voidwrite(int data) voidMethods inherited from class java.io.FilterWriter
flush
-
Field Details
-
RESET_CODE
private static final char[] RESET_CODE -
MAX_ESCAPE_SEQUENCE_LENGTH
private static final int MAX_ESCAPE_SEQUENCE_LENGTH- See Also:
-
buffer
private final char[] buffer -
pos
private int pos -
startOfValue
private int startOfValue -
options
-
LOOKING_FOR_FIRST_ESC_CHAR
private static final int LOOKING_FOR_FIRST_ESC_CHAR- See Also:
-
LOOKING_FOR_SECOND_ESC_CHAR
private static final int LOOKING_FOR_SECOND_ESC_CHAR- See Also:
-
LOOKING_FOR_NEXT_ARG
private static final int LOOKING_FOR_NEXT_ARG- See Also:
-
LOOKING_FOR_STR_ARG_END
private static final int LOOKING_FOR_STR_ARG_END- See Also:
-
LOOKING_FOR_INT_ARG_END
private static final int LOOKING_FOR_INT_ARG_END- See Also:
-
LOOKING_FOR_OSC_COMMAND
private static final int LOOKING_FOR_OSC_COMMAND- See Also:
-
LOOKING_FOR_OSC_COMMAND_END
private static final int LOOKING_FOR_OSC_COMMAND_END- See Also:
-
LOOKING_FOR_OSC_PARAM
private static final int LOOKING_FOR_OSC_PARAM- See Also:
-
LOOKING_FOR_ST
private static final int LOOKING_FOR_ST- See Also:
-
LOOKING_FOR_CHARSET
private static final int LOOKING_FOR_CHARSET- See Also:
-
state
int state -
FIRST_ESC_CHAR
private static final int FIRST_ESC_CHAR- See Also:
-
SECOND_ESC_CHAR
private static final int SECOND_ESC_CHAR- See Also:
-
SECOND_OSC_CHAR
private static final int SECOND_OSC_CHAR- See Also:
-
BEL
private static final int BEL- See Also:
-
SECOND_ST_CHAR
private static final int SECOND_ST_CHAR- See Also:
-
SECOND_CHARSET0_CHAR
private static final int SECOND_CHARSET0_CHAR- See Also:
-
SECOND_CHARSET1_CHAR
private static final int SECOND_CHARSET1_CHAR- See Also:
-
ERASE_SCREEN_TO_END
protected static final int ERASE_SCREEN_TO_END- See Also:
-
ERASE_SCREEN_TO_BEGINING
protected static final int ERASE_SCREEN_TO_BEGINING- See Also:
-
ERASE_SCREEN
protected static final int ERASE_SCREEN- See Also:
-
ERASE_LINE_TO_END
protected static final int ERASE_LINE_TO_END- See Also:
-
ERASE_LINE_TO_BEGINING
protected static final int ERASE_LINE_TO_BEGINING- See Also:
-
ERASE_LINE
protected static final int ERASE_LINE- See Also:
-
ATTRIBUTE_INTENSITY_BOLD
protected static final int ATTRIBUTE_INTENSITY_BOLD- See Also:
-
ATTRIBUTE_INTENSITY_FAINT
protected static final int ATTRIBUTE_INTENSITY_FAINT- See Also:
-
ATTRIBUTE_ITALIC
protected static final int ATTRIBUTE_ITALIC- See Also:
-
ATTRIBUTE_UNDERLINE
protected static final int ATTRIBUTE_UNDERLINE- See Also:
-
ATTRIBUTE_BLINK_SLOW
protected static final int ATTRIBUTE_BLINK_SLOW- See Also:
-
ATTRIBUTE_BLINK_FAST
protected static final int ATTRIBUTE_BLINK_FAST- See Also:
-
ATTRIBUTE_NEGATIVE_ON
protected static final int ATTRIBUTE_NEGATIVE_ON- See Also:
-
ATTRIBUTE_CONCEAL_ON
protected static final int ATTRIBUTE_CONCEAL_ON- See Also:
-
ATTRIBUTE_UNDERLINE_DOUBLE
protected static final int ATTRIBUTE_UNDERLINE_DOUBLE- See Also:
-
ATTRIBUTE_INTENSITY_NORMAL
protected static final int ATTRIBUTE_INTENSITY_NORMAL- See Also:
-
ATTRIBUTE_UNDERLINE_OFF
protected static final int ATTRIBUTE_UNDERLINE_OFF- See Also:
-
ATTRIBUTE_BLINK_OFF
protected static final int ATTRIBUTE_BLINK_OFF- See Also:
-
ATTRIBUTE_NEGATIVE_Off
Deprecated.- See Also:
-
ATTRIBUTE_NEGATIVE_OFF
protected static final int ATTRIBUTE_NEGATIVE_OFF- See Also:
-
ATTRIBUTE_CONCEAL_OFF
protected static final int ATTRIBUTE_CONCEAL_OFF- See Also:
-
BLACK
protected static final int BLACK- See Also:
-
RED
protected static final int RED- See Also:
-
GREEN
protected static final int GREEN- See Also:
-
YELLOW
protected static final int YELLOW- See Also:
-
BLUE
protected static final int BLUE- See Also:
-
MAGENTA
protected static final int MAGENTA- See Also:
-
CYAN
protected static final int CYAN- See Also:
-
WHITE
protected static final int WHITE- See Also:
-
-
Constructor Details
-
AnsiWriter
-
-
Method Details
-
write
- Overrides:
writein classFilterWriter- Throws:
IOException
-
reset
Resets all state to continue with regular parsing- Parameters:
skipBuffer- if current buffer should be skipped or written to out- Throws:
IOException- if an error occurs
-
getNextOptionInt
Helper for processEscapeCommand() to iterate over integer options- Parameters:
optionsIterator- the underlying iterator- Throws:
IOException- if no more non-null values left
-
processEscapeCommand
Process escape command- Parameters:
options- the list of optionscommand- the command- Returns:
- true if the escape command was processed.
- Throws:
IOException- if an error occurs
-
processOperatingSystemCommand
Process operating system command.- Parameters:
options- the options list- Returns:
- true if the operating system command was processed.
- Throws:
IOException
-
processRestoreCursorPosition
ProcessCSI uANSI code, corresponding toRCP – Restore Cursor Position- Throws:
IOException- if an error occurs
-
processSaveCursorPosition
ProcessCSI sANSI code, corresponding toSCP – Save Cursor Position- Throws:
IOException- if an error occurs
-
processInsertLine
ProcessCSI sANSI code, corresponding toIL – Insert Line- Parameters:
optionInt- the option- Throws:
IOException- if an error occurs
-
processDeleteLine
ProcessCSI sANSI code, corresponding toDL – Delete Line- Parameters:
optionInt- the option- Throws:
IOException- if an error occurs
-
processScrollDown
ProcessCSI n TANSI code, corresponding toSD – Scroll Down- Parameters:
optionInt- the option- Throws:
IOException- if an error occurs
-
processScrollUp
ProcessCSI n UANSI code, corresponding toSU – Scroll Up- Parameters:
optionInt- the option- Throws:
IOException- if an error occurs
-
processEraseScreen
ProcessCSI n JANSI code, corresponding toED – Erase in Display- Parameters:
eraseOption- the erase option- Throws:
IOException- if an error occurs
-
processEraseLine
ProcessCSI n KANSI code, corresponding toED – Erase in Line- Parameters:
eraseOption- the erase option- Throws:
IOException- if an error occurs
-
processSetAttribute
processSGRother than0(reset),30-39(foreground),40-49(background),90-97(foreground high intensity) or100-107(background high intensity)- Parameters:
attribute- the attribute to set- Throws:
IOException- if an error occurs- See Also:
-
processSetForegroundColor
processSGR 30-37corresponding toSet text color (foreground).- Parameters:
color- the text color- Throws:
IOException- if an error occurs
-
processSetForegroundColor
processSGR 30-37orSGR 90-97corresponding toSet text color (foreground)either in normal mode or high intensity.- Parameters:
color- the text colorbright- is high intensity?- Throws:
IOException- if an error occurs
-
processSetForegroundColorExt
processSGR 38corresponding toextended set text color (foreground)with a palette of 255 colors.- Parameters:
paletteIndex- the text color in the palette- Throws:
IOException- if an error occurs
-
processSetForegroundColorExt
processSGR 38corresponding toextended set text color (foreground)with a 24 bits RGB definition of the color.- Parameters:
r- redg- greenb- blue- Throws:
IOException- if an error occurs
-
processSetBackgroundColor
processSGR 40-47corresponding toSet background color.- Parameters:
color- the background color- Throws:
IOException- if an error occurs
-
processSetBackgroundColor
processSGR 40-47orSGR 100-107corresponding toSet background coloreither in normal mode or high intensity.- Parameters:
color- the background colorbright- is high intensity?- Throws:
IOException- if an error occurs
-
processSetBackgroundColorExt
processSGR 48corresponding toextended set background colorwith a palette of 255 colors.- Parameters:
paletteIndex- the background color in the palette- Throws:
IOException- if an error occurs
-
processSetBackgroundColorExt
processSGR 48corresponding toextended set background colorwith a 24 bits RGB definition of the color.- Parameters:
r- redg- greenb- blue- Throws:
IOException- if an error occurs
-
processDefaultTextColor
processSGR 39corresponding toDefault text color (foreground)- Throws:
IOException- if an error occurs
-
processDefaultBackgroundColor
processSGR 49corresponding toDefault background color- Throws:
IOException- if an error occurs
-
processAttributeRest
processSGR 0corresponding toReset / Normal- Throws:
IOException- if an error occurs
-
processCursorTo
processCSI n ; m Hcorresponding toCUP – Cursor PositionorCSI n ; m fcorresponding toHVP – Horizontal and Vertical Position- Parameters:
row- the rowcol- the column- Throws:
IOException- if an error occurs
-
processCursorToColumn
processCSI n Gcorresponding toCHA – Cursor Horizontal Absolute- Parameters:
x- the column- Throws:
IOException- if an error occurs
-
processCursorUpLine
processCSI n Fcorresponding toCPL – Cursor Previous Line- Parameters:
count- line count- Throws:
IOException- if an error occurs
-
processCursorDownLine
processCSI n Ecorresponding toCNL – Cursor Next Line- Parameters:
count- line count- Throws:
IOException- if an error occurs
-
processCursorLeft
processCSI n Dcorresponding toCUB – Cursor Back- Parameters:
count- the count- Throws:
IOException- if an error occurs
-
processCursorRight
processCSI n Ccorresponding toCUF – Cursor Forward- Parameters:
count- the count- Throws:
IOException- if an error occurs
-
processCursorDown
processCSI n Bcorresponding toCUD – Cursor Down- Parameters:
count- the count- Throws:
IOException- if an error occurs
-
processCursorUp
processCSI n Acorresponding toCUU – Cursor Up- Parameters:
count- the count- Throws:
IOException- if an error occurs
-
processUnknownExtension
-
processChangeIconNameAndWindowTitle
processOSC 0;text BELcorresponding toChange Window and Icon label- Parameters:
label- the label
-
processChangeIconName
processOSC 1;text BELcorresponding toChange Icon label- Parameters:
name- the icon name
-
processChangeWindowTitle
processOSC 2;text BELcorresponding toChange Window title- Parameters:
title- the title
-
processUnknownOperatingSystemCommand
Process unknownOSCcommand.- Parameters:
command- the commandparam- the param
-
processCharsetSelect
Process character set sequence.- Parameters:
options-- Returns:
- true if the charcter set select command was processed.
- Throws:
IOException
-
processCharsetSelect
protected void processCharsetSelect(int set, char seq) -
optionInt
-
optionInt
-
write
- Overrides:
writein classFilterWriter- Throws:
IOException
-
write
- Overrides:
writein classFilterWriter- Throws:
IOException
-
close
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Overrides:
closein classFilterWriter- Throws:
IOException
-