|
The Java-Readline Library, Version 0.7.0 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--org.gnu.readline.Readline
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
Constructor Summary | |
Readline()
|
Method Summary | |
static void |
cleanup()
Reset the readline library and with it, the terminal. |
static ReadlineCompleter |
getCompleter()
Query current completer function. |
static java.lang.String |
getLineBuffer()
Query the current line buffer. |
static boolean |
getThrowExceptionOnUnsupportedMethod()
Query behavior in case an unsupported method is called. |
static java.lang.String |
getWordBreakCharacters()
Query word break characters. |
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 memory |
static 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 void |
setCompleter(ReadlineCompleter rlc)
Set your completer implementation. |
static void |
setThrowExceptionOnUnsupportedMethod(boolean flag)
Configure behavior in case an unsupported method is called. |
static void |
setWordBreakCharacters(java.lang.String wordBreakCharacters)
Set word break characters. |
static void |
writeHistoryFile(java.lang.String filename)
Writes a history file to disc |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public Readline()
Method Detail |
public static final void load(ReadlineLibrary lib) throws java.lang.UnsatisfiedLinkError
lib
- An object (constant) of type ReadlineLibraryjava.lang.UnsatisfiedLinkError
- if the shared library could not be
found. Add it to your LD_LIBRARY_PATH.ReadlineLibrary
public static void initReadline(java.lang.String applicationName)
applicationName
- Name of application in initialization filepublic static java.lang.String readline(java.lang.String prompt) throws java.io.EOFException, java.io.IOException, java.io.UnsupportedEncodingException
prompt
- Prompt to displayjava.io.EOFException
- on end-of-file, i.e. CTRL-d input.public static void readInitFile(java.lang.String filename) throws java.io.IOException
filename
- Name of file to read bindings frompublic static boolean parseAndBind(java.lang.String line)
line
- Simulated line from inputrc filepublic static void readHistoryFile(java.lang.String filename) throws java.io.EOFException, java.io.UnsupportedEncodingException
filename
- Name of history file to readpublic static void writeHistoryFile(java.lang.String filename) throws java.io.EOFException, java.io.UnsupportedEncodingException
filename
- Name of history file to writepublic static void setCompleter(ReadlineCompleter rlc)
null
will result in the default behaviour of readline which is filename
completion.rlc
- An object implementing the ReadlineCompleter interfacepublic static ReadlineCompleter getCompleter()
public static void cleanup()
public static java.lang.String getWordBreakCharacters()
public static java.lang.String getLineBuffer()
ReadlineCompleter
implementation to access the full text
given so far.public static void setWordBreakCharacters(java.lang.String wordBreakCharacters) throws java.io.UnsupportedEncodingException
wordBreakCharacters
- A string of word break characterspublic static void setThrowExceptionOnUnsupportedMethod(boolean flag)
flag
- configuration flagpublic static boolean getThrowExceptionOnUnsupportedMethod()
|
The Java-Readline Library, Version 0.7.0 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |