Class JansiWinSysTerminal
java.lang.Object
org.jline.terminal.impl.AbstractTerminal
org.jline.terminal.impl.AbstractWindowsTerminal
org.jline.terminal.impl.jansi.win.JansiWinSysTerminal
- All Implemented Interfaces:
Closeable
,Flushable
,AutoCloseable
,Terminal
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.jline.terminal.Terminal
Terminal.MouseTracking, Terminal.Signal, Terminal.SignalHandler
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate long
private static final long
private static final long
private static final long
private char[]
private char[]
private long
Fields inherited from class org.jline.terminal.impl.AbstractWindowsTerminal
attributes, closer, ENABLE_ECHO_INPUT, ENABLE_INSERT_MODE, ENABLE_LINE_INPUT, ENABLE_MOUSE_INPUT, ENABLE_PROCESSED_INPUT, ENABLE_QUICK_EDIT_MODE, ENABLE_VIRTUAL_TERMINAL_PROCESSING, ENABLE_WINDOW_INPUT, focusTracking, input, lock, nativeHandlers, originalConsoleMode, output, paused, pump, reader, slaveInputPipe, tracking, TYPE_WINDOWS, TYPE_WINDOWS_256_COLOR, TYPE_WINDOWS_CONEMU, TYPE_WINDOWS_VTP, writer
Fields inherited from class org.jline.terminal.impl.AbstractTerminal
bools, encoding, handlers, ints, name, onClose, palette, status, strings, type
Fields inherited from interface org.jline.terminal.Terminal
TYPE_DUMB, TYPE_DUMB_COLOR
-
Constructor Summary
ConstructorsConstructorDescriptionJansiWinSysTerminal
(Writer writer, String name, String type, Charset encoding, boolean nativeSignals, Terminal.SignalHandler signalHandler, long console, long outputHandle) -
Method Summary
Modifier and TypeMethodDescriptionstatic JansiWinSysTerminal
createTerminal
(String name, String type, boolean ansiPassThrough, Charset encoding, boolean nativeSignals, Terminal.SignalHandler signalHandler, boolean paused, TerminalProvider.Stream consoleStream) void
Retrieve the size of the window buffer.protected int
getCursorPosition
(IntConsumer discarded) Query the terminal to report the cursor position.(package private) static String
getErrorMessage
(int errorCode) (package private) static String
getSize()
Retrieve the size of the visible windowstatic boolean
private static Writer
newConsoleWriter
(long console) protected boolean
Read a single input event from the input buffer and process it.private void
processFocusEvent
(boolean hasFocus) private void
processMouseEvent
(org.fusesource.jansi.internal.Kernel32.MOUSE_EVENT_RECORD mouseEvent) protected void
setConsoleMode
(int mode) Methods inherited from class org.jline.terminal.impl.AbstractWindowsTerminal
canPauseResume, ctrl, doClose, getAttributes, getEscapeSequence, getRawSequence, handle, hasFocusSupport, input, output, pause, pause, paused, processInputChar, processKeyEvent, pump, reader, resume, setAttributes, setSize, trackFocus, trackMouse, updateConsoleMode, writer
Methods inherited from class org.jline.terminal.impl.AbstractTerminal
checkInterrupted, close, echo, echo, echoSignal, encoding, enterRawMode, flush, getBooleanCapability, getKind, getName, getNumericCapability, getPalette, getStatus, getStatus, getStringCapability, getType, hasMouseSupport, parseInfoCmp, puts, raise, readMouseEvent, readMouseEvent, setOnClose
-
Field Details
-
consoleIn
private static final long consoleIn -
consoleOut
private static final long consoleOut -
consoleErr
private static final long consoleErr -
console
private long console -
outputHandle
private long outputHandle -
focus
private char[] focus -
mouse
private char[] mouse
-
-
Constructor Details
-
JansiWinSysTerminal
JansiWinSysTerminal(Writer writer, String name, String type, Charset encoding, boolean nativeSignals, Terminal.SignalHandler signalHandler, long console, long outputHandle) throws IOException - Throws:
IOException
-
-
Method Details
-
createTerminal
public static JansiWinSysTerminal createTerminal(String name, String type, boolean ansiPassThrough, Charset encoding, boolean nativeSignals, Terminal.SignalHandler signalHandler, boolean paused, TerminalProvider.Stream consoleStream) throws IOException - Throws:
IOException
-
newConsoleWriter
-
isWindowsSystemStream
-
getConsoleMode
protected int getConsoleMode()- Specified by:
getConsoleMode
in classAbstractWindowsTerminal
-
setConsoleMode
protected void setConsoleMode(int mode) - Specified by:
setConsoleMode
in classAbstractWindowsTerminal
-
getSize
Description copied from interface:Terminal
Retrieve the size of the visible window- Returns:
- the visible terminal size
- See Also:
-
getBufferSize
Description copied from interface:Terminal
Retrieve the size of the window buffer. Some terminals can be configured to have a buffer size larger than the visible window size and provide scroll bars. In such cases, this method should attempt to return the size of the whole buffer. ThegetBufferSize()
method can be used to avoid wrapping when using the terminal in a line editing mode, while theTerminal.getSize()
method should be used when using full screen mode.- Returns:
- the terminal buffer size
- See Also:
-
processConsoleInput
Description copied from class:AbstractWindowsTerminal
Read a single input event from the input buffer and process it.- Specified by:
processConsoleInput
in classAbstractWindowsTerminal
- Returns:
- true if new input was generated from the event
- Throws:
IOException
- if anything wrong happens
-
processFocusEvent
- Throws:
IOException
-
processMouseEvent
private void processMouseEvent(org.fusesource.jansi.internal.Kernel32.MOUSE_EVENT_RECORD mouseEvent) throws IOException - Throws:
IOException
-
getCursorPosition
Description copied from interface:Terminal
Query the terminal to report the cursor position. As the response is read from the input stream, some characters may be read before the cursor position is actually read. Those characters can be given back usingorg.jline.keymap.BindingReader#runMacro(String)
- Specified by:
getCursorPosition
in interfaceTerminal
- Overrides:
getCursorPosition
in classAbstractTerminal
- Parameters:
discarded
- a consumer receiving discarded characters- Returns:
null
if cursor position reporting is not supported or a valid cursor position
-
disableScrolling
public void disableScrolling() -
getLastErrorMessage
-
getErrorMessage
-