public class ExternalTerminal extends LineDisciplineTerminal
LineDisciplineTerminal
Modifier and Type | Field and Description |
---|---|
protected AtomicBoolean |
closed |
protected Object |
lock |
protected InputStream |
masterInput |
protected boolean |
paused |
protected Thread |
pumpThread |
attributes, masterOutput, size, slaveInput, slaveInputPipe, slaveOutput, slaveReader, slaveWriter
Constructor and Description |
---|
ExternalTerminal(String name,
String type,
InputStream masterInput,
OutputStream masterOutput,
Charset encoding) |
ExternalTerminal(String name,
String type,
InputStream masterInput,
OutputStream masterOutput,
Charset encoding,
org.graalvm.shadowed.org.jline.terminal.Terminal.SignalHandler signalHandler) |
ExternalTerminal(String name,
String type,
InputStream masterInput,
OutputStream masterOutput,
Charset encoding,
org.graalvm.shadowed.org.jline.terminal.Terminal.SignalHandler signalHandler,
boolean paused) |
ExternalTerminal(String name,
String type,
InputStream masterInput,
OutputStream masterOutput,
Charset encoding,
org.graalvm.shadowed.org.jline.terminal.Terminal.SignalHandler signalHandler,
boolean paused,
org.graalvm.shadowed.org.jline.terminal.Attributes attributes,
org.graalvm.shadowed.org.jline.terminal.Size size) |
Modifier and Type | Method and Description |
---|---|
boolean |
canPauseResume()
Whether this terminal supports
Terminal.pause() and Terminal.resume() calls. |
protected void |
doClose() |
org.graalvm.shadowed.org.jline.terminal.Cursor |
getCursorPosition(IntConsumer discarded)
Query the terminal to report the cursor position.
|
void |
pause()
Stop reading the input stream.
|
void |
pause(boolean wait)
Stop reading the input stream and optionally wait for the underlying threads to finish.
|
boolean |
paused()
Check whether the terminal is currently reading the input stream or not.
|
void |
pump() |
void |
resume()
Resume reading the input stream.
|
doProcessInputByte, getAttributes, getSize, input, output, processInputByte, processInputBytes, processInputBytes, processIOException, processOutputByte, raise, reader, setAttributes, setSize, writer
checkInterrupted, close, echo, echo, echoSignal, encoding, enterRawMode, flush, getBooleanCapability, getKind, getName, getNumericCapability, getPalette, getStatus, getStatus, getStringCapability, getType, handle, hasFocusSupport, hasMouseSupport, parseInfoCmp, puts, readMouseEvent, readMouseEvent, setOnClose, trackFocus, trackMouse
protected final AtomicBoolean closed
protected final InputStream masterInput
protected final Object lock
protected boolean paused
protected Thread pumpThread
public ExternalTerminal(String name, String type, InputStream masterInput, OutputStream masterOutput, Charset encoding) throws IOException
IOException
public ExternalTerminal(String name, String type, InputStream masterInput, OutputStream masterOutput, Charset encoding, org.graalvm.shadowed.org.jline.terminal.Terminal.SignalHandler signalHandler) throws IOException
IOException
public ExternalTerminal(String name, String type, InputStream masterInput, OutputStream masterOutput, Charset encoding, org.graalvm.shadowed.org.jline.terminal.Terminal.SignalHandler signalHandler, boolean paused) throws IOException
IOException
public ExternalTerminal(String name, String type, InputStream masterInput, OutputStream masterOutput, Charset encoding, org.graalvm.shadowed.org.jline.terminal.Terminal.SignalHandler signalHandler, boolean paused, org.graalvm.shadowed.org.jline.terminal.Attributes attributes, org.graalvm.shadowed.org.jline.terminal.Size size) throws IOException
IOException
protected void doClose() throws IOException
doClose
in class LineDisciplineTerminal
IOException
public boolean canPauseResume()
org.graalvm.shadowed.org.jline.terminal.Terminal
Terminal.pause()
and Terminal.resume()
calls.canPauseResume
in interface org.graalvm.shadowed.org.jline.terminal.Terminal
canPauseResume
in class AbstractTerminal
Terminal.pause()
and Terminal.resume()
calls.Terminal.paused()
,
Terminal.pause()
,
Terminal.resume()
public void pause()
org.graalvm.shadowed.org.jline.terminal.Terminal
pause
in interface org.graalvm.shadowed.org.jline.terminal.Terminal
pause
in class AbstractTerminal
Terminal.resume()
,
Terminal.paused()
public void pause(boolean wait) throws InterruptedException
org.graalvm.shadowed.org.jline.terminal.Terminal
pause
in interface org.graalvm.shadowed.org.jline.terminal.Terminal
pause
in class AbstractTerminal
wait
- true
to wait until the terminal is actually pausedInterruptedException
- if the call has been interruptedpublic void resume()
org.graalvm.shadowed.org.jline.terminal.Terminal
resume
in interface org.graalvm.shadowed.org.jline.terminal.Terminal
resume
in class AbstractTerminal
Terminal.pause()
,
Terminal.paused()
public boolean paused()
org.graalvm.shadowed.org.jline.terminal.Terminal
paused
in interface org.graalvm.shadowed.org.jline.terminal.Terminal
paused
in class AbstractTerminal
Terminal.pause()
,
Terminal.resume()
public void pump()
public org.graalvm.shadowed.org.jline.terminal.Cursor getCursorPosition(IntConsumer discarded)
org.graalvm.shadowed.org.jline.terminal.Terminal
org.graalvm.shadowed.org.jline.keymap.BindingReader#runMacro(String)
getCursorPosition
in interface org.graalvm.shadowed.org.jline.terminal.Terminal
getCursorPosition
in class AbstractTerminal
discarded
- a consumer receiving discarded charactersnull
if cursor position reporting
is not supported or a valid cursor position