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, currentMouseTracking, encoding, handlers, ints, name, onClose, palette, status, stderrEncoding, stdinEncoding, stdoutEncoding, 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 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)
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)
void
disableScrolling()
Size
getBufferSize()
Retrieve the size of the window buffer.static long
getConsole(SystemStream systemStream)
protected int
getConsoleMode(java.lang.Long console)
Cursor
getCursorPosition(java.util.function.IntConsumer discarded)
Query the terminal to report the cursor position.int
getDefaultBackgroundColor()
Get the default background color for Windows terminals.int
getDefaultForegroundColor()
Get the default foreground color for Windows terminals.Size
getSize()
Retrieve the size of the visible windowstatic boolean
isWindowsSystemStream(SystemStream stream)
protected boolean
processConsoleInput()
Read a single input event from the input buffer and process it.protected void
setConsoleMode(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
checkInterrupted, close, echo, echo, echoSignal, encoding, enterRawMode, flush, getBooleanCapability, getCurrentMouseTracking, getKind, getName, getNumericCapability, getPalette, getStatus, getStatus, getStringCapability, getType, hasMouseSupport, parseInfoCmp, puts, raise, readMouseEvent, readMouseEvent, readMouseEvent, readMouseEvent, setOnClose, stderrEncoding, stdinEncoding, stdoutEncoding, toString
-
-
-
-
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:
getConsoleMode
in classAbstractWindowsTerminal<java.lang.Long>
-
setConsoleMode
protected void setConsoleMode(java.lang.Long console, int mode)
- Specified by:
setConsoleMode
in classAbstractWindowsTerminal<java.lang.Long>
-
getSize
public Size getSize()
Description copied from interface:Terminal
Retrieve the size of the visible window- Returns:
- the visible terminal size
- See Also:
Terminal.getBufferSize()
-
getBufferSize
public Size 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:
Terminal.getSize()
-
processConsoleInput
protected boolean processConsoleInput() throws java.io.IOException
Description copied from class:AbstractWindowsTerminal
Read a single input event from the input buffer and process it.- Specified by:
processConsoleInput
in 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: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()
-
getDefaultForegroundColor
public int getDefaultForegroundColor()
Description copied from class:AbstractWindowsTerminal
Get the default foreground color for Windows terminals.- Specified by:
getDefaultForegroundColor
in interfaceTerminal
- Specified by:
getDefaultForegroundColor
in 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:AbstractWindowsTerminal
Get the default background color for Windows terminals.- Specified by:
getDefaultBackgroundColor
in interfaceTerminal
- Specified by:
getDefaultBackgroundColor
in classAbstractWindowsTerminal<java.lang.Long>
- Returns:
- the RGB value of the default background color, or -1 if not available
- See Also:
Terminal.getDefaultForegroundColor()
,Terminal.getPalette()
-
-