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 short
static final short
static final short
static final short
static final short
static final short
static final short
static final short
static final short
static final short
static final short
Fields 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 void
void
Disable character echoing.void
Enable character echoing.boolean
getEcho()
Returns true if the terminal will echo all characters type.static String
The command to use to set the terminal options.int
Returns the value of "stty size" height param.int
Returns the value of "stty size" width param.void
Remove line-buffered input by invoking "stty -icanon min 1" against the current terminal.boolean
Returns false if character echoing is disabled.boolean
Returns true if this terminal is capable of initializing the terminal to use jline.int
Reads a virtual key from the console.void
Restore the original terminal configuration, which can be used when shutting down the console reader.static void
setSttyCommand
(String cmd) The command to use to set the terminal options.protected static String
Execute 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:
initializeTerminal
in classTerminal
- Throws:
IOException
InterruptedException
-
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:Terminal
Reads 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:
readVirtualKey
in classTerminal
- Parameters:
in
- the InputStream to read from- Returns:
- the virtual key (e.g.,
ConsoleOperations#VK_UP
) - Throws:
IOException
-
isSupported
Description copied from class:Terminal
Returns true if this terminal is capable of initializing the terminal to use jline.- Specified by:
isSupported
in classTerminal
-
getEcho
Description copied from class:Terminal
Returns 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:
getTerminalWidth
in 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:
getTerminalHeight
in classTerminal
-
stty
Execute the stty command with the specified arguments against the current active terminal.- Throws:
IOException
InterruptedException
-
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:Terminal
Returns false if character echoing is disabled.- Specified by:
isEchoEnabled
in classTerminal
-
enableEcho
Description copied from class:Terminal
Enable character echoing. This can be used to re-enable character if the ConsoleReader is no longer being used.- Specified by:
enableEcho
in classTerminal
-
disableEcho
Description copied from class:Terminal
Disable character echoing. This can be used to manually re-enable character if the ConsoleReader has been disabled.- Specified by:
disableEcho
in classTerminal
-