Top Description Inners Fields Methods
jdk.internal.org.jline.reader

public Interface LineReader

Known Direct Implementers
jdk.internal.org.jline.reader.impl.LineReaderImpl
Imports
java.io.File, .InputStream, java.util.Collection, .Map, java.util.function.IntConsumer, jdk.internal.org.jline.keymap.KeyMap, jdk.internal.org.jline.terminal.MouseEvent, .Terminal, jdk.internal.org.jline.utils.AttributedString

Read lines from the console, with input editing.

Thread safety

The LineReader implementations are not thread safe, thus you should not attempt to use a single reader in several threads. Any attempt to call one of the readLine call while one is already executing in a different thread will immediately result in an IllegalStateException being thrown. Other calls may lead to unknown behaviors. There is one exception though: users are allowed to call printAbove(String) or printAbove(AttributedString) at any time to allow text to be printed above the current prompt.

Prompt strings

It is traditional for an interactive console-based program to print a short prompt string to signal that the user is expected to type a command. JLine supports 3 kinds of prompt string:

All of these are specified with prompt templates, which are similar to printf format strings, using the character '%' to indicate special functionality.

The pattern may include ANSI escapes. It may include these template markers:
%N
A line number. This is the sum of getLineNumber() and a counter starting with 1 for the first continuation line.
%M
A short word explaining what is "missing". This is supplied from the EOFError#getMissing() method, if provided. Defaults to an empty string.
%nPc
Insert padding at this position, repeating the following character c as needed to bring the total prompt column width as specified by the digits n.
%Pc
As before, but use width from the initial prompt.
%%
A literal '%'.
%{
%}
Text between a %{...%} pair is printed as part of a prompt, but not interpreted by JLine (except that '%'-escapes are processed). The text is assumed to take zero columns (not move the cursor). If it changes the style, you're responsible for changing it back. Standard ANSI escape sequences do not need to be within a %{...%} pair (though can be) since JLine knows how to deal with them. However, these delimiters are needed for unusual non-standard escape sequences.

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static enum
public static enum
public static enum

Field Summary

Modifier and TypeField and Description
public static final String
public static final String
public static final String
public static final String
public static final String
AMBIGUOUS_BINDING

Timeout for ambiguous key sequences.

public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
COMPLETION_STYLE_BACKGROUND

Completion style for displaying the list

public static final String
COMPLETION_STYLE_DESCRIPTION

Completion style for displaying the candidate description

public static final String
COMPLETION_STYLE_GROUP

Completion style for displaying groups name

public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
COMPLETION_STYLE_SELECTION

Completion style for displaying the current selected item

public static final String
COMPLETION_STYLE_STARTING

Completion style for displaying the matching part of candidates

public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
ERRORS

Number of matching errors that are accepted by the completion matcher

public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
FEATURES_MAX_BUFFER_SIZE

Max buffer size for advanced features.

public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
HISTORY_FILE

File system history path.

public static final String
HISTORY_FILE_SIZE

Number of history items to keep in the history file.

public static final String
HISTORY_IGNORE

Colon separated list of patterns that will not be saved in history.

public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
HISTORY_SIZE

Number of history items to keep in memory.

public static final String
INDENTATION

New line automatic indentation after opening/closing bracket.

public static final String
public static final String
INPUT_RC_FILE_NAME

Name of inputrc to read at line reader creation time.

public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
LINE_OFFSET

When in multiline edit mode, this variable can be used to offset the line number displayed.

public static final String
public static final String
public static final String
LIST_MAX

tab completion: if candidates are more than list-max a question will be asked before displaying them

public static final String
public static final String
public static final String
MAX_REPEAT_COUNT

Max number of times a command can be repeated.

public static final String
public static final String
public static final String
ORIGINAL_GROUP_NAME

Property for the "original" group name

public static final String
OTHERS_GROUP_NAME

Property for the "others" group name

public static final String
public static final String
public static final String
PROP_SUPPORT_PARSEDLINE

System property that can be set to avoid a warning being logged when using a Parser which does not return CompletingParsedLine objects.

public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
SECONDARY_PROMPT_PATTERN

Set the template for prompts for secondary (continuation) lines.

public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
SUGGESTIONS_MIN_BUFFER_SIZE

Min buffer size for tab auto-suggestions.

public static final String
SYSTEM_PROPERTY_PREFIX

Prefix to automatically delegate variables to system properties

public static final String
TAB_WIDTH

Number of spaces to display a tabulation, the default is 4.

public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String
public static final String

Method Summary

Modifier and TypeMethod and Description
public void
public void
public Map<String, KeyMap<Binding>>
public void
public String
public LineReader.SuggestionType
public Buffer
public Map<String, Widget>
public Expander
public Highlighter
public History
public String
public Map<String, KeyMap<Binding>>
public KeyMap<Binding>
public String
public ParsedLine
public Parser
public LineReader.RegionType
public int
public String
public String
public Terminal
public Object
public Map<String, Object>
public Map<String, Widget>
public boolean

Returns:

true if there is an ongoing readLine() call.
isReading
()

Check if a thread is currently in a readLine() call.

public boolean
public LineReader
option(LineReader.Option option, boolean value)

public void
printAbove(String
the string to print
str
)

Prints a line above the prompt and redraw everything.

public void
printAbove(AttributedString
the string to print
str
)

Prints a string before the prompt and redraw everything.

public String

Returns:

the line read
readLine
()

Read the next line and return the contents of the buffer.

public String

Returns:

A line that is read from the terminal, can never be null.
readLine
(Character
The mask character, null or 0.
mask
)

Read the next line with the specified character mask.

public String

Returns:

A line that is read from the terminal, can never be null.
readLine
(String
The prompt to issue to the terminal, may be null.
prompt
)

Read the next line with the specified prompt.

public String

Returns:

A line that is read from the terminal, can never be null.
readLine
(String
The prompt to issue to the terminal, may be null.
prompt
,
Character
The mask character, null or 0.
mask
)

Read a line from the in InputStream, and return the line (without any trailing newlines).

public String

Returns:

A line that is read from the terminal, can never be null.
readLine
(String
The prompt to issue to the terminal, may be null. This is a template, with optional '%' escapes, as described in the class header.
prompt
,
Character
The character mask, may be null.
mask
,
String
The default value presented to the user to edit, may be null.
buffer
)

Read a line from the in InputStream, and return the line (without any trailing newlines).

public String

Returns:

A line that is read from the terminal, can never be null.
readLine
(String
The prompt to issue to the terminal, may be null. This is a template, with optional '%' escapes, as described in the class header.
prompt
,
String
The right prompt This is a template, with optional '%' escapes, as described in the class header.
rightPrompt
,
Character
The character mask, may be null.
mask
,
String
The default value presented to the user to edit, may be null.
buffer
)

Read a line from the in InputStream, and return the line (without any trailing newlines).

public String

Returns:

A line that is read from the terminal, can never be null.
readLine
(String
The prompt to issue to the terminal, may be null. This is a template, with optional '%' escapes, as described in the class header.
prompt
,
String
The right prompt This is a template, with optional '%' escapes, as described in the class header.
rightPrompt
,
MaskingCallback
The MaskingCallback to use when displaying lines and adding them to the line History
maskingCallback
,
String
The default value presented to the user to edit, may be null.
buffer
)

Read a line from the in InputStream, and return the line (without any trailing newlines).

public MouseEvent

Returns:

the mouse event
readMouseEvent
()

Read a mouse event when the org.jline.utils.InfoCmp.Capability#key_mouse sequence has just been read on the input stream.

public void
runMacro(String
the key sequence to push back
macro
)

Push back a key sequence that will be later consumed by the line reader.

public void
public boolean
public void
public void
setTailTip(String tailTip)

public void
setVariable(String name, Object value)

public void
public LineReader
variable(String name, Object value)

public void
zeroOut()

Clear any internal buffers.