Classes
HtmlScannerMixin
14
▼
Mixin providing HTML block mode scanning logic.
Scans content inside HTML blocks until the appropr…
HtmlScannerMixin
14
▼
Mixin providing HTML block mode scanning logic.
Scans content inside HTML blocks until the appropriate end condition based on the HTML block type (1-7 per CommonMark spec).
Attributes
| Name | Type | Description |
|---|---|---|
_source |
str
|
— |
_pos |
int
|
— |
_source_len |
int
|
— |
_mode |
LexerMode
|
— |
_html_block_type |
int
|
— |
_html_block_content |
list[str]
|
— |
_html_block_start |
int
|
— |
_consumed_newline |
bool
|
— |
Methods
Internal Methods 6 ▼
_save_location
0
▼
Save current location for O(1) token location creation.
_save_location
0
▼
def _save_location(self) -> None
_find_line_end
0
int
▼
Find end of current line.
_find_line_end
0
int
▼
def _find_line_end(self) -> int
Returns
int
_commit_to
1
▼
Commit position to line_end.
_commit_to
1
▼
def _commit_to(self, line_end: int) -> None
Parameters
| Name | Type | Description |
|---|---|---|
line_end |
— |
_make_token
6
Token
▼
Create token with raw coordinates. Implemented by Lexer.
_make_token
6
Token
▼
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
_emit_html_block
0
Iterator[Token]
▼
Emit accumulated HTML block. Implemented by HtmlClassifierMixin.
_emit_html_block
0
Iterator[Token]
▼
def _emit_html_block(self) -> Iterator[Token]
Returns
Iterator[Token]
_scan_html_block_content
0
Iterator[Token]
▼
Scan content inside HTML block until end condition.
**The end condition depend…
_scan_html_block_content
0
Iterator[Token]
▼
def _scan_html_block_content(self) -> Iterator[Token]
Scan content inside HTML block until end condition.
The end condition depends on the HTML block type:
- Type 1: Ends with closing tag (, , etc.)
- Type 2: Ends with -->
- Type 3: Ends with ?>
- Type 4: Ends with >
- Type 5: Ends with ]]>
- Types 6, 7: End with blank line
Returns
Iterator[Token]