Package org.jline.terminal.impl.jni.win
Class NativeWinSysTerminal
- java.lang.Object
-
- org.jline.terminal.impl.AbstractTerminal
-
- org.jline.terminal.impl.AbstractWindowsTerminal<java.lang.Long>
-
- org.jline.terminal.impl.jni.win.NativeWinSysTerminal
-
- All Implemented Interfaces:
java.io.Closeable,java.io.Flushable,java.lang.AutoCloseable,TerminalExt,Terminal
public class NativeWinSysTerminal extends AbstractWindowsTerminal<java.lang.Long>
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.jline.terminal.Terminal
Terminal.MouseTracking, Terminal.Signal, Terminal.SignalHandler
-
-
Field Summary
-
Fields inherited from class org.jline.terminal.impl.AbstractWindowsTerminal
ANSI_COLORS, attributes, BACKGROUND_BLUE, BACKGROUND_GREEN, BACKGROUND_INTENSITY, BACKGROUND_RED, closer, ENABLE_ECHO_INPUT, ENABLE_EXTENDED_FLAGS, ENABLE_INSERT_MODE, ENABLE_LINE_INPUT, ENABLE_MOUSE_INPUT, ENABLE_PROCESSED_INPUT, ENABLE_QUICK_EDIT_MODE, ENABLE_VIRTUAL_TERMINAL_PROCESSING, ENABLE_WINDOW_INPUT, focusTracking, FOREGROUND_BLUE, FOREGROUND_GREEN, FOREGROUND_INTENSITY, FOREGROUND_RED, inConsole, input, lock, nativeHandlers, originalInConsoleMode, originalOutConsoleMode, outConsole, output, paused, pump, reader, skipNextLf, 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, closed, currentMouseTracking, encoding, handlers, inputEncoding, ints, name, onClose, outputEncoding, palette, status, strings, type
-
Fields inherited from interface org.jline.terminal.Terminal
TYPE_DUMB, TYPE_DUMB_COLOR
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static NativeWinSysTerminalcreateTerminal(TerminalProvider provider, SystemStream systemStream, java.lang.String name, java.lang.String type, boolean ansiPassThrough, java.nio.charset.Charset encoding, boolean nativeSignals, Terminal.SignalHandler signalHandler, boolean paused)static NativeWinSysTerminalcreateTerminal(TerminalProvider provider, SystemStream systemStream, java.lang.String name, java.lang.String type, boolean ansiPassThrough, java.nio.charset.Charset encoding, java.nio.charset.Charset stdinEncoding, java.nio.charset.Charset stdoutEncoding, java.nio.charset.Charset stderrEncoding, boolean nativeSignals, Terminal.SignalHandler signalHandler, boolean paused)voiddisableScrolling()SizegetBufferSize()Retrieve the size of the window buffer.static longgetConsole(SystemStream systemStream)protected intgetConsoleMode(java.lang.Long console)CursorgetCursorPosition(java.util.function.IntConsumer discarded)Query the terminal to report the cursor position.intgetDefaultBackgroundColor()Get the default background color for Windows terminals.intgetDefaultForegroundColor()Get the default foreground color for Windows terminals.SizegetSize()Retrieve the size of the visible windowstatic booleanisWindowsSystemStream(SystemStream stream)protected booleanprocessConsoleInput()Read a single input event from the input buffer and process it.protected voidsetConsoleMode(java.lang.Long console, int mode)-
Methods inherited from class org.jline.terminal.impl.AbstractWindowsTerminal
canPauseResume, convertAttributeToRgb, ctrl, doClose, getAttributes, getEscapeSequence, getProvider, getRawSequence, getSystemStream, 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
checkClosed, checkInterrupted, close, echo, echo, echoSignal, encoding, enterRawMode, flush, getBooleanCapability, getCurrentMouseTracking, getKind, getName, getNumericCapability, getPalette, getStatus, getStatus, getStringCapability, getType, hasMouseSupport, inputEncoding, outputEncoding, parseInfoCmp, puts, raise, readMouseEvent, readMouseEvent, readMouseEvent, readMouseEvent, setOnClose, toString
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.jline.terminal.Terminal
getHeight, getWidth, stderrEncoding, stdinEncoding, stdoutEncoding
-
-
-
-
Method Detail
-
createTerminal
public static NativeWinSysTerminal createTerminal(TerminalProvider provider, SystemStream systemStream, java.lang.String name, java.lang.String type, boolean ansiPassThrough, java.nio.charset.Charset encoding, boolean nativeSignals, Terminal.SignalHandler signalHandler, boolean paused) throws java.io.IOException
- Throws:
java.io.IOException
-
createTerminal
public static NativeWinSysTerminal createTerminal(TerminalProvider provider, SystemStream systemStream, java.lang.String name, java.lang.String type, boolean ansiPassThrough, java.nio.charset.Charset encoding, java.nio.charset.Charset stdinEncoding, java.nio.charset.Charset stdoutEncoding, java.nio.charset.Charset stderrEncoding, boolean nativeSignals, Terminal.SignalHandler signalHandler, boolean paused) throws java.io.IOException
- Throws:
java.io.IOException
-
getConsole
public static long getConsole(SystemStream systemStream)
-
isWindowsSystemStream
public static boolean isWindowsSystemStream(SystemStream stream)
-
getConsoleMode
protected int getConsoleMode(java.lang.Long console)
- Specified by:
getConsoleModein classAbstractWindowsTerminal<java.lang.Long>
-
setConsoleMode
protected void setConsoleMode(java.lang.Long console, int mode)- Specified by:
setConsoleModein classAbstractWindowsTerminal<java.lang.Long>
-
getSize
public Size getSize()
Description copied from interface:TerminalRetrieve the size of the visible window- Returns:
- the visible terminal size
- See Also:
Terminal.getBufferSize()
-
getBufferSize
public Size getBufferSize()
Description copied from interface:TerminalRetrieve 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:
Terminal.getSize()
-
processConsoleInput
protected boolean processConsoleInput() throws java.io.IOExceptionDescription copied from class:AbstractWindowsTerminalRead a single input event from the input buffer and process it.- Specified by:
processConsoleInputin classAbstractWindowsTerminal<java.lang.Long>- Returns:
- true if new input was generated from the event
- Throws:
java.io.IOException- if anything wrong happens
-
getCursorPosition
public Cursor getCursorPosition(java.util.function.IntConsumer discarded)
Description copied from interface:TerminalQuery 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:
getCursorPositionin interfaceTerminal- Overrides:
getCursorPositionin classAbstractTerminal- Parameters:
discarded- a consumer receiving discarded characters- Returns:
nullif cursor position reporting is not supported or a valid cursor position
-
disableScrolling
public void disableScrolling()
-
getDefaultForegroundColor
public int getDefaultForegroundColor()
Description copied from class:AbstractWindowsTerminalGet the default foreground color for Windows terminals.- Specified by:
getDefaultForegroundColorin interfaceTerminal- Specified by:
getDefaultForegroundColorin classAbstractWindowsTerminal<java.lang.Long>- Returns:
- the RGB value of the default foreground color, or -1 if not available
- See Also:
Terminal.getDefaultBackgroundColor(),Terminal.getPalette()
-
getDefaultBackgroundColor
public int getDefaultBackgroundColor()
Description copied from class:AbstractWindowsTerminalGet the default background color for Windows terminals.- Specified by:
getDefaultBackgroundColorin interfaceTerminal- Specified by:
getDefaultBackgroundColorin classAbstractWindowsTerminal<java.lang.Long>- Returns:
- the RGB value of the default background color, or -1 if not available
- See Also:
Terminal.getDefaultForegroundColor(),Terminal.getPalette()
-
-