Class ArgumentCompletor
java.lang.Object
jline.ArgumentCompletor
- All Implemented Interfaces:
Completor
A
Completor implementation that invokes a child completor
using the appropriate separator argument. This
can be used instead of the individual completors having to
know about argument parsing semantics.
Example 1: Any argument of the command line can use file completion.
consoleReader.addCompletor (new ArgumentCompletor (
new FileNameCompletor ()))
Example 2: The first argument of the command line can be completed with any of "foo", "bar", or "baz", and remaining arguments can be completed with a file name.
consoleReader.addCompletor (new ArgumentCompletor (
new SimpleCompletor (new String [] { "foo", "bar", "baz"})));
consoleReader.addCompletor (new ArgumentCompletor (
new FileNameCompletor ()));
When the argument index is past the last embedded completors, the last
completors is always used. To disable this behavior, have the last
completor be a NullCompletor. For example:
consoleReader.addCompletor (new ArgumentCompletor (
new SimpleCompletor (new String [] { "foo", "bar", "baz"}),
new SimpleCompletor (new String [] { "xxx", "yyy", "xxx"}),
new NullCompletor
));
TODO: handle argument quoting and escape characters
- Author:
- Marc Prud'hommeaux
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classAbstract implementation of a delimiter that uses theArgumentCompletor.AbstractArgumentDelimiter.isDelimiter(String, int)method to determine if a particular character should be used as a delimiter.static interfaceTheArgumentCompletor.ArgumentDelimiterallows custom breaking up of aStringinto individual arguments in order to dispatch the arguments to the nestedCompletor.static classThe result of a delimited buffer.static classArgumentCompletor.ArgumentDelimiterimplementation that counts all whitespace (as reported byCharacter.isWhitespace(char)) as being a delimiter. -
Constructor Summary
ConstructorsConstructorDescriptionArgumentCompletor(List completors) Constuctor: create a new completor with the default argument separator of " ".ArgumentCompletor(Completor completor) Constuctor: create a new completor with the default argument separator of " ".ArgumentCompletor(Completor[] completors) Constuctor: create a new completor with the default argument separator of " ".ArgumentCompletor(Completor[] completors, ArgumentCompletor.ArgumentDelimiter delim) Constuctor: create a new completor with the specified argument delimiter.ArgumentCompletor(Completor completor, ArgumentCompletor.ArgumentDelimiter delim) Constuctor: create a new completor with the specified argument delimiter. -
Method Summary
Modifier and TypeMethodDescriptionintPopulates candidates with a list of possible completions for the buffer.booleanReturns whether a completion at argument index N will succees if all the completions from arguments 0-(N-1) also succeed.voidsetStrict(boolean strict) If true, a completion at argument index N will only succeed if all the completions from 0-(N-1) also succeed.
-
Constructor Details
-
ArgumentCompletor
Constuctor: create a new completor with the default argument separator of " ".- Parameters:
completor- the embedded completor
-
ArgumentCompletor
Constuctor: create a new completor with the default argument separator of " ".- Parameters:
completors- the List of completors to use
-
ArgumentCompletor
Constuctor: create a new completor with the default argument separator of " ".- Parameters:
completors- the embedded argument completors
-
ArgumentCompletor
Constuctor: create a new completor with the specified argument delimiter.- Parameters:
completor- the embedded completordelim- the delimiter for parsing arguments
-
ArgumentCompletor
Constuctor: create a new completor with the specified argument delimiter.- Parameters:
completors- the embedded completorsdelim- the delimiter for parsing arguments
-
-
Method Details
-
setStrict
If true, a completion at argument index N will only succeed if all the completions from 0-(N-1) also succeed. -
getStrict
Returns whether a completion at argument index N will succees if all the completions from arguments 0-(N-1) also succeed. -
complete
-