Package jline
Class UnixTerminal
java.lang.Object
jline.Terminal
jline.UnixTerminal
- All Implemented Interfaces:
ConsoleOperations
Terminal that is used for unix platforms. Terminal initialization is handled by issuing the stty command against the /dev/tty file to disable character echoing and enable character input. All known unix systems (including Linux and Macintosh OS X) support the stty), so this implementation should work for an reasonable POSIX system.
- Author:
- Marc Prud'hommeaux, Updates Dale Kemp 2005-12-03
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final shortstatic final shortstatic final shortstatic final shortstatic final shortstatic final shortstatic final shortstatic final shortstatic final shortstatic final shortstatic final shortFields inherited from interface jline.ConsoleOperations
ABORT, ADD, BACKSPACE, CHANGE_CASE, CHANGE_META, CLEAR_LINE, CLEAR_SCREEN, COMPLETE, CR, CTRL_A, CTRL_B, CTRL_C, CTRL_D, CTRL_E, CTRL_F, CTRL_G, CTRL_K, CTRL_L, CTRL_N, CTRL_OB, CTRL_P, CTRL_QM, DELETE, DELETE_META, DELETE_NEXT_CHAR, DELETE_PREV_CHAR, DELETE_PREV_WORD, END_OF_HISTORY, END_WORD, EXIT, INSERT, KEYBOARD_BELL, KILL_LINE, KILL_LINE_PREV, MOVE_TO_BEG, MOVE_TO_END, NEWLINE, NEXT_CHAR, NEXT_HISTORY, NEXT_SPACE_WORD, NEXT_WORD, PASTE, PASTE_NEXT, PASTE_PREV, PREV_CHAR, PREV_HISTORY, PREV_SPACE_WORD, PREV_WORD, REDISPLAY, REPEAT_NEXT_CHAR, REPEAT_PREV_CHAR, REPEAT_SEARCH_NEXT, REPEAT_SEARCH_PREV, REPLACE_CHAR, REPLACE_MODE, RESET_LINE, SEARCH_NEXT, SEARCH_PREV, START_OF_HISTORY, SUBSTITUTE_CHAR, SUBSTITUTE_LINE, TO_END_WORD, TO_NEXT_CHAR, TO_PREV_CHAR, UNDO, UNKNOWN -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidvoidDisable character echoing.voidEnable character echoing.booleangetEcho()Returns true if the terminal will echo all characters type.static StringThe command to use to set the terminal options.intReturns the value of "stty size" height param.intReturns the value of "stty size" width param.voidRemove line-buffered input by invoking "stty -icanon min 1" against the current terminal.booleanReturns false if character echoing is disabled.booleanReturns true if this terminal is capable of initializing the terminal to use jline.intReads a virtual key from the console.voidRestore the original terminal configuration, which can be used when shutting down the console reader.static voidsetSttyCommand(String cmd) The command to use to set the terminal options.protected static StringExecute the stty command with the specified arguments against the current active terminal.Methods inherited from class jline.Terminal
afterReadLine, beforeReadLine, getDefaultBindings, getTerminal, isANSISupported, readCharacter, resetTerminal, setupTerminal
-
Field Details
-
ARROW_START
- See Also:
-
ARROW_PREFIX
- See Also:
-
ARROW_LEFT
- See Also:
-
ARROW_RIGHT
- See Also:
-
ARROW_UP
- See Also:
-
ARROW_DOWN
- See Also:
-
O_PREFIX
- See Also:
-
HOME_CODE
- See Also:
-
END_CODE
- See Also:
-
DEL_THIRD
- See Also:
-
DEL_SECOND
- See Also:
-
-
Constructor Details
-
UnixTerminal
public UnixTerminal()
-
-
Method Details
-
checkBackspace
-
initializeTerminal
Remove line-buffered input by invoking "stty -icanon min 1" against the current terminal.- Specified by:
initializeTerminalin classTerminal- Throws:
IOExceptionInterruptedException
-
restoreTerminal
Restore the original terminal configuration, which can be used when shutting down the console reader. The ConsoleReader cannot be used after calling this method.- Throws:
Exception
-
readVirtualKey
Description copied from class:TerminalReads a virtual key from the console. Typically, this will just be the raw character that was entered, but in some cases, multiple input keys will need to be translated into a single virtual key.- Overrides:
readVirtualKeyin classTerminal- Parameters:
in- the InputStream to read from- Returns:
- the virtual key (e.g.,
)
invalid reference
ConsoleOperations#VK_UP - Throws:
IOException
-
isSupported
Description copied from class:TerminalReturns true if this terminal is capable of initializing the terminal to use jline.- Specified by:
isSupportedin classTerminal
-
getEcho
Description copied from class:TerminalReturns true if the terminal will echo all characters type. -
getTerminalWidth
Returns the value of "stty size" width param. Note: this method caches the value from the first time it is called in order to increase speed, which means that changing to size of the terminal will not be reflected in the console.- Specified by:
getTerminalWidthin classTerminal
-
getTerminalHeight
Returns the value of "stty size" height param. Note: this method caches the value from the first time it is called in order to increase speed, which means that changing to size of the terminal will not be reflected in the console.- Specified by:
getTerminalHeightin classTerminal
-
stty
Execute the stty command with the specified arguments against the current active terminal.- Throws:
IOExceptionInterruptedException
-
setSttyCommand
The command to use to set the terminal options. Defaults to "stty", or the value of the system property "jline.sttyCommand". -
getSttyCommand
The command to use to set the terminal options. Defaults to "stty", or the value of the system property "jline.sttyCommand". -
isEchoEnabled
Description copied from class:TerminalReturns false if character echoing is disabled.- Specified by:
isEchoEnabledin classTerminal
-
enableEcho
Description copied from class:TerminalEnable character echoing. This can be used to re-enable character if the ConsoleReader is no longer being used.- Specified by:
enableEchoin classTerminal
-
disableEcho
Description copied from class:TerminalDisable character echoing. This can be used to manually re-enable character if the ConsoleReader has been disabled.- Specified by:
disableEchoin classTerminal
-