Module

lexer.classifiers.thematic

Thematic break classifier mixin.

Classes

ThematicClassifierMixin 2
Mixin providing thematic break classification.

Mixin providing thematic break classification.

Methods

Internal Methods 2
_make_token 6 Token
Create token with raw coordinates. Implemented by Lexer.
def _make_token(self, token_type: TokenType, value: str, start_pos: int, *, start_col: int | None = None, end_pos: int | None = None, line_indent: int = -1) -> Token
Parameters
Name Type Description
token_type
value
start_pos
start_col Default:None
end_pos Default:None
line_indent Default:-1
Returns
Token
_try_classify_thematic_break 3 Token | None
Try to classify content as thematic break. Thematic breaks are 3+ of the same …
def _try_classify_thematic_break(self, content: str, line_start: int, indent: int = 0) -> Token | None

Try to classify content as thematic break.

Thematic breaks are 3+ of the same character (-, *, _) with optional spaces/tabs between them.

Parameters
Name Type Description
content

Line content with leading whitespace stripped

line_start

Position in source where line starts

indent

Number of leading spaces (for line_indent)

Default:0
Returns
Token | None Token if valid break, None otherwise.