Package org.jline.utils
Class AnsiWriter
- java.lang.Object
-
- java.io.Writer
-
- java.io.FilterWriter
-
- org.jline.utils.AnsiWriter
-
- All Implemented Interfaces:
java.io.Closeable
,java.io.Flushable
,java.lang.Appendable
,java.lang.AutoCloseable
- Direct Known Subclasses:
WindowsAnsiWriter
,WindowsAnsiWriter
,WindowsAnsiWriter
public class AnsiWriter extends java.io.FilterWriter
A ANSI writer extracts ANSI escape codes written to aWriter
and 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 int
ATTRIBUTE_BLINK_FAST
protected static int
ATTRIBUTE_BLINK_OFF
protected static int
ATTRIBUTE_BLINK_SLOW
protected static int
ATTRIBUTE_CONCEAL_OFF
protected static int
ATTRIBUTE_CONCEAL_ON
protected static int
ATTRIBUTE_INTENSITY_BOLD
protected static int
ATTRIBUTE_INTENSITY_FAINT
protected static int
ATTRIBUTE_INTENSITY_NORMAL
protected static int
ATTRIBUTE_ITALIC
protected static int
ATTRIBUTE_NEGATIVE_Off
Deprecated.protected static int
ATTRIBUTE_NEGATIVE_OFF
protected static int
ATTRIBUTE_NEGATIVE_ON
protected static int
ATTRIBUTE_UNDERLINE
protected static int
ATTRIBUTE_UNDERLINE_DOUBLE
protected static int
ATTRIBUTE_UNDERLINE_OFF
protected static int
BLACK
protected static int
BLUE
protected static int
CYAN
protected static int
ERASE_LINE
protected static int
ERASE_LINE_TO_BEGINING
protected static int
ERASE_LINE_TO_END
protected static int
ERASE_SCREEN
protected static int
ERASE_SCREEN_TO_BEGINING
protected static int
ERASE_SCREEN_TO_END
protected static int
GREEN
protected static int
MAGENTA
protected static int
RED
protected static int
WHITE
protected static int
YELLOW
-
Constructor Summary
Constructors Constructor Description AnsiWriter(java.io.Writer out)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
protected void
processAttributeRest()
processSGR 0
corresponding toReset / Normal
protected void
processChangeIconName(java.lang.String name)
processOSC 1;text BEL
corresponding toChange Icon label
protected void
processChangeIconNameAndWindowTitle(java.lang.String label)
processOSC 0;text BEL
corresponding toChange Window and Icon label
protected void
processChangeWindowTitle(java.lang.String title)
processOSC 2;text BEL
corresponding toChange Window title
protected void
processCharsetSelect(int set, char seq)
protected void
processCursorDown(int count)
processCSI n B
corresponding toCUD ? Cursor Down
protected void
processCursorDownLine(int count)
processCSI n E
corresponding toCNL ? Cursor Next Line
protected void
processCursorLeft(int count)
processCSI n D
corresponding toCUB ? Cursor Back
protected void
processCursorRight(int count)
processCSI n C
corresponding toCUF ? Cursor Forward
protected void
processCursorTo(int row, int col)
processCSI n ; m H
corresponding toCUP ? Cursor Position
orCSI n ; m f
corresponding toHVP ? Horizontal and Vertical Position
protected void
processCursorToColumn(int x)
processCSI n G
corresponding toCHA ? Cursor Horizontal Absolute
protected void
processCursorUp(int count)
processCSI n A
corresponding toCUU ? Cursor Up
protected void
processCursorUpLine(int count)
processCSI n F
corresponding toCPL ? Cursor Previous Line
protected void
processDefaultBackgroundColor()
processSGR 49
corresponding toDefault background color
protected void
processDefaultTextColor()
processSGR 39
corresponding toDefault text color (foreground)
protected void
processDeleteLine(int optionInt)
ProcessCSI s
ANSI code, corresponding toDL ? Delete Line
protected void
processEraseLine(int eraseOption)
ProcessCSI n K
ANSI code, corresponding toED ? Erase in Line
protected void
processEraseScreen(int eraseOption)
ProcessCSI n J
ANSI code, corresponding toED ? Erase in Display
protected void
processInsertLine(int optionInt)
ProcessCSI s
ANSI code, corresponding toIL ? Insert Line
protected void
processRestoreCursorPosition()
ProcessCSI u
ANSI code, corresponding toRCP ? Restore Cursor Position
protected void
processSaveCursorPosition()
ProcessCSI s
ANSI code, corresponding toSCP ? Save Cursor Position
protected void
processScrollDown(int optionInt)
ProcessCSI n T
ANSI code, corresponding toSD ? Scroll Down
protected void
processScrollUp(int optionInt)
ProcessCSI n U
ANSI code, corresponding toSU ? Scroll Up
protected void
processSetAttribute(int attribute)
processSGR
other than0
(reset),30-39
(foreground),40-49
(background),90-97
(foreground high intensity) or100-107
(background high intensity)protected void
processSetBackgroundColor(int color)
processSGR 40-47
corresponding toSet background color
.protected void
processSetBackgroundColor(int color, boolean bright)
processSGR 40-47
orSGR 100-107
corresponding toSet background color
either in normal mode or high intensity.protected void
processSetBackgroundColorExt(int paletteIndex)
processSGR 48
corresponding toextended set background color
with a palette of 255 colors.protected void
processSetBackgroundColorExt(int r, int g, int b)
processSGR 48
corresponding toextended set background color
with a 24 bits RGB definition of the color.protected void
processSetForegroundColor(int color)
processSGR 30-37
corresponding toSet text color (foreground)
.protected void
processSetForegroundColor(int color, boolean bright)
processSGR 30-37
orSGR 90-97
corresponding toSet text color (foreground)
either in normal mode or high intensity.protected void
processSetForegroundColorExt(int paletteIndex)
processSGR 38
corresponding toextended set text color (foreground)
with a palette of 255 colors.protected void
processSetForegroundColorExt(int r, int g, int b)
processSGR 38
corresponding toextended set text color (foreground)
with a 24 bits RGB definition of the color.protected void
processUnknownExtension(java.util.ArrayList<java.lang.Object> options, int command)
protected void
processUnknownOperatingSystemCommand(int command, java.lang.String param)
Process unknownOSC
command.void
write(char[] cbuf, int off, int len)
void
write(int data)
void
write(java.lang.String str, int off, int len)
-
-
-
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
-
-
Method Detail
-
write
public void write(int data) throws java.io.IOException
- Overrides:
write
in classjava.io.FilterWriter
- Throws:
java.io.IOException
-
processRestoreCursorPosition
protected void processRestoreCursorPosition() throws java.io.IOException
ProcessCSI u
ANSI code, corresponding toRCP ? Restore Cursor Position
- Throws:
java.io.IOException
- if an error occurs
-
processSaveCursorPosition
protected void processSaveCursorPosition() throws java.io.IOException
ProcessCSI s
ANSI code, corresponding toSCP ? Save Cursor Position
- Throws:
java.io.IOException
- if an error occurs
-
processInsertLine
protected void processInsertLine(int optionInt) throws java.io.IOException
ProcessCSI s
ANSI code, corresponding toIL ? Insert Line
- Parameters:
optionInt
- the option- Throws:
java.io.IOException
- if an error occurs
-
processDeleteLine
protected void processDeleteLine(int optionInt) throws java.io.IOException
ProcessCSI s
ANSI code, corresponding toDL ? Delete Line
- Parameters:
optionInt
- the option- Throws:
java.io.IOException
- if an error occurs
-
processScrollDown
protected void processScrollDown(int optionInt) throws java.io.IOException
ProcessCSI n T
ANSI code, corresponding toSD ? Scroll Down
- Parameters:
optionInt
- the option- Throws:
java.io.IOException
- if an error occurs
-
processScrollUp
protected void processScrollUp(int optionInt) throws java.io.IOException
ProcessCSI n U
ANSI code, corresponding toSU ? Scroll Up
- Parameters:
optionInt
- the option- Throws:
java.io.IOException
- if an error occurs
-
processEraseScreen
protected void processEraseScreen(int eraseOption) throws java.io.IOException
ProcessCSI n J
ANSI code, corresponding toED ? Erase in Display
- Parameters:
eraseOption
- the erase option- Throws:
java.io.IOException
- if an error occurs
-
processEraseLine
protected void processEraseLine(int eraseOption) throws java.io.IOException
ProcessCSI n K
ANSI code, corresponding toED ? Erase in Line
- Parameters:
eraseOption
- the erase option- Throws:
java.io.IOException
- if an error occurs
-
processSetAttribute
protected void processSetAttribute(int attribute) throws java.io.IOException
processSGR
other 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:
java.io.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 java.io.IOException
processSGR 30-37
corresponding toSet text color (foreground)
.- Parameters:
color
- the text color- Throws:
java.io.IOException
- if an error occurs
-
processSetForegroundColor
protected void processSetForegroundColor(int color, boolean bright) throws java.io.IOException
processSGR 30-37
orSGR 90-97
corresponding toSet text color (foreground)
either in normal mode or high intensity.- Parameters:
color
- the text colorbright
- is high intensity?- Throws:
java.io.IOException
- if an error occurs
-
processSetForegroundColorExt
protected void processSetForegroundColorExt(int paletteIndex) throws java.io.IOException
processSGR 38
corresponding toextended set text color (foreground)
with a palette of 255 colors.- Parameters:
paletteIndex
- the text color in the palette- Throws:
java.io.IOException
- if an error occurs
-
processSetForegroundColorExt
protected void processSetForegroundColorExt(int r, int g, int b) throws java.io.IOException
processSGR 38
corresponding toextended set text color (foreground)
with a 24 bits RGB definition of the color.- Parameters:
r
- redg
- greenb
- blue- Throws:
java.io.IOException
- if an error occurs
-
processSetBackgroundColor
protected void processSetBackgroundColor(int color) throws java.io.IOException
processSGR 40-47
corresponding toSet background color
.- Parameters:
color
- the background color- Throws:
java.io.IOException
- if an error occurs
-
processSetBackgroundColor
protected void processSetBackgroundColor(int color, boolean bright) throws java.io.IOException
processSGR 40-47
orSGR 100-107
corresponding toSet background color
either in normal mode or high intensity.- Parameters:
color
- the background colorbright
- is high intensity?- Throws:
java.io.IOException
- if an error occurs
-
processSetBackgroundColorExt
protected void processSetBackgroundColorExt(int paletteIndex) throws java.io.IOException
processSGR 48
corresponding toextended set background color
with a palette of 255 colors.- Parameters:
paletteIndex
- the background color in the palette- Throws:
java.io.IOException
- if an error occurs
-
processSetBackgroundColorExt
protected void processSetBackgroundColorExt(int r, int g, int b) throws java.io.IOException
processSGR 48
corresponding toextended set background color
with a 24 bits RGB definition of the color.- Parameters:
r
- redg
- greenb
- blue- Throws:
java.io.IOException
- if an error occurs
-
processDefaultTextColor
protected void processDefaultTextColor() throws java.io.IOException
processSGR 39
corresponding toDefault text color (foreground)
- Throws:
java.io.IOException
- if an error occurs
-
processDefaultBackgroundColor
protected void processDefaultBackgroundColor() throws java.io.IOException
processSGR 49
corresponding toDefault background color
- Throws:
java.io.IOException
- if an error occurs
-
processAttributeRest
protected void processAttributeRest() throws java.io.IOException
processSGR 0
corresponding toReset / Normal
- Throws:
java.io.IOException
- if an error occurs
-
processCursorTo
protected void processCursorTo(int row, int col) throws java.io.IOException
processCSI n ; m H
corresponding toCUP ? Cursor Position
orCSI n ; m f
corresponding toHVP ? Horizontal and Vertical Position
- Parameters:
row
- the rowcol
- the column- Throws:
java.io.IOException
- if an error occurs
-
processCursorToColumn
protected void processCursorToColumn(int x) throws java.io.IOException
processCSI n G
corresponding toCHA ? Cursor Horizontal Absolute
- Parameters:
x
- the column- Throws:
java.io.IOException
- if an error occurs
-
processCursorUpLine
protected void processCursorUpLine(int count) throws java.io.IOException
processCSI n F
corresponding toCPL ? Cursor Previous Line
- Parameters:
count
- line count- Throws:
java.io.IOException
- if an error occurs
-
processCursorDownLine
protected void processCursorDownLine(int count) throws java.io.IOException
processCSI n E
corresponding toCNL ? Cursor Next Line
- Parameters:
count
- line count- Throws:
java.io.IOException
- if an error occurs
-
processCursorLeft
protected void processCursorLeft(int count) throws java.io.IOException
processCSI n D
corresponding toCUB ? Cursor Back
- Parameters:
count
- the count- Throws:
java.io.IOException
- if an error occurs
-
processCursorRight
protected void processCursorRight(int count) throws java.io.IOException
processCSI n C
corresponding toCUF ? Cursor Forward
- Parameters:
count
- the count- Throws:
java.io.IOException
- if an error occurs
-
processCursorDown
protected void processCursorDown(int count) throws java.io.IOException
processCSI n B
corresponding toCUD ? Cursor Down
- Parameters:
count
- the count- Throws:
java.io.IOException
- if an error occurs
-
processCursorUp
protected void processCursorUp(int count) throws java.io.IOException
processCSI n A
corresponding toCUU ? Cursor Up
- Parameters:
count
- the count- Throws:
java.io.IOException
- if an error occurs
-
processUnknownExtension
protected void processUnknownExtension(java.util.ArrayList<java.lang.Object> options, int command)
-
processChangeIconNameAndWindowTitle
protected void processChangeIconNameAndWindowTitle(java.lang.String label)
processOSC 0;text BEL
corresponding toChange Window and Icon label
- Parameters:
label
- the label
-
processChangeIconName
protected void processChangeIconName(java.lang.String name)
processOSC 1;text BEL
corresponding toChange Icon label
- Parameters:
name
- the icon name
-
processChangeWindowTitle
protected void processChangeWindowTitle(java.lang.String title)
processOSC 2;text BEL
corresponding toChange Window title
- Parameters:
title
- the title
-
processUnknownOperatingSystemCommand
protected void processUnknownOperatingSystemCommand(int command, java.lang.String param)
Process unknownOSC
command.- 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 java.io.IOException
- Overrides:
write
in classjava.io.FilterWriter
- Throws:
java.io.IOException
-
write
public void write(java.lang.String str, int off, int len) throws java.io.IOException
- Overrides:
write
in classjava.io.FilterWriter
- Throws:
java.io.IOException
-
close
public void close() throws java.io.IOException
- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Overrides:
close
in classjava.io.FilterWriter
- Throws:
java.io.IOException
-
-