# blank_line

URL: /patitas/api/parsing/blocks/list/blank_line/
Section: list
Description: Blank line handling for list parsing.

Handles the complex logic for blank lines within and between list items.

Phase 4: Uses ContainerStack for indent queries (stack is source of truth).

---

> For a complete page index, fetch /patitas/llms.txt.

Open LLM text
(/patitas/api/parsing/blocks/list/blank_line/index.txt)

Share with AI

Ask Claude
(https://claude.ai/new?q=Please%20help%20me%20understand%20this%20documentation%3A%20%2Fpatitas%2Fapi%2Fparsing%2Fblocks%2Flist%2Fblank_line%2Findex.txt)

Ask ChatGPT
(https://chatgpt.com/?q=Please%20help%20me%20understand%20this%20documentation%3A%20%2Fpatitas%2Fapi%2Fparsing%2Fblocks%2Flist%2Fblank_line%2Findex.txt)

Ask Gemini
(https://gemini.google.com/app?q=Please%20help%20me%20understand%20this%20documentation%3A%20%2Fpatitas%2Fapi%2Fparsing%2Fblocks%2Flist%2Fblank_line%2Findex.txt)

Ask Copilot
(https://copilot.microsoft.com/?q=Please%20help%20me%20understand%20this%20documentation%3A%20%2Fpatitas%2Fapi%2Fparsing%2Fblocks%2Flist%2Fblank_line%2Findex.txt)

Module

#
`parsing.blocks.list.blank_line`

Blank line handling for list parsing.

Handles the complex logic for blank lines within and between list items.

Phase 4: Uses ContainerStack for indent queries (stack is source of truth).

6Classes2Functions

## Classes

`BlankLineResult`

0

▼

Base class for blank line handling results.

Base class for blank line handling results.

`ContinueList`

1

▼

Continue parsing the current list (may mark as loose).

Bases:

`BlankLineResult (/patitas/api/parsing/blocks/list/blank_line/#BlankLineResult)`

Continue parsing the current list (may mark as loose).

#### Methods

Internal Methods
1

▼

`__init__`

2

▼

`def __init__(self, is_loose: bool = False, save_paragraph: bool = False)`

##### Parameters

Name
Type
Description

`is_loose`
`—`

Default:`False`

`save_paragraph`
`—`

Default:`False`

`EndItem`

1

▼

End the current list item but continue the list.

Bases:

`BlankLineResult (/patitas/api/parsing/blocks/list/blank_line/#BlankLineResult)`

End the current list item but continue the list.

#### Methods

Internal Methods
1

▼

`__init__`

1

▼

`def __init__(self, is_loose: bool = True)`

##### Parameters

Name
Type
Description

`is_loose`
`—`

Default:`True`

`EndList`

0

▼

End the entire list.

Bases:

`BlankLineResult (/patitas/api/parsing/blocks/list/blank_line/#BlankLineResult)`

End the entire list.

`ParseBlock`

1

▼

Parse the next token as a block element within the list item.

Bases:

`BlankLineResult (/patitas/api/parsing/blocks/list/blank_line/#BlankLineResult)`

Parse the next token as a block element within the list item.

#### Methods

Internal Methods
1

▼

`__init__`

1

▼

`def __init__(self, is_loose: bool = True)`

##### Parameters

Name
Type
Description

`is_loose`
`—`

Default:`True`

`ParseContinuation`

1

▼

Parse the next token as continuation content.

Bases:

`BlankLineResult (/patitas/api/parsing/blocks/list/blank_line/#BlankLineResult)`

Parse the next token as continuation content.

#### Methods

Internal Methods
1

▼

`__init__`

2

▼

`def __init__(self, is_loose: bool = True, save_paragraph: bool = True)`

##### Parameters

Name
Type
Description

`is_loose`
`—`

Default:`True`

`save_paragraph`
`—`

Default:`True`

## Functions

`handle_blank_line`

2

`BlankLineResult (/patitas/api/parsing/blocks/list/blank_line/#BlankLineResult)`

▼

Handle blank line in list parsing using ContainerStack.

Determines what action…

`def handle_blank_line(next_token: Token | None, containers: ContainerStack) -> BlankLineResult`

Handle blank line in list parsing using ContainerStack.

Determines what action to take after encountering a blank line
within a list item. Queries indent values from the container stack
(the stack is the source of truth for indent context).

##### Parameters

Name
Type
Description

`next_token`
`Token (/patitas/api/tokens/#Token) | None`

The token following the blank line(s)

`containers`
`ContainerStack (/patitas/api/parsing/containers/#ContainerStack)`

The container stack with current frame context

##### Returns

`BlankLineResult (/patitas/api/parsing/blocks/list/blank_line/#BlankLineResult)`

`_handle_blank_then_indented_code`

2

`BlankLineResult (/patitas/api/parsing/blocks/list/blank_line/#BlankLineResult)`

▼

Handle INDENTED_CODE token after blank line using ContainerStack.

This is comp…

`def _handle_blank_then_indented_code(token: Token, containers: ContainerStack) -> BlankLineResult`

Handle INDENTED_CODE token after blank line using ContainerStack.

This is complex because INDENTED_CODE may be:

- A list marker continuation (at list level)

- Paragraph continuation (at content level)

- Block quote or fenced code

- Actual indented code block (4+ beyond content)

##### Parameters

Name
Type
Description

`token`
`Token (/patitas/api/tokens/#Token)`

The INDENTED_CODE token

`containers`
`ContainerStack (/patitas/api/parsing/containers/#ContainerStack)`

The container stack with current frame context

##### Returns

`BlankLineResult (/patitas/api/parsing/blocks/list/blank_line/#BlankLineResult)`
