public abstract class AbstractTerminal extends Object implements org.graalvm.shadowed.org.jline.terminal.Terminal
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) |
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) |
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) |
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.
|
protected 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
IOException
public AbstractTerminal(String name, String type, Charset encoding, org.graalvm.shadowed.org.jline.terminal.Terminal.SignalHandler signalHandler) throws IOException
IOException
public 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)
handle
in interface org.graalvm.shadowed.org.jline.terminal.Terminal
public void raise(org.graalvm.shadowed.org.jline.terminal.Terminal.Signal signal)
raise
in interface org.graalvm.shadowed.org.jline.terminal.Terminal
public final void close() throws IOException
close
in interface Closeable
close
in interface AutoCloseable
IOException
protected void doClose() throws IOException
IOException
protected 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.Terminal
public boolean echo()
echo
in interface org.graalvm.shadowed.org.jline.terminal.Terminal
public boolean echo(boolean echo)
echo
in interface org.graalvm.shadowed.org.jline.terminal.Terminal
public String getName()
getName
in interface org.graalvm.shadowed.org.jline.terminal.Terminal
public String getType()
getType
in interface org.graalvm.shadowed.org.jline.terminal.Terminal
public String getKind()
public Charset encoding()
org.graalvm.shadowed.org.jline.terminal.Terminal
Charset
that should be used to encode characters
for Terminal.input()
and Terminal.output()
.encoding
in interface org.graalvm.shadowed.org.jline.terminal.Terminal
public void flush()
public boolean puts(InfoCmp.Capability capability, Object... params)
puts
in interface org.graalvm.shadowed.org.jline.terminal.Terminal
public boolean getBooleanCapability(InfoCmp.Capability capability)
getBooleanCapability
in interface org.graalvm.shadowed.org.jline.terminal.Terminal
public Integer getNumericCapability(InfoCmp.Capability capability)
getNumericCapability
in interface org.graalvm.shadowed.org.jline.terminal.Terminal
public String getStringCapability(InfoCmp.Capability capability)
getStringCapability
in interface org.graalvm.shadowed.org.jline.terminal.Terminal
protected void parseInfoCmp()
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
discarded
- 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.Terminal
true
if the terminal has support for mouse.hasMouseSupport
in interface org.graalvm.shadowed.org.jline.terminal.Terminal
Terminal.trackMouse(MouseTracking)
public boolean trackMouse(org.graalvm.shadowed.org.jline.terminal.Terminal.MouseTracking tracking)
org.graalvm.shadowed.org.jline.terminal.Terminal
InfoCmp.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.Terminal
tracking
- the mouse tracking modetrue
if mouse tracking is supportedpublic org.graalvm.shadowed.org.jline.terminal.MouseEvent readMouseEvent()
org.graalvm.shadowed.org.jline.terminal.Terminal
InfoCmp.Capability.key_mouse
in the stream immediately before reading the event.readMouseEvent
in interface org.graalvm.shadowed.org.jline.terminal.Terminal
Terminal.trackMouse(MouseTracking)
public org.graalvm.shadowed.org.jline.terminal.MouseEvent readMouseEvent(IntSupplier reader)
org.graalvm.shadowed.org.jline.terminal.Terminal
readMouseEvent
in interface org.graalvm.shadowed.org.jline.terminal.Terminal
reader
- the input supplierpublic boolean hasFocusSupport()
org.graalvm.shadowed.org.jline.terminal.Terminal
true
if the terminal has support for focus tracking.hasFocusSupport
in interface org.graalvm.shadowed.org.jline.terminal.Terminal
Terminal.trackFocus(boolean)
public boolean trackFocus(boolean tracking)
org.graalvm.shadowed.org.jline.terminal.Terminal
trackFocus
in interface org.graalvm.shadowed.org.jline.terminal.Terminal
tracking
- whether the focus tracking mode should be enabled or nottrue
if focus tracking is supportedprotected void checkInterrupted() throws InterruptedIOException
InterruptedIOException
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
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
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
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
Terminal.pause()
,
Terminal.paused()
public boolean paused()
org.graalvm.shadowed.org.jline.terminal.Terminal
paused
in interface org.graalvm.shadowed.org.jline.terminal.Terminal
Terminal.pause()
,
Terminal.resume()
public ColorPalette getPalette()
org.graalvm.shadowed.org.jline.terminal.Terminal
getPalette
in interface org.graalvm.shadowed.org.jline.terminal.Terminal