Package jline.console.completer
Class ArgumentCompleter.AbstractArgumentDelimiter
java.lang.Object
jline.console.completer.ArgumentCompleter.AbstractArgumentDelimiter
- All Implemented Interfaces:
ArgumentCompleter.ArgumentDelimiter
- Direct Known Subclasses:
ArgumentCompleter.WhitespaceArgumentDelimiter
- Enclosing class:
ArgumentCompleter
public abstract static class ArgumentCompleter.AbstractArgumentDelimiter
extends Object
implements ArgumentCompleter.ArgumentDelimiter
Abstract implementation of a delimiter that uses the
isDelimiter(java.lang.CharSequence, int)
method to determine if a particular
character should be used as a delimiter.-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiondelimit
(CharSequence buffer, int cursor) Break the specified buffer into individual tokens that can be completed on their own.char[]
char[]
boolean
isDelimiter
(CharSequence buffer, int pos) Returns true if the specified character is a whitespace parameter.abstract boolean
isDelimiterChar
(CharSequence buffer, int pos) Returns true if the character at the specified position if a delimiter.boolean
isEscapeChar
(CharSequence buffer, int pos) Check if this character is a valid escape char (i.e.boolean
isEscaped
(CharSequence buffer, int pos) Check if a character is escaped (i.e.boolean
isQuoteChar
(CharSequence buffer, int pos) boolean
isQuoted
(CharSequence buffer, int pos) void
setEscapeChars
(char[] chars) void
setQuoteChars
(char[] chars)
-
Field Details
-
quoteChars
private char[] quoteChars -
escapeChars
private char[] escapeChars
-
-
Constructor Details
-
AbstractArgumentDelimiter
public AbstractArgumentDelimiter()
-
-
Method Details
-
setQuoteChars
public void setQuoteChars(char[] chars) -
getQuoteChars
public char[] getQuoteChars() -
setEscapeChars
public void setEscapeChars(char[] chars) -
getEscapeChars
public char[] getEscapeChars() -
delimit
Description copied from interface:ArgumentCompleter.ArgumentDelimiter
Break the specified buffer into individual tokens that can be completed on their own.- Specified by:
delimit
in interfaceArgumentCompleter.ArgumentDelimiter
- Parameters:
buffer
- The buffer to splitcursor
- The current position of the cursor in the buffer- Returns:
- The tokens
-
isDelimiter
Returns true if the specified character is a whitespace parameter. Check to ensure that the character is not escaped by any ofgetQuoteChars()
, and is not escaped by ant of thegetEscapeChars()
, and returns true fromisDelimiterChar(java.lang.CharSequence, int)
.- Specified by:
isDelimiter
in interfaceArgumentCompleter.ArgumentDelimiter
- Parameters:
buffer
- The complete command bufferpos
- The index of the character in the buffer- Returns:
- True if the character should be a delimiter
-
isQuoted
-
isQuoteChar
-
isEscapeChar
Check if this character is a valid escape char (i.e. one that has not been escaped) -
isEscaped
Check if a character is escaped (i.e. if the previous character is an escape)- Parameters:
buffer
- the buffer to check inpos
- the position of the character to check- Returns:
- true if the character at the specified position in the given buffer is an escape character and the character immediately preceding it is not an escape character.
-
isDelimiterChar
Returns true if the character at the specified position if a delimiter. This method will only be called if the character is not enclosed in any of thegetQuoteChars()
, and is not escaped by ant of thegetEscapeChars()
. To perform escaping manually, overrideisDelimiter(java.lang.CharSequence, int)
instead.
-