almanac.parsing
¶
-
get_lexer_cls_for_app
(app: Application) → Type[RegexLexer][source]¶ Get a lexer class for a specific Application instance.
-
class
IncompleteToken
(token: str)[source]¶ Bases:
object
Encapsulation of a token that could only be partially parsed.
-
property
is_ambiguous_arg
¶
-
property
is_kw_arg
¶
-
property
is_pos_arg
¶
-
property
key
¶
-
property
value
¶
-
property
-
class
ParseStatus
(results, unparsed_text, unparsed_start_pos, state)[source]¶ Bases:
tuple
-
results
: pyparsing.ParseResults¶ Alias for field number 0
-
state
: almanac.parsing.parsing.ParseState¶ Alias for field number 3
-
-
class
Patterns
[source]¶ Bases:
object
-
ALLOWED_SYMBOLS_IN_STRING
= '-_/#@£$€%*+~|<>?.'¶
-
BOOLEAN
= '(True|true|False|false)'¶
-
COMMAND
= '^([a-zA-Z_][a-zA-Z0-9_\\-]*)(\\s+|$)'¶
-
FLOAT
= '\\-?\\d+\\.\\d*([eE]\\d+)?'¶
-
IDENTIFIER
= '([a-zA-Z_][a-zA-Z0-9_\\-]*)'¶
-
INTEGER
= '\\-?\\d+'¶
-
KWARG
= '([a-zA-Z_][a-zA-Z0-9_\\-]*)(\\s*=\\s*)'¶
-
STRING_DOUBLE_QUOTE
= '\\"([^\\\\\\"]|\\\\.)*\\"'¶
-
STRING_SINGLE_QUOTE
= "\\'([^\\\\\\']|\\\\.)*\\'"¶
-
UNQUOTED_STRING
= '([a-zA-Z0-9-_/#@£$€%*+~|<>?.]+)'¶
-
WHITESPACE
= '\\s+'¶
-
-
last_incomplete_token
(document: prompt_toolkit.document.Document, unparsed_text: str) → almanac.parsing.parsing.IncompleteToken[source]¶
-
last_incomplete_token_from_document
(document: prompt_toolkit.document.Document) → almanac.parsing.parsing.IncompleteToken[source]¶ Shortcut for getting the last incomplete token only from a
Document
.
-
parse_cmd_line
(text: str) → almanac.parsing.parsing.ParseStatus[source]¶ Attempt to parse a command line, returning a
ParseStatus
object.