Class Readline
- java.lang.Object
-
- org.gnu.readline.Readline
-
public class Readline extends java.lang.Object
This class implements basic functionality of the GNU-readline interface. It uses native method calls if available, otherwise it defaults to normal I/O using a BufferedReader.A typical implementation could look like:
try { Readline.load(ReadlineLibrary.GnuReadline); } catch (UnsatisfiedLinkError ignore_me) { System.err.println("couldn't load readline lib. Using simple stdin."); } Readline.initReadline("myapp"); Runtime.getRuntime() // if your version supports .addShutdownHook(new Thread() { // addShutdownHook (since 1.3) public void run() { Readline.cleanup(); } }); while (true) { try { line = Readline.readline("myprompt> "); if (line == null) System.out.println("no input"); else processLine(); } catch (EOFException e) { break; } catch (Exception e) { doSomething(); } } Readline.cleanup(); // see note above about addShutdownHook
- Version:
- $Revision$
- Author:
- $Author$
-
-
Field Summary
Fields Modifier and Type Field Description static org.gnu.readline.ReadlineConstInt
HISTORY_BASE
Constant to access history_base usinggetVar()
orsetVar()
.static org.gnu.readline.ReadlineConstInt
HISTORY_LENGTH
Constant to access history_length usinggetVar()
orsetVar()
.static org.gnu.readline.ReadlineConstInt
HISTORY_MAX_ENTRIES
Constant to access history_max_entries usinggetVar()
orsetVar()
.static org.gnu.readline.ReadlineConstString
HISTORY_NO_EXPAND_CHARS
Constant to access history_no_expand_chars usinggetVar()
orsetVar()
.static org.gnu.readline.ReadlineConstInt
HISTORY_QUOTES_EXPANSION
Constant to access history_quotes_inhibit_expansion usinggetVar()
orsetVar()
.static org.gnu.readline.ReadlineConstString
HISTORY_SEARCH_DELIMITERS
Constant to access history_search_delimiter_chars usinggetVar()
orsetVar()
.static org.gnu.readline.ReadlineConstString
HISTORY_WORD_DELIMITERS
Constant to access history_word_delimiters usinggetVar()
orsetVar()
.static org.gnu.readline.ReadlineConstInt
RL_ALREADY_PROMPTED
Constant to access rl_already_prompted usinggetVar()
orsetVar()
.static org.gnu.readline.ReadlineConstInt
RL_ATTEMPTED_COMPLETION_OVER
Constant to access rl_attempted_completion_over usinggetVar()
orsetVar()
.static org.gnu.readline.ReadlineConstString
RL_BASIC_QUOTE_CHARACTERS
Constant to access rl_basic_quote_characters usinggetVar()
orsetVar()
.static org.gnu.readline.ReadlineConstString
RL_BASIC_WORD_BREAK_CHARACTERS
Constant to access rl_basic_word_break_characters usinggetVar()
orsetVar()
.static org.gnu.readline.ReadlineConstInt
RL_CATCH_SIGNALS
Constant to access rl_catch_signals usinggetVar()
orsetVar()
.static org.gnu.readline.ReadlineConstInt
RL_CATCH_SIGWINCH
Constant to access rl_catch_sigwinch usinggetVar()
orsetVar()
.static org.gnu.readline.ReadlineConstString
RL_COMPLETER_QUOTE_CHARACTERS
Constant to access rl_completer_quote_characters usinggetVar()
orsetVar()
.static org.gnu.readline.ReadlineConstString
RL_COMPLETER_WORD_BREAK_CHARACTERS
Constant to access rl_completer_word_break_characters usinggetVar()
orsetVar()
.static org.gnu.readline.ReadlineConstInt
RL_COMPLETION_APPEND_CHARACTER
Constant to access rl_completion_append_character usinggetVar()
orsetVar()
.static org.gnu.readline.ReadlineConstInt
RL_COMPLETION_MARK_SYMLINK_DIRS
Constant to access rl_completion_mark_symlink_dirs usinggetVar()
orsetVar()
.static org.gnu.readline.ReadlineConstInt
RL_COMPLETION_QUERY_ITEMS
Constant to access rl_completion_query_items usinggetVar()
orsetVar()
.static org.gnu.readline.ReadlineConstInt
RL_COMPLETION_SUPPRESS_APPEND
Constant to access rl_completion_suppress_append usinggetVar()
orsetVar()
.static org.gnu.readline.ReadlineConstInt
RL_COMPLETION_TYPE
Constant to access rl_completion_type usinggetVar()
orsetVar()
.static org.gnu.readline.ReadlineConstInt
RL_DISPATCHING
Constant to access rl_dispatching usinggetVar()
orsetVar()
.static org.gnu.readline.ReadlineConstInt
RL_DONE
Constant to access rl_done usinggetVar()
orsetVar()
.static org.gnu.readline.ReadlineConstInt
RL_EDITING_MODE
Constant to access rl_editing_mode usinggetVar()
orsetVar()
.static org.gnu.readline.ReadlineConstInt
RL_END
Constant to access rl_end usinggetVar()
orsetVar()
.static org.gnu.readline.ReadlineConstInt
RL_ERASE_EMPTY_LINE
Constant to access rl_erase_empty_line usinggetVar()
orsetVar()
.static org.gnu.readline.ReadlineConstString
RL_EXECUTING_MACRO
Constant to access rl_executing_macro usinggetVar()
orsetVar()
.static org.gnu.readline.ReadlineConstInt
RL_EXPLICIT_ARG
Constant to access rl_explicit_arg usinggetVar()
orsetVar()
.static org.gnu.readline.ReadlineConstInt
RL_FILENAME_COMPLETION_DESIRED
Constant to access rl_filename_completion_desired usinggetVar()
orsetVar()
.static org.gnu.readline.ReadlineConstString
RL_FILENAME_QUOTE_CHARACTERS
Constant to access rl_filename_quote_characters usinggetVar()
orsetVar()
.static org.gnu.readline.ReadlineConstInt
RL_FILENAME_QUOTING_DESIRED
Constant to access rl_filename_quoting_desired usinggetVar()
orsetVar()
.static org.gnu.readline.ReadlineConstInt
RL_GNU_READLINE_P
Constant to access rl_gnu_readline_p usinggetVar()
orsetVar()
.static org.gnu.readline.ReadlineConstInt
RL_IGNORE_COMPLETION_DUPLICATES
Constant to access rl_ignore_completion_duplicates usinggetVar()
orsetVar()
.static org.gnu.readline.ReadlineConstInt
RL_INHIBIT_COMPLETION
Constant to access rl_inhibit_completion usinggetVar()
orsetVar()
.static org.gnu.readline.ReadlineConstInt
RL_INSERT_MODE
Constant to access rl_insert_mode usinggetVar()
orsetVar()
.static org.gnu.readline.ReadlineConstString
RL_LIBRARY_VERSION
Constant to access rl_library_version usinggetVar()
orsetVar()
.static org.gnu.readline.ReadlineConstString
RL_LINE_BUFFER
Constant to access rl_line_buffer usinggetVar()
orsetVar()
.static org.gnu.readline.ReadlineConstInt
RL_MARK
Constant to access rl_mark usinggetVar()
orsetVar()
.static org.gnu.readline.ReadlineConstInt
RL_NUM_CHARS_TO_READ
Constant to access rl_num_chars_to_read usinggetVar()
orsetVar()
.static org.gnu.readline.ReadlineConstInt
RL_NUMERIC_ARG
Constant to access rl_numeric_arg usinggetVar()
orsetVar()
.static org.gnu.readline.ReadlineConstInt
RL_PENDING_INPUT
Constant to access rl_pending_input usinggetVar()
orsetVar()
.static org.gnu.readline.ReadlineConstInt
RL_POINT
Constant to access rl_point usinggetVar()
orsetVar()
.static org.gnu.readline.ReadlineConstString
RL_PROMPT
Constant to access rl_prompt usinggetVar()
orsetVar()
.static org.gnu.readline.ReadlineConstString
RL_READLINE_NAME
Constant to access rl_readline_name usinggetVar()
orsetVar()
.static org.gnu.readline.ReadlineConstInt
RL_READLINE_STATE
Constant to access rl_readline_state usinggetVar()
orsetVar()
.static org.gnu.readline.ReadlineConstInt
RL_READLINE_VERSION
Constant to access rl_readline_version usinggetVar()
orsetVar()
.static org.gnu.readline.ReadlineConstString
RL_SPECIAL_PREFIXES
Constant to access rl_special_prefixes usinggetVar()
orsetVar()
.static org.gnu.readline.ReadlineConstString
RL_TERMINAL_NAME
Constant to access rl_terminal_name usinggetVar()
orsetVar()
.
-
Constructor Summary
Constructors Constructor Description Readline()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static void
addToHistory(java.lang.String line)
Add a line to the in-memory history.static void
cleanup()
Reset the readline library and with it, the terminal.static void
clearHistory()
Clear the history buffer.static ReadlineCompleter
getCompleter()
Query current completer function.static java.lang.String
getEncoding()
Query current encoding of fallback BufferedReader.static void
getHistory(java.util.Collection collection)
Get the history buffer in a supplied Collection.static java.lang.String
getHistoryLine(int i)
Get the specified entry from the history buffer.static int
getHistorySize()
Get the size, in elements (lines), of the history buffer.static java.lang.String
getLineBuffer()
Query the current line buffer.static boolean
getThrowExceptionOnUnsupportedMethod()
Query behavior in case an unsupported method is called.static int
getVar(org.gnu.readline.ReadlineConstInt c)
Query integer readline-variable.static java.lang.String
getVar(org.gnu.readline.ReadlineConstString c)
Query string readline-variable.static java.lang.String
getWordBreakCharacters()
Query word break characters.static boolean
hasTerminal()
Return if we have a terminal.static void
initReadline(java.lang.String applicationName)
Initialize the GNU-Readline library.static void
load(ReadlineLibrary lib)
Load an implementing backing library.static boolean
parseAndBind(java.lang.String line)
Parse argument string as if it had been read from `inputrc' file and perform key bindings and variable assignments found.static void
readHistoryFile(java.lang.String filename)
Reads a history file into memorystatic void
readInitFile(java.lang.String filename)
Read keybindings and variable assignments from a file.static java.lang.String
readline(java.lang.String prompt)
Display a prompt on standard output and read a string from standard input.static java.lang.String
readline(java.lang.String prompt, boolean addToHist)
Display a prompt on standard output and read a string from standard input.static void
setCompleter(ReadlineCompleter rlc)
Set your completer implementation.static void
setEncoding(java.lang.String encoding)
Set current encoding of fallback BufferedReader.static void
setThrowExceptionOnUnsupportedMethod(boolean flag)
Configure behavior in case an unsupported method is called.static int
setVar(org.gnu.readline.ReadlineConstInt c, int value)
Set integer readline-variable.static java.lang.String
setVar(org.gnu.readline.ReadlineConstString c, java.lang.String value)
Set string readline-variable.static void
setWordBreakCharacters(java.lang.String wordBreakCharacters)
Set word break characters.static void
writeHistoryFile(java.lang.String filename)
Writes a history file to disc
-
-
-
Field Detail
-
RL_LIBRARY_VERSION
public static final org.gnu.readline.ReadlineConstString RL_LIBRARY_VERSION
Constant to access rl_library_version usinggetVar()
orsetVar()
.Supporting implementations:
- GNU-Readline
- Editline
-
RL_READLINE_NAME
public static final org.gnu.readline.ReadlineConstString RL_READLINE_NAME
Constant to access rl_readline_name usinggetVar()
orsetVar()
.Supporting implementations:
- GNU-Readline
- Editline
-
RL_PROMPT
public static final org.gnu.readline.ReadlineConstString RL_PROMPT
Constant to access rl_prompt usinggetVar()
orsetVar()
.Supporting implementations:
- GNU-Readline
- Getline
-
RL_LINE_BUFFER
public static final org.gnu.readline.ReadlineConstString RL_LINE_BUFFER
Constant to access rl_line_buffer usinggetVar()
orsetVar()
.Supporting implementations:
- GNU-Readline
- Editline
- Getline
-
RL_TERMINAL_NAME
public static final org.gnu.readline.ReadlineConstString RL_TERMINAL_NAME
Constant to access rl_terminal_name usinggetVar()
orsetVar()
.Supporting implementations:
- GNU-Readline
-
RL_EXECUTING_MACRO
public static final org.gnu.readline.ReadlineConstString RL_EXECUTING_MACRO
Constant to access rl_executing_macro usinggetVar()
orsetVar()
.Supporting implementations:
- GNU-Readline
-
RL_BASIC_WORD_BREAK_CHARACTERS
public static final org.gnu.readline.ReadlineConstString RL_BASIC_WORD_BREAK_CHARACTERS
Constant to access rl_basic_word_break_characters usinggetVar()
orsetVar()
.Supporting implementations:
- GNU-Readline
- Editline
-
RL_COMPLETER_WORD_BREAK_CHARACTERS
public static final org.gnu.readline.ReadlineConstString RL_COMPLETER_WORD_BREAK_CHARACTERS
Constant to access rl_completer_word_break_characters usinggetVar()
orsetVar()
.Supporting implementations:
- GNU-Readline
- Editline
-
RL_COMPLETER_QUOTE_CHARACTERS
public static final org.gnu.readline.ReadlineConstString RL_COMPLETER_QUOTE_CHARACTERS
Constant to access rl_completer_quote_characters usinggetVar()
orsetVar()
.Supporting implementations:
- GNU-Readline
- Editline
-
RL_BASIC_QUOTE_CHARACTERS
public static final org.gnu.readline.ReadlineConstString RL_BASIC_QUOTE_CHARACTERS
Constant to access rl_basic_quote_characters usinggetVar()
orsetVar()
.Supporting implementations:
- GNU-Readline
-
RL_FILENAME_QUOTE_CHARACTERS
public static final org.gnu.readline.ReadlineConstString RL_FILENAME_QUOTE_CHARACTERS
Constant to access rl_filename_quote_characters usinggetVar()
orsetVar()
.Supporting implementations:
- GNU-Readline
-
RL_SPECIAL_PREFIXES
public static final org.gnu.readline.ReadlineConstString RL_SPECIAL_PREFIXES
Constant to access rl_special_prefixes usinggetVar()
orsetVar()
.Supporting implementations:
- GNU-Readline
- Editline
-
HISTORY_WORD_DELIMITERS
public static final org.gnu.readline.ReadlineConstString HISTORY_WORD_DELIMITERS
Constant to access history_word_delimiters usinggetVar()
orsetVar()
.Supporting implementations:
- GNU-Readline
-
HISTORY_NO_EXPAND_CHARS
public static final org.gnu.readline.ReadlineConstString HISTORY_NO_EXPAND_CHARS
Constant to access history_no_expand_chars usinggetVar()
orsetVar()
.Supporting implementations:
- GNU-Readline
-
HISTORY_SEARCH_DELIMITERS
public static final org.gnu.readline.ReadlineConstString HISTORY_SEARCH_DELIMITERS
Constant to access history_search_delimiter_chars usinggetVar()
orsetVar()
.Supporting implementations:
- GNU-Readline
-
RL_READLINE_VERSION
public static final org.gnu.readline.ReadlineConstInt RL_READLINE_VERSION
Constant to access rl_readline_version usinggetVar()
orsetVar()
.Supporting implementations:
- GNU-Readline
-
RL_GNU_READLINE_P
public static final org.gnu.readline.ReadlineConstInt RL_GNU_READLINE_P
Constant to access rl_gnu_readline_p usinggetVar()
orsetVar()
.Supporting implementations:
- GNU-Readline
-
RL_READLINE_STATE
public static final org.gnu.readline.ReadlineConstInt RL_READLINE_STATE
Constant to access rl_readline_state usinggetVar()
orsetVar()
.Supporting implementations:
- GNU-Readline
-
RL_EDITING_MODE
public static final org.gnu.readline.ReadlineConstInt RL_EDITING_MODE
Constant to access rl_editing_mode usinggetVar()
orsetVar()
.Supporting implementations:
- GNU-Readline
-
RL_INSERT_MODE
public static final org.gnu.readline.ReadlineConstInt RL_INSERT_MODE
Constant to access rl_insert_mode usinggetVar()
orsetVar()
.Supporting implementations:
- GNU-Readline
- Getline
-
RL_POINT
public static final org.gnu.readline.ReadlineConstInt RL_POINT
Constant to access rl_point usinggetVar()
orsetVar()
.Supporting implementations:
- GNU-Readline
- Editline
- Getline
-
RL_END
public static final org.gnu.readline.ReadlineConstInt RL_END
Constant to access rl_end usinggetVar()
orsetVar()
.Supporting implementations:
- GNU-Readline
- Editline
- Getline
-
RL_MARK
public static final org.gnu.readline.ReadlineConstInt RL_MARK
Constant to access rl_mark usinggetVar()
orsetVar()
.Supporting implementations:
- GNU-Readline
-
RL_DONE
public static final org.gnu.readline.ReadlineConstInt RL_DONE
Constant to access rl_done usinggetVar()
orsetVar()
.Supporting implementations:
- GNU-Readline
-
RL_PENDING_INPUT
public static final org.gnu.readline.ReadlineConstInt RL_PENDING_INPUT
Constant to access rl_pending_input usinggetVar()
orsetVar()
.Supporting implementations:
- GNU-Readline
-
RL_DISPATCHING
public static final org.gnu.readline.ReadlineConstInt RL_DISPATCHING
Constant to access rl_dispatching usinggetVar()
orsetVar()
.Supporting implementations:
- GNU-Readline
-
RL_EXPLICIT_ARG
public static final org.gnu.readline.ReadlineConstInt RL_EXPLICIT_ARG
Constant to access rl_explicit_arg usinggetVar()
orsetVar()
.Supporting implementations:
- GNU-Readline
-
RL_NUMERIC_ARG
public static final org.gnu.readline.ReadlineConstInt RL_NUMERIC_ARG
Constant to access rl_numeric_arg usinggetVar()
orsetVar()
.Supporting implementations:
- GNU-Readline
-
RL_ERASE_EMPTY_LINE
public static final org.gnu.readline.ReadlineConstInt RL_ERASE_EMPTY_LINE
Constant to access rl_erase_empty_line usinggetVar()
orsetVar()
.Supporting implementations:
- GNU-Readline
-
RL_ALREADY_PROMPTED
public static final org.gnu.readline.ReadlineConstInt RL_ALREADY_PROMPTED
Constant to access rl_already_prompted usinggetVar()
orsetVar()
.Supporting implementations:
- GNU-Readline
-
RL_NUM_CHARS_TO_READ
public static final org.gnu.readline.ReadlineConstInt RL_NUM_CHARS_TO_READ
Constant to access rl_num_chars_to_read usinggetVar()
orsetVar()
.Supporting implementations:
- GNU-Readline
-
RL_CATCH_SIGNALS
public static final org.gnu.readline.ReadlineConstInt RL_CATCH_SIGNALS
Constant to access rl_catch_signals usinggetVar()
orsetVar()
.Supporting implementations:
- GNU-Readline
-
RL_CATCH_SIGWINCH
public static final org.gnu.readline.ReadlineConstInt RL_CATCH_SIGWINCH
Constant to access rl_catch_sigwinch usinggetVar()
orsetVar()
.Supporting implementations:
- GNU-Readline
-
RL_FILENAME_COMPLETION_DESIRED
public static final org.gnu.readline.ReadlineConstInt RL_FILENAME_COMPLETION_DESIRED
Constant to access rl_filename_completion_desired usinggetVar()
orsetVar()
.Supporting implementations:
- GNU-Readline
-
RL_FILENAME_QUOTING_DESIRED
public static final org.gnu.readline.ReadlineConstInt RL_FILENAME_QUOTING_DESIRED
Constant to access rl_filename_quoting_desired usinggetVar()
orsetVar()
.Supporting implementations:
- GNU-Readline
-
RL_ATTEMPTED_COMPLETION_OVER
public static final org.gnu.readline.ReadlineConstInt RL_ATTEMPTED_COMPLETION_OVER
Constant to access rl_attempted_completion_over usinggetVar()
orsetVar()
.Supporting implementations:
- GNU-Readline
-
RL_COMPLETION_TYPE
public static final org.gnu.readline.ReadlineConstInt RL_COMPLETION_TYPE
Constant to access rl_completion_type usinggetVar()
orsetVar()
.Supporting implementations:
- GNU-Readline
- Editline
-
RL_COMPLETION_APPEND_CHARACTER
public static final org.gnu.readline.ReadlineConstInt RL_COMPLETION_APPEND_CHARACTER
Constant to access rl_completion_append_character usinggetVar()
orsetVar()
.Supporting implementations:
- GNU-Readline
- Editline
-
RL_COMPLETION_SUPPRESS_APPEND
public static final org.gnu.readline.ReadlineConstInt RL_COMPLETION_SUPPRESS_APPEND
Constant to access rl_completion_suppress_append usinggetVar()
orsetVar()
.Supporting implementations:
- GNU-Readline
-
RL_COMPLETION_QUERY_ITEMS
public static final org.gnu.readline.ReadlineConstInt RL_COMPLETION_QUERY_ITEMS
Constant to access rl_completion_query_items usinggetVar()
orsetVar()
.Supporting implementations:
- GNU-Readline
- Editline
-
RL_COMPLETION_MARK_SYMLINK_DIRS
public static final org.gnu.readline.ReadlineConstInt RL_COMPLETION_MARK_SYMLINK_DIRS
Constant to access rl_completion_mark_symlink_dirs usinggetVar()
orsetVar()
.Supporting implementations:
- GNU-Readline
-
RL_IGNORE_COMPLETION_DUPLICATES
public static final org.gnu.readline.ReadlineConstInt RL_IGNORE_COMPLETION_DUPLICATES
Constant to access rl_ignore_completion_duplicates usinggetVar()
orsetVar()
.Supporting implementations:
- GNU-Readline
-
RL_INHIBIT_COMPLETION
public static final org.gnu.readline.ReadlineConstInt RL_INHIBIT_COMPLETION
Constant to access rl_inhibit_completion usinggetVar()
orsetVar()
.Supporting implementations:
- GNU-Readline
- Editline
-
HISTORY_BASE
public static final org.gnu.readline.ReadlineConstInt HISTORY_BASE
Constant to access history_base usinggetVar()
orsetVar()
.Supporting implementations:
- GNU-Readline
- Editline
-
HISTORY_LENGTH
public static final org.gnu.readline.ReadlineConstInt HISTORY_LENGTH
Constant to access history_length usinggetVar()
orsetVar()
.Supporting implementations:
- GNU-Readline
- Editline
-
HISTORY_MAX_ENTRIES
public static final org.gnu.readline.ReadlineConstInt HISTORY_MAX_ENTRIES
Constant to access history_max_entries usinggetVar()
orsetVar()
.Supporting implementations:
- GNU-Readline
-
HISTORY_QUOTES_EXPANSION
public static final org.gnu.readline.ReadlineConstInt HISTORY_QUOTES_EXPANSION
Constant to access history_quotes_inhibit_expansion usinggetVar()
orsetVar()
.Supporting implementations:
- GNU-Readline
-
-
Method Detail
-
load
public static final void load(ReadlineLibrary lib) throws java.lang.UnsatisfiedLinkError
Load an implementing backing library. This method might throw an UnsatisfiedLinkError in case the native libary is not found in the library path. If you want to have a portable program, just catch and ignore that error. JavaReadline will then just use the pure Java fallback solution.- Parameters:
lib
- An object (constant) of type ReadlineLibrary- Throws:
java.lang.UnsatisfiedLinkError
- if the shared library could not be found. Add it to your LD_LIBRARY_PATH.- See Also:
ReadlineLibrary
-
initReadline
public static void initReadline(java.lang.String applicationName)
Initialize the GNU-Readline library. This will also set the application name, which can be used in the initialization files of Readline (usually /etc/inputrc and ~/.inputrc) to define application specific keys. See the file ReadlineTest.java int the test subdir of the distribution for an example.Supporting implementations:
- GNU-Readline
- Editline
- Getline
- Parameters:
applicationName
- Name of application in initialization file
-
readline
public static java.lang.String readline(java.lang.String prompt) throws java.io.EOFException, java.io.IOException, java.io.UnsupportedEncodingException
Display a prompt on standard output and read a string from standard input. This method returns 'null', if there has been an empty input (user pressed just [RETURN]) and throws an EOFException on end-of-file (C-d). This versino of readline() automatically adds the line to the in-memory history; use the other version of readline() if you want explicit control over that feature.Supporting implementations:
- GNU-Readline
- Editline
- Getline
- PureJava
- Parameters:
prompt
- Prompt to display- Returns:
- The string the user entered or 'null' if there was no input.
- Throws:
java.io.EOFException
- on end-of-file, i.e. CTRL-d input.java.io.IOException
java.io.UnsupportedEncodingException
- See Also:
readline(String,boolean)
,#addHistory()
-
readline
public static java.lang.String readline(java.lang.String prompt, boolean addToHist) throws java.io.EOFException, java.io.IOException, java.io.UnsupportedEncodingException
Display a prompt on standard output and read a string from standard input. This method returns 'null', if there has been an empty input (user pressed just [RETURN]) and throws an EOFException on end-of-file (C-d).- Parameters:
prompt
- Prompt to displayaddToHist
- true to add the line to the history automatically; false to refrain from adding the line to the history. (You can manually add the line to the history by calling addHistory().)- Returns:
- The string the user entered or 'null' if there was no input.
- Throws:
java.io.EOFException
- on end-of-file, i.e. CTRL-d input.java.io.IOException
java.io.UnsupportedEncodingException
- See Also:
readline(String)
,#addHistory()
-
addToHistory
public static void addToHistory(java.lang.String line)
Add a line to the in-memory history.Supporting implementations:
- GNU-Readline
- Editline
- Getline
- Parameters:
line
- The line to add to the history- Throws:
UnsupportOperationException
- if underlying library doesn't support a history
-
getHistory
public static void getHistory(java.util.Collection collection)
Get the history buffer in a supplied Collection.Supporting implementations:
- GNU-Readline
- Editline
- Parameters:
collection
- where to store the history- Throws:
UnsupportOperationException
- if underlying library doesn't support a history
-
getHistorySize
public static int getHistorySize()
Get the size, in elements (lines), of the history buffer.Supporting implementations:
- GNU-Readline
- Editline
- Returns:
- the number of lines in the history buffer
-
clearHistory
public static void clearHistory()
Clear the history buffer.Supporting implementations:
- GNU-Readline
- Editline
-
getHistoryLine
public static java.lang.String getHistoryLine(int i)
Get the specified entry from the history buffer. History buffer entries are numbered from 0 through (getHistorySize() - 1), with the oldest entry at index 0.Supporting implementations:
- GNU-Readline
- Editline
- Parameters:
i
- the index of the entry to return- Returns:
- the line at the specified index in the history buffer
- Throws:
java.lang.ArrayIndexOutOfBoundsException
- index out of range
-
readInitFile
public static void readInitFile(java.lang.String filename) throws java.io.IOException
Read keybindings and variable assignments from a file. This method is a wrapper to rl_read_init_file(char *filename). Throws IOException if something goes wrong.Supporting implementations:
- GNU-Readline
- Parameters:
filename
- Name of file to read bindings from- Throws:
java.io.IOException
-
parseAndBind
public static boolean parseAndBind(java.lang.String line)
Parse argument string as if it had been read from `inputrc' file and perform key bindings and variable assignments found.Supporting implementations:
- GNU-Readline
- Parameters:
line
- Simulated line from inputrc file- Returns:
- boolean False in case of error
-
readHistoryFile
public static void readHistoryFile(java.lang.String filename) throws java.io.EOFException, java.io.UnsupportedEncodingException
Reads a history file into memorySupporting implementations:
- GNU-Readline
- Editline
- Parameters:
filename
- Name of history file to read- Throws:
java.io.EOFException
java.io.UnsupportedEncodingException
-
writeHistoryFile
public static void writeHistoryFile(java.lang.String filename) throws java.io.EOFException, java.io.UnsupportedEncodingException
Writes a history file to discSupporting implementations:
- GNU-Readline
- Editline
- Parameters:
filename
- Name of history file to write- Throws:
java.io.EOFException
java.io.UnsupportedEncodingException
-
setCompleter
public static void setCompleter(ReadlineCompleter rlc)
Set your completer implementation. Setting this tonull
will result in the default behaviour of readline which is filename completion.Supporting implementations:
- GNU-Readline
- Editline
- Parameters:
rlc
- An object implementing the ReadlineCompleter interface
-
getCompleter
public static ReadlineCompleter getCompleter()
Query current completer function.- Returns:
- Current ReadlineCompleter object
-
cleanup
public static void cleanup()
Reset the readline library and with it, the terminal.Supporting implementations:
- GNU-Readline
- Editline
-
hasTerminal
public static boolean hasTerminal()
Return if we have a terminal. This requires, that any of the native libraries have been loaded yet (so call Readline.load(ReadlineLibrary)
()) first, otherwise this will always return true.Supporting implementations:
- GNU-Readline
- Editline
-
setWordBreakCharacters
public static void setWordBreakCharacters(java.lang.String wordBreakCharacters) throws java.io.UnsupportedEncodingException
Set word break characters.Supporting implementations:
- GNU-Readline
- Editline
- Parameters:
wordBreakCharacters
- A string of word break characters- Throws:
java.io.UnsupportedEncodingException
-
getWordBreakCharacters
public static java.lang.String getWordBreakCharacters()
Query word break characters.Supporting implementations:
- GNU-Readline
- Editline
-
getLineBuffer
public static java.lang.String getLineBuffer()
Query the current line buffer. This returns the current content of the internal line buffer. You might need this in aReadlineCompleter
implementation to access the full text given so far.Supporting implementations:
- GNU-Readline
- Editline
-
setThrowExceptionOnUnsupportedMethod
public static void setThrowExceptionOnUnsupportedMethod(boolean flag)
Configure behavior in case an unsupported method is called. If argument is true, unsupported methods throw an UnsupportedOperationException.- Parameters:
flag
- configuration flag
-
getThrowExceptionOnUnsupportedMethod
public static boolean getThrowExceptionOnUnsupportedMethod()
Query behavior in case an unsupported method is called.- Returns:
- configuration flag
-
setEncoding
public static void setEncoding(java.lang.String encoding)
Set current encoding of fallback BufferedReader.- Parameters:
encoding
- encoding to use
-
getEncoding
public static java.lang.String getEncoding()
Query current encoding of fallback BufferedReader.- Returns:
- current encoding
-
setVar
public static int setVar(org.gnu.readline.ReadlineConstInt c, int value)
Set integer readline-variable.- Parameters:
c
- symbolic constant of readline-variablevalue
- new value of readline-variable- Returns:
- old value of readline-variable
-
getVar
public static int getVar(org.gnu.readline.ReadlineConstInt c)
Query integer readline-variable.- Parameters:
c
- symbolic constant of readline-variable- Returns:
- value of variable
-
setVar
public static java.lang.String setVar(org.gnu.readline.ReadlineConstString c, java.lang.String value) throws java.io.UnsupportedEncodingException
Set string readline-variable.- Parameters:
c
- symbolic constant of readline-variablevalue
- new value of readline-variable- Returns:
- old value of readline-variable
- Throws:
java.io.UnsupportedEncodingException
-
getVar
public static java.lang.String getVar(org.gnu.readline.ReadlineConstString c) throws java.io.UnsupportedEncodingException
Query string readline-variable.- Parameters:
c
- symbolic constant of readline-variable- Returns:
- value of variable
- Throws:
java.io.UnsupportedEncodingException
-
-