public abstract class AbstractTerminal extends Object implements org.graalvm.shadowed.org.jline.terminal.spi.TerminalExt
| Modifier and Type | Field and Description |
|---|---|
protected Set<InfoCmp.Capability> |
bools |
protected Charset |
encoding |
protected Map<org.graalvm.shadowed.org.jline.terminal.Terminal.Signal,org.graalvm.shadowed.org.jline.terminal.Terminal.SignalHandler> |
handlers |
protected Map<InfoCmp.Capability,Integer> |
ints |
protected String |
name |
protected Runnable |
onClose |
protected ColorPalette |
palette |
protected Status |
status |
protected Map<InfoCmp.Capability,String> |
strings |
protected String |
type |
| Constructor and Description |
|---|
AbstractTerminal(String name,
String type) |
AbstractTerminal(String name,
String type,
Charset encoding,
org.graalvm.shadowed.org.jline.terminal.Terminal.SignalHandler signalHandler) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
canPauseResume()
Whether this terminal supports
Terminal.pause() and Terminal.resume() calls. |
protected void |
checkInterrupted() |
void |
close() |
protected void |
doClose() |
boolean |
echo() |
boolean |
echo(boolean echo) |
protected void |
echoSignal(org.graalvm.shadowed.org.jline.terminal.Terminal.Signal signal) |
Charset |
encoding()
Returns the
Charset that should be used to encode characters
for Terminal.input() and Terminal.output(). |
org.graalvm.shadowed.org.jline.terminal.Attributes |
enterRawMode() |
void |
flush() |
boolean |
getBooleanCapability(InfoCmp.Capability capability) |
org.graalvm.shadowed.org.jline.terminal.Cursor |
getCursorPosition(IntConsumer discarded)
Query the terminal to report the cursor position.
|
String |
getKind() |
String |
getName() |
Integer |
getNumericCapability(InfoCmp.Capability capability) |
ColorPalette |
getPalette()
Color support
|
Status |
getStatus() |
Status |
getStatus(boolean create) |
String |
getStringCapability(InfoCmp.Capability capability) |
String |
getType() |
org.graalvm.shadowed.org.jline.terminal.Terminal.SignalHandler |
handle(org.graalvm.shadowed.org.jline.terminal.Terminal.Signal signal,
org.graalvm.shadowed.org.jline.terminal.Terminal.SignalHandler handler)
Registers a handler for the given
Terminal.Signal. |
boolean |
hasFocusSupport()
Returns
true if the terminal has support for focus tracking. |
boolean |
hasMouseSupport()
Returns
true if the terminal has support for mouse. |
protected void |
parseInfoCmp() |
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.
|
boolean |
puts(InfoCmp.Capability capability,
Object... params) |
void |
raise(org.graalvm.shadowed.org.jline.terminal.Terminal.Signal signal)
Raise the specific signal.
|
org.graalvm.shadowed.org.jline.terminal.MouseEvent |
readMouseEvent()
Read a MouseEvent from the terminal input stream.
|
org.graalvm.shadowed.org.jline.terminal.MouseEvent |
readMouseEvent(IntSupplier reader)
Read a MouseEvent from the given input stream.
|
void |
resume()
Resume reading the input stream.
|
void |
setOnClose(Runnable onClose) |
String |
toString() |
boolean |
trackFocus(boolean tracking)
Enable or disable focus tracking mode.
|
boolean |
trackMouse(org.graalvm.shadowed.org.jline.terminal.Terminal.MouseTracking tracking)
Change the mouse tracking mouse.
|
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, waitprotected final String name
protected final String type
protected final Charset encoding
protected final Map<org.graalvm.shadowed.org.jline.terminal.Terminal.Signal,org.graalvm.shadowed.org.jline.terminal.Terminal.SignalHandler> handlers
protected final Set<InfoCmp.Capability> bools
protected final Map<InfoCmp.Capability,Integer> ints
protected final Map<InfoCmp.Capability,String> strings
protected final ColorPalette palette
protected Status status
protected Runnable onClose
public AbstractTerminal(String name, String type) throws IOException
IOExceptionpublic AbstractTerminal(String name, String type, Charset encoding, org.graalvm.shadowed.org.jline.terminal.Terminal.SignalHandler signalHandler) throws IOException
IOExceptionpublic void setOnClose(Runnable onClose)
public Status getStatus()
public Status getStatus(boolean create)
public org.graalvm.shadowed.org.jline.terminal.Terminal.SignalHandler handle(org.graalvm.shadowed.org.jline.terminal.Terminal.Signal signal,
org.graalvm.shadowed.org.jline.terminal.Terminal.SignalHandler handler)
org.graalvm.shadowed.org.jline.terminal.TerminalTerminal.Signal.
Note that the JVM does not easily allow catching the Terminal.Signal.QUIT signal, which causes a thread dump
to be displayed. This signal is mainly used when connecting through an SSH socket to a virtual terminal.
handle in interface org.graalvm.shadowed.org.jline.terminal.Terminalsignal - the signal to register a handler forhandler - the handlerpublic void raise(org.graalvm.shadowed.org.jline.terminal.Terminal.Signal signal)
org.graalvm.shadowed.org.jline.terminal.TerminalAttributes.ControlChar.VINTR, Attributes.ControlChar.VQUIT,
or Attributes.ControlChar.VSUSP.raise in interface org.graalvm.shadowed.org.jline.terminal.Terminalsignal - the signal to raisepublic final void close()
throws IOException
close in interface Closeableclose in interface AutoCloseableIOExceptionprotected void doClose()
throws IOException
IOExceptionprotected void echoSignal(org.graalvm.shadowed.org.jline.terminal.Terminal.Signal signal)
public org.graalvm.shadowed.org.jline.terminal.Attributes enterRawMode()
enterRawMode in interface org.graalvm.shadowed.org.jline.terminal.Terminalpublic boolean echo()
echo in interface org.graalvm.shadowed.org.jline.terminal.Terminalpublic boolean echo(boolean echo)
echo in interface org.graalvm.shadowed.org.jline.terminal.Terminalpublic String getName()
getName in interface org.graalvm.shadowed.org.jline.terminal.Terminalpublic String getType()
getType in interface org.graalvm.shadowed.org.jline.terminal.Terminalpublic String getKind()
public Charset encoding()
org.graalvm.shadowed.org.jline.terminal.TerminalCharset that should be used to encode characters
for Terminal.input() and Terminal.output().encoding in interface org.graalvm.shadowed.org.jline.terminal.Terminalpublic void flush()
public boolean puts(InfoCmp.Capability capability, Object... params)
puts in interface org.graalvm.shadowed.org.jline.terminal.Terminalpublic boolean getBooleanCapability(InfoCmp.Capability capability)
getBooleanCapability in interface org.graalvm.shadowed.org.jline.terminal.Terminalpublic Integer getNumericCapability(InfoCmp.Capability capability)
getNumericCapability in interface org.graalvm.shadowed.org.jline.terminal.Terminalpublic String getStringCapability(InfoCmp.Capability capability)
getStringCapability in interface org.graalvm.shadowed.org.jline.terminal.Terminalprotected void parseInfoCmp()
public org.graalvm.shadowed.org.jline.terminal.Cursor getCursorPosition(IntConsumer discarded)
org.graalvm.shadowed.org.jline.terminal.Terminalorg.graalvm.shadowed.org.jline.keymap.BindingReader#runMacro(String)getCursorPosition in interface org.graalvm.shadowed.org.jline.terminal.Terminaldiscarded - a consumer receiving discarded charactersnull if cursor position reporting
is not supported or a valid cursor positionpublic boolean hasMouseSupport()
org.graalvm.shadowed.org.jline.terminal.Terminaltrue if the terminal has support for mouse.hasMouseSupport in interface org.graalvm.shadowed.org.jline.terminal.TerminalTerminal.trackMouse(MouseTracking)public boolean trackMouse(org.graalvm.shadowed.org.jline.terminal.Terminal.MouseTracking tracking)
org.graalvm.shadowed.org.jline.terminal.TerminalInfoCmp.Capability.key_mouse to the input stream.
When this character sequence is detected, the Terminal.readMouseEvent() method can be
called to actually read the corresponding mouse event.trackMouse in interface org.graalvm.shadowed.org.jline.terminal.Terminaltracking - the mouse tracking modetrue if mouse tracking is supportedpublic org.graalvm.shadowed.org.jline.terminal.MouseEvent readMouseEvent()
org.graalvm.shadowed.org.jline.terminal.TerminalInfoCmp.Capability.key_mouse
in the stream immediately before reading the event.readMouseEvent in interface org.graalvm.shadowed.org.jline.terminal.TerminalTerminal.trackMouse(MouseTracking)public org.graalvm.shadowed.org.jline.terminal.MouseEvent readMouseEvent(IntSupplier reader)
org.graalvm.shadowed.org.jline.terminal.TerminalreadMouseEvent in interface org.graalvm.shadowed.org.jline.terminal.Terminalreader - the input supplierpublic boolean hasFocusSupport()
org.graalvm.shadowed.org.jline.terminal.Terminaltrue if the terminal has support for focus tracking.hasFocusSupport in interface org.graalvm.shadowed.org.jline.terminal.TerminalTerminal.trackFocus(boolean)public boolean trackFocus(boolean tracking)
org.graalvm.shadowed.org.jline.terminal.TerminaltrackFocus in interface org.graalvm.shadowed.org.jline.terminal.Terminaltracking - whether the focus tracking mode should be enabled or nottrue if focus tracking is supportedprotected void checkInterrupted()
throws InterruptedIOException
InterruptedIOExceptionpublic boolean canPauseResume()
org.graalvm.shadowed.org.jline.terminal.TerminalTerminal.pause() and Terminal.resume() calls.canPauseResume in interface org.graalvm.shadowed.org.jline.terminal.TerminalTerminal.pause() and Terminal.resume() calls.Terminal.paused(),
Terminal.pause(),
Terminal.resume()public void pause()
org.graalvm.shadowed.org.jline.terminal.Terminalpause in interface org.graalvm.shadowed.org.jline.terminal.TerminalTerminal.resume(),
Terminal.paused()public void pause(boolean wait)
throws InterruptedException
org.graalvm.shadowed.org.jline.terminal.Terminalpause in interface org.graalvm.shadowed.org.jline.terminal.Terminalwait - true to wait until the terminal is actually pausedInterruptedException - if the call has been interruptedpublic void resume()
org.graalvm.shadowed.org.jline.terminal.Terminalresume in interface org.graalvm.shadowed.org.jline.terminal.TerminalTerminal.pause(),
Terminal.paused()public boolean paused()
org.graalvm.shadowed.org.jline.terminal.Terminalpaused in interface org.graalvm.shadowed.org.jline.terminal.TerminalTerminal.pause(),
Terminal.resume()public ColorPalette getPalette()
org.graalvm.shadowed.org.jline.terminal.TerminalgetPalette in interface org.graalvm.shadowed.org.jline.terminal.Terminal