Package jline.console.completer
Class ArgumentCompleter
- java.lang.Object
-
- jline.console.completer.ArgumentCompleter
-
- All Implemented Interfaces:
Completer
public class ArgumentCompleter extends java.lang.Object implements Completer
ACompleter
implementation that invokes a child completer using the appropriate separator argument. This can be used instead of the individual completers having to know about argument parsing semantics.- Since:
- 2.3
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ArgumentCompleter.AbstractArgumentDelimiter
Abstract implementation of a delimiter that uses theArgumentCompleter.AbstractArgumentDelimiter.isDelimiter(java.lang.CharSequence, int)
method to determine if a particular character should be used as a delimiter.static interface
ArgumentCompleter.ArgumentDelimiter
TheArgumentCompleter.ArgumentDelimiter
allows custom breaking up of aString
into individual arguments in order to dispatch the arguments to the nestedCompleter
.static class
ArgumentCompleter.ArgumentList
The result of a delimited buffer.static class
ArgumentCompleter.WhitespaceArgumentDelimiter
ArgumentCompleter.ArgumentDelimiter
implementation that counts all whitespace (as reported byCharacter.isWhitespace(char)
) as being a delimiter.
-
Field Summary
Fields Modifier and Type Field Description private java.util.List<Completer>
completers
private ArgumentCompleter.ArgumentDelimiter
delimiter
private boolean
strict
-
Constructor Summary
Constructors Constructor Description ArgumentCompleter(java.util.List<Completer> completers)
Create a new completer with the defaultArgumentCompleter.WhitespaceArgumentDelimiter
.ArgumentCompleter(ArgumentCompleter.ArgumentDelimiter delimiter, java.util.Collection<Completer> completers)
Create a new completer with the specified argument delimiter.ArgumentCompleter(ArgumentCompleter.ArgumentDelimiter delimiter, Completer... completers)
Create a new completer with the specified argument delimiter.ArgumentCompleter(Completer... completers)
Create a new completer with the defaultArgumentCompleter.WhitespaceArgumentDelimiter
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
complete(java.lang.String buffer, int cursor, java.util.List<java.lang.CharSequence> candidates)
Populates candidates with a list of possible completions for the buffer.java.util.List<Completer>
getCompleters()
ArgumentCompleter.ArgumentDelimiter
getDelimiter()
boolean
isStrict()
Returns whether a completion at argument index N will success if all the completions from arguments 0-(N-1) also succeed.void
setStrict(boolean strict)
If true, a completion at argument index N will only succeed if all the completions from 0-(N-1) also succeed.
-
-
-
Field Detail
-
delimiter
private final ArgumentCompleter.ArgumentDelimiter delimiter
-
completers
private final java.util.List<Completer> completers
-
strict
private boolean strict
-
-
Constructor Detail
-
ArgumentCompleter
public ArgumentCompleter(ArgumentCompleter.ArgumentDelimiter delimiter, java.util.Collection<Completer> completers)
Create a new completer with the specified argument delimiter.- Parameters:
delimiter
- The delimiter for parsing argumentscompleters
- The embedded completers
-
ArgumentCompleter
public ArgumentCompleter(ArgumentCompleter.ArgumentDelimiter delimiter, Completer... completers)
Create a new completer with the specified argument delimiter.- Parameters:
delimiter
- The delimiter for parsing argumentscompleters
- The embedded completers
-
ArgumentCompleter
public ArgumentCompleter(Completer... completers)
Create a new completer with the defaultArgumentCompleter.WhitespaceArgumentDelimiter
.- Parameters:
completers
- The embedded completers
-
ArgumentCompleter
public ArgumentCompleter(java.util.List<Completer> completers)
Create a new completer with the defaultArgumentCompleter.WhitespaceArgumentDelimiter
.- Parameters:
completers
- The embedded completers
-
-
Method Detail
-
setStrict
public void setStrict(boolean strict)
If true, a completion at argument index N will only succeed if all the completions from 0-(N-1) also succeed.
-
isStrict
public boolean isStrict()
Returns whether a completion at argument index N will success if all the completions from arguments 0-(N-1) also succeed.- Returns:
- True if strict.
- Since:
- 2.3
-
getDelimiter
public ArgumentCompleter.ArgumentDelimiter getDelimiter()
- Since:
- 2.3
-
getCompleters
public java.util.List<Completer> getCompleters()
- Since:
- 2.3
-
complete
public int complete(java.lang.String buffer, int cursor, java.util.List<java.lang.CharSequence> candidates)
Description copied from interface:Completer
Populates candidates with a list of possible completions for the buffer. The candidates list will not be sorted before being displayed to the user: thus, the complete method should sort theList
before returning.
-
-