jline

Class CandidateListCompletionHandler

Implemented Interfaces:
CompletionHandler

public class CandidateListCompletionHandler
extends java.lang.Object
implements CompletionHandler

A CompletionHandler that deals with multiple distinct completions by outputting the complete list of possibilities to the console. This mimics the behavior of the readline library. TODO:
Author:
Marc Prud'hommeaux

Field Summary

private boolean
eagerNewlines
private static ResourceBundle
loc

Method Summary

boolean
complete(ConsoleReader reader, List candidates, int pos)
private String
getUnambiguousCompletions(List candidates)
Returns a root that matches all the String elements of the specified List, or null if there are no commalities.
static void
printCandidates(ConsoleReader reader, Collection candidates, boolean eagerNewlines)
Print out the candidates.
void
setAlwaysIncludeNewline(boolean eagerNewlines)
static void
setBuffer(ConsoleReader reader, String value, int offset)
private boolean
startsWith(String starts, String[] candidates)

Field Details

eagerNewlines

private boolean eagerNewlines

loc

private static ResourceBundle loc

Method Details

complete

public boolean complete(ConsoleReader reader,
                        List candidates,
                        int pos)
            throws IOException
Specified by:
complete in interface CompletionHandler

getUnambiguousCompletions

private final String getUnambiguousCompletions(List candidates)
Returns a root that matches all the String elements of the specified List, or null if there are no commalities. For example, if the list contains foobar, foobaz, foobuz, the method will return foob.

printCandidates

public static final void printCandidates(ConsoleReader reader,
                                         Collection candidates,
                                         boolean eagerNewlines)
            throws IOException
Print out the candidates. If the size of the candidates is greated than the getAutoprintThreshhold, they prompt with aq warning.
Parameters:
candidates - the list of candidates to print

setAlwaysIncludeNewline

public void setAlwaysIncludeNewline(boolean eagerNewlines)

setBuffer

public static void setBuffer(ConsoleReader reader,
                             String value,
                             int offset)
            throws IOException

startsWith

private final boolean startsWith(String starts,
                                 String[] candidates)
Returns:
true is all the elements of candidates start with starts