Package org.jline.reader
Interface Parser
-
- All Known Implementing Classes:
DefaultParser
public interface Parser
The Parser interface is responsible for parsing command lines into tokens.Parsers analyze input strings and break them into words/tokens according to specific syntax rules. They handle features such as quoting, escaping special characters, and comments. The parser is used by the LineReader during tab completion and when accepting a line of input.
Implementations should ideally return
CompletingParsedLine
objects to properly support completion with escaped or quoted words.The default implementation is
DefaultParser
.- See Also:
ParsedLine
,CompletingParsedLine
,DefaultParser
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static class
Parser.ParseContext
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
REGEX_COMMAND
static java.lang.String
REGEX_VARIABLE
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default java.lang.String
getCommand(java.lang.String line)
default java.lang.String
getVariable(java.lang.String line)
default boolean
isEscapeChar(char ch)
default ParsedLine
parse(java.lang.String line, int cursor)
ParsedLine
parse(java.lang.String line, int cursor, Parser.ParseContext context)
default boolean
validCommandName(java.lang.String name)
default boolean
validVariableName(java.lang.String name)
-
-
-
Field Detail
-
REGEX_VARIABLE
static final java.lang.String REGEX_VARIABLE
- See Also:
- Constant Field Values
-
REGEX_COMMAND
static final java.lang.String REGEX_COMMAND
- See Also:
- Constant Field Values
-
-
Method Detail
-
parse
ParsedLine parse(java.lang.String line, int cursor, Parser.ParseContext context) throws SyntaxError
- Throws:
SyntaxError
-
parse
default ParsedLine parse(java.lang.String line, int cursor) throws SyntaxError
- Throws:
SyntaxError
-
isEscapeChar
default boolean isEscapeChar(char ch)
-
validCommandName
default boolean validCommandName(java.lang.String name)
-
validVariableName
default boolean validVariableName(java.lang.String name)
-
getCommand
default java.lang.String getCommand(java.lang.String line)
-
getVariable
default java.lang.String getVariable(java.lang.String line)
-
-