Package net.rubygrapefruit.platform
Interface Terminal
- All Known Implementing Classes:
AbstractTerminal
,AnsiTerminal
,TerminfoTerminal
,WindowsTerminal
,WrapperTerminal
public interface Terminal
Allows the terminal/console to be manipulated.
On UNIX based platforms, this provides access to the terminal. On Windows platforms, this provides access to the console.
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic enum
Basic colors supported by a terminal. -
Method Summary
Modifier and TypeMethodDescriptionbold()
Switches the terminal to bold mode, if supported.Clears characters from the cursor position to the end of the current line.cursorDown
(int count) Moves the cursor the given number of characters down.cursorLeft
(int count) Moves the cursor the given number of characters to the left.cursorRight
(int count) Moves the cursor the given number of characters to the right.Moves the cursor to the start of the current line.cursorUp
(int count) Moves the cursor the given number of characters up.foreground
(Terminal.Color color) Sets the terminal foreground color, if supported.Returns the size of the terminal.normal()
Switches the terminal to normal mode.reset()
Switches the terminal to normal mode and restores default colors.boolean
Returns true if this terminal supports setting output colors.boolean
Returns true if this terminal supports moving the cursor.boolean
Returns true if this terminal supports setting text attributes, such as bold.
-
Method Details
-
supportsTextAttributes
boolean supportsTextAttributes()Returns true if this terminal supports setting text attributes, such as bold. -
supportsColor
boolean supportsColor()Returns true if this terminal supports setting output colors. -
supportsCursorMotion
boolean supportsCursorMotion()Returns true if this terminal supports moving the cursor. -
getTerminalSize
Returns the size of the terminal. Supported by all terminals.- Returns:
- The current terminal size. Never returns null.
- Throws:
NativeException
- On failure.
-
foreground
Sets the terminal foreground color, if supported. Does nothing if this terminal does not support setting the foreground color.- Throws:
NativeException
- On failure.
-
bold
Switches the terminal to bold mode, if supported. Does nothing if this terminal does not support bold mode.- Throws:
NativeException
- On failure.
-
normal
Switches the terminal to normal mode. Supported by all terminals.- Throws:
NativeException
- On failure.
-
reset
Switches the terminal to normal mode and restores default colors. Supported by all terminals.- Throws:
NativeException
- On failure.
-
cursorLeft
Moves the cursor the given number of characters to the left.- Throws:
NativeException
- On failure, or if this terminal does not support cursor motion.
-
cursorRight
Moves the cursor the given number of characters to the right.- Throws:
NativeException
- On failure, or if this terminal does not support cursor motion.
-
cursorUp
Moves the cursor the given number of characters up.- Throws:
NativeException
- On failure, or if this terminal does not support cursor motion.
-
cursorDown
Moves the cursor the given number of characters down.- Throws:
NativeException
- On failure, or if this terminal does not support cursor motion.
-
cursorStartOfLine
Moves the cursor to the start of the current line.- Throws:
NativeException
- On failure, or if this terminal does not support cursor motion.
-
clearToEndOfLine
Clears characters from the cursor position to the end of the current line.- Throws:
NativeException
- On failure, or if this terminal does not support clearing.
-