- 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
public class AnsiWriter extends FilterWriter
A ANSI writer extracts ANSI escape codes written to aWriterand calls correspondingprocess*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 underlyingWriter:process*methods are empty. Subclasses should actually perform the ANSI escape behaviors by implementing active code inprocess*methods.- Since:
- 1.0
- Author:
- Hiram Chirino, Joris Kuipers
-
-
Field Summary
Fields Modifier and Type Field Description protected static intATTRIBUTE_BLINK_FASTprotected static intATTRIBUTE_BLINK_OFFprotected static intATTRIBUTE_BLINK_SLOWprotected static intATTRIBUTE_CONCEAL_OFFprotected static intATTRIBUTE_CONCEAL_ONprotected static intATTRIBUTE_INTENSITY_BOLDprotected static intATTRIBUTE_INTENSITY_FAINTprotected static intATTRIBUTE_INTENSITY_NORMALprotected static intATTRIBUTE_ITALICprotected static intATTRIBUTE_NEGATIVE_OffDeprecated.protected static intATTRIBUTE_NEGATIVE_OFFprotected static intATTRIBUTE_NEGATIVE_ONprotected static intATTRIBUTE_UNDERLINEprotected static intATTRIBUTE_UNDERLINE_DOUBLEprotected static intATTRIBUTE_UNDERLINE_OFFprotected static intBLACKprotected static intBLUEprotected static intCYANprotected static intERASE_LINEprotected static intERASE_LINE_TO_BEGININGprotected static intERASE_LINE_TO_ENDprotected static intERASE_SCREENprotected static intERASE_SCREEN_TO_BEGININGprotected static intERASE_SCREEN_TO_ENDprotected static intGREENprotected static intMAGENTAprotected static intREDprotected static intWHITEprotected static intYELLOW-
Fields inherited from class java.io.FilterWriter
out
-
-
Constructor Summary
Constructors Constructor Description AnsiWriter(Writer out)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()protected voidprocessAttributeRest()processSGR 0corresponding toReset / Normalprotected voidprocessChangeIconName(String name)processOSC 1;text BELcorresponding toChange Icon labelprotected voidprocessChangeIconNameAndWindowTitle(String label)processOSC 0;text BELcorresponding toChange Window and Icon labelprotected voidprocessChangeWindowTitle(String title)processOSC 2;text BELcorresponding toChange Window titleprotected voidprocessCharsetSelect(int set, char seq)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 voidprocessDefaultBackgroundColor()processSGR 49corresponding toDefault background colorprotected voidprocessDefaultTextColor()processSGR 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 Displayprotected voidprocessInsertLine(int optionInt)ProcessCSI sANSI code, corresponding toIL – Insert Lineprotected voidprocessRestoreCursorPosition()ProcessCSI uANSI code, corresponding toRCP – Restore Cursor Positionprotected voidprocessSaveCursorPosition()ProcessCSI 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.voidwrite(char[] cbuf, int off, int len)voidwrite(int data)voidwrite(String str, int off, int len)-
Methods inherited from class java.io.FilterWriter
flush
-
-
-
-
Field Detail
-
ERASE_SCREEN_TO_END
protected static final int ERASE_SCREEN_TO_END
- See Also:
- Constant Field Values
-
ERASE_SCREEN_TO_BEGINING
protected static final int ERASE_SCREEN_TO_BEGINING
- See Also:
- Constant Field Values
-
ERASE_SCREEN
protected static final int ERASE_SCREEN
- See Also:
- Constant Field Values
-
ERASE_LINE_TO_END
protected static final int ERASE_LINE_TO_END
- See Also:
- Constant Field Values
-
ERASE_LINE_TO_BEGINING
protected static final int ERASE_LINE_TO_BEGINING
- See Also:
- Constant Field Values
-
ERASE_LINE
protected static final int ERASE_LINE
- See Also:
- Constant Field Values
-
ATTRIBUTE_INTENSITY_BOLD
protected static final int ATTRIBUTE_INTENSITY_BOLD
- See Also:
- Constant Field Values
-
ATTRIBUTE_INTENSITY_FAINT
protected static final int ATTRIBUTE_INTENSITY_FAINT
- See Also:
- Constant Field Values
-
ATTRIBUTE_ITALIC
protected static final int ATTRIBUTE_ITALIC
- See Also:
- Constant Field Values
-
ATTRIBUTE_UNDERLINE
protected static final int ATTRIBUTE_UNDERLINE
- See Also:
- Constant Field Values
-
ATTRIBUTE_BLINK_SLOW
protected static final int ATTRIBUTE_BLINK_SLOW
- See Also:
- Constant Field Values
-
ATTRIBUTE_BLINK_FAST
protected static final int ATTRIBUTE_BLINK_FAST
- See Also:
- Constant Field Values
-
ATTRIBUTE_NEGATIVE_ON
protected static final int ATTRIBUTE_NEGATIVE_ON
- See Also:
- Constant Field Values
-
ATTRIBUTE_CONCEAL_ON
protected static final int ATTRIBUTE_CONCEAL_ON
- See Also:
- Constant Field Values
-
ATTRIBUTE_UNDERLINE_DOUBLE
protected static final int ATTRIBUTE_UNDERLINE_DOUBLE
- See Also:
- Constant Field Values
-
ATTRIBUTE_INTENSITY_NORMAL
protected static final int ATTRIBUTE_INTENSITY_NORMAL
- See Also:
- Constant Field Values
-
ATTRIBUTE_UNDERLINE_OFF
protected static final int ATTRIBUTE_UNDERLINE_OFF
- See Also:
- Constant Field Values
-
ATTRIBUTE_BLINK_OFF
protected static final int ATTRIBUTE_BLINK_OFF
- See Also:
- Constant Field Values
-
ATTRIBUTE_NEGATIVE_Off
@Deprecated protected static final int ATTRIBUTE_NEGATIVE_Off
Deprecated.- See Also:
- Constant Field Values
-
ATTRIBUTE_NEGATIVE_OFF
protected static final int ATTRIBUTE_NEGATIVE_OFF
- See Also:
- Constant Field Values
-
ATTRIBUTE_CONCEAL_OFF
protected static final int ATTRIBUTE_CONCEAL_OFF
- See Also:
- Constant Field Values
-
BLACK
protected static final int BLACK
- See Also:
- Constant Field Values
-
RED
protected static final int RED
- See Also:
- Constant Field Values
-
GREEN
protected static final int GREEN
- See Also:
- Constant Field Values
-
YELLOW
protected static final int YELLOW
- See Also:
- Constant Field Values
-
BLUE
protected static final int BLUE
- See Also:
- Constant Field Values
-
MAGENTA
protected static final int MAGENTA
- See Also:
- Constant Field Values
-
CYAN
protected static final int CYAN
- See Also:
- Constant Field Values
-
WHITE
protected static final int WHITE
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
AnsiWriter
public AnsiWriter(Writer out)
-
-
Method Detail
-
write
public void write(int data) throws IOException- Overrides:
writein classFilterWriter- Throws:
IOException
-
processRestoreCursorPosition
protected void processRestoreCursorPosition() throws IOExceptionProcessCSI uANSI code, corresponding toRCP – Restore Cursor Position- Throws:
IOException- if an error occurs
-
processSaveCursorPosition
protected void processSaveCursorPosition() throws IOExceptionProcessCSI sANSI code, corresponding toSCP – Save Cursor Position- Throws:
IOException- if an error occurs
-
processInsertLine
protected void processInsertLine(int optionInt) throws IOExceptionProcessCSI sANSI code, corresponding toIL – Insert Line- Parameters:
optionInt- the option- Throws:
IOException- if an error occurs
-
processDeleteLine
protected void processDeleteLine(int optionInt) throws IOExceptionProcessCSI sANSI code, corresponding toDL – Delete Line- Parameters:
optionInt- the option- Throws:
IOException- if an error occurs
-
processScrollDown
protected void processScrollDown(int optionInt) throws IOExceptionProcessCSI n TANSI code, corresponding toSD – Scroll Down- Parameters:
optionInt- the option- Throws:
IOException- if an error occurs
-
processScrollUp
protected void processScrollUp(int optionInt) throws IOExceptionProcessCSI n UANSI code, corresponding toSU – Scroll Up- Parameters:
optionInt- the option- Throws:
IOException- if an error occurs
-
processEraseScreen
protected void processEraseScreen(int eraseOption) throws IOExceptionProcessCSI n JANSI code, corresponding toED – Erase in Display- Parameters:
eraseOption- the erase option- Throws:
IOException- if an error occurs
-
processEraseLine
protected void processEraseLine(int eraseOption) throws IOExceptionProcessCSI n KANSI code, corresponding toED – Erase in Line- Parameters:
eraseOption- the erase option- Throws:
IOException- if an error occurs
-
processSetAttribute
protected void processSetAttribute(int attribute) throws IOExceptionprocessSGRother 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:
processAttributeRest(),processSetForegroundColor(int),processSetForegroundColor(int, boolean),processSetForegroundColorExt(int),processSetForegroundColorExt(int, int, int),processDefaultTextColor(),processDefaultBackgroundColor()
-
processSetForegroundColor
protected void processSetForegroundColor(int color) throws IOExceptionprocessSGR 30-37corresponding toSet text color (foreground).- Parameters:
color- the text color- Throws:
IOException- if an error occurs
-
processSetForegroundColor
protected void processSetForegroundColor(int color, boolean bright) throws IOExceptionprocessSGR 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
protected void processSetForegroundColorExt(int paletteIndex) throws IOExceptionprocessSGR 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
protected void processSetForegroundColorExt(int r, int g, int b) throws IOExceptionprocessSGR 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
protected void processSetBackgroundColor(int color) throws IOExceptionprocessSGR 40-47corresponding toSet background color.- Parameters:
color- the background color- Throws:
IOException- if an error occurs
-
processSetBackgroundColor
protected void processSetBackgroundColor(int color, boolean bright) throws IOExceptionprocessSGR 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
protected void processSetBackgroundColorExt(int paletteIndex) throws IOExceptionprocessSGR 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
protected void processSetBackgroundColorExt(int r, int g, int b) throws IOExceptionprocessSGR 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
protected void processDefaultTextColor() throws IOExceptionprocessSGR 39corresponding toDefault text color (foreground)- Throws:
IOException- if an error occurs
-
processDefaultBackgroundColor
protected void processDefaultBackgroundColor() throws IOExceptionprocessSGR 49corresponding toDefault background color- Throws:
IOException- if an error occurs
-
processAttributeRest
protected void processAttributeRest() throws IOExceptionprocessSGR 0corresponding toReset / Normal- Throws:
IOException- if an error occurs
-
processCursorTo
protected void processCursorTo(int row, int col) throws IOExceptionprocessCSI 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
protected void processCursorToColumn(int x) throws IOExceptionprocessCSI n Gcorresponding toCHA – Cursor Horizontal Absolute- Parameters:
x- the column- Throws:
IOException- if an error occurs
-
processCursorUpLine
protected void processCursorUpLine(int count) throws IOExceptionprocessCSI n Fcorresponding toCPL – Cursor Previous Line- Parameters:
count- line count- Throws:
IOException- if an error occurs
-
processCursorDownLine
protected void processCursorDownLine(int count) throws IOExceptionprocessCSI n Ecorresponding toCNL – Cursor Next Line- Parameters:
count- line count- Throws:
IOException- if an error occurs
-
processCursorLeft
protected void processCursorLeft(int count) throws IOExceptionprocessCSI n Dcorresponding toCUB – Cursor Back- Parameters:
count- the count- Throws:
IOException- if an error occurs
-
processCursorRight
protected void processCursorRight(int count) throws IOExceptionprocessCSI n Ccorresponding toCUF – Cursor Forward- Parameters:
count- the count- Throws:
IOException- if an error occurs
-
processCursorDown
protected void processCursorDown(int count) throws IOExceptionprocessCSI n Bcorresponding toCUD – Cursor Down- Parameters:
count- the count- Throws:
IOException- if an error occurs
-
processCursorUp
protected void processCursorUp(int count) throws IOExceptionprocessCSI n Acorresponding toCUU – Cursor Up- Parameters:
count- the count- Throws:
IOException- if an error occurs
-
processUnknownExtension
protected void processUnknownExtension(ArrayList<Object> options, int command)
-
processChangeIconNameAndWindowTitle
protected void processChangeIconNameAndWindowTitle(String label)
processOSC 0;text BELcorresponding toChange Window and Icon label- Parameters:
label- the label
-
processChangeIconName
protected void processChangeIconName(String name)
processOSC 1;text BELcorresponding toChange Icon label- Parameters:
name- the icon name
-
processChangeWindowTitle
protected void processChangeWindowTitle(String title)
processOSC 2;text BELcorresponding toChange Window title- Parameters:
title- the title
-
processUnknownOperatingSystemCommand
protected void processUnknownOperatingSystemCommand(int command, String param)Process unknownOSCcommand.- Parameters:
command- the commandparam- the param
-
processCharsetSelect
protected void processCharsetSelect(int set, char seq)
-
write
public void write(char[] cbuf, int off, int len) throws IOException- Overrides:
writein classFilterWriter- Throws:
IOException
-
write
public void write(String str, int off, int len) throws IOException
- Overrides:
writein classFilterWriter- Throws:
IOException
-
close
public void close() throws IOException- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Overrides:
closein classFilterWriter- Throws:
IOException
-
-