Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 13 additions & 10 deletions src/mars_patcher/text.py
Original file line number Diff line number Diff line change
Expand Up @@ -125,14 +125,6 @@ def encode_text(
escaped = False
markup_tag: list[str] | None = None

def handle_break() -> None:
nonlocal prev_break, width_since_break, line_width, line_number
prev_break = len(text)
width_since_break = 0
if char_val in NEWLINE_CHARS:
line_width = 0
line_number += 1

for char in string:
if not escaped:
# Check for escaped character
Expand All @@ -158,10 +150,17 @@ def handle_break() -> None:
if char_val is None:
raise ValueError(f"Invalid markup tag '{tag_str}'")
if char_val in NEWLINE_CHARS:
handle_break()
prev_break = len(text)
width_since_break = 0
line_width = 0
if char_val == NEXT:
line_number = 0
else:
line_number += 1
text.append(char_val)
markup_tag = None
else:
# Still parsing markup tag
markup_tag.append(char)
continue
else:
Expand All @@ -173,7 +172,11 @@ def handle_break() -> None:
width_since_break += char_width

if char_val in BREAKING_CHARS:
handle_break()
prev_break = len(text)
width_since_break = 0
if char_val in NEWLINE_CHARS:
line_width = 0
line_number += 1

extra_char = None

Expand Down