Skip to content

Commit 6939b33

Browse files
author
jgstern
committed
Merge pull request 'Release v0.6.9' (#255) from jgstern/release-0.6.9 into main
Reviewed-on: https://codeberg.org/iterabloom/hypergumbo/pulls/255
2 parents 6c31ea1 + 08dca25 commit 6939b33

1 file changed

Lines changed: 18 additions & 16 deletions

File tree

src/hypergumbo/sketch.py

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1549,12 +1549,14 @@ def _extract_config_info(
15491549
# Fair character allocation: each file gets equal share
15501550
# First pass: group lines by file (lines starting with "[" are file headers)
15511551
# Also preserve any "preamble" lines that come before the first header (hybrid mode)
1552-
preamble_lines: list[str] = []
1553-
file_sections: list[tuple[str, list[str]]] = []
1554-
current_file = ""
1555-
current_lines: list[str] = []
1556-
1557-
for line in lines:
1552+
# NOTE: This block only executes when embedding mode produces [filename] headers.
1553+
# When sentence-transformers is unavailable, this code path is never reached.
1554+
preamble_lines: list[str] = [] # pragma: no cover - embedding output only
1555+
file_sections: list[tuple[str, list[str]]] = [] # pragma: no cover - embedding output only
1556+
current_file = "" # pragma: no cover - embedding output only
1557+
current_lines: list[str] = [] # pragma: no cover - embedding output only
1558+
1559+
for line in lines: # pragma: no cover - embedding output only
15581560
if line.startswith("[") and line.endswith("]") and "/" not in line:
15591561
if current_file and current_lines:
15601562
file_sections.append((current_file, current_lines))
@@ -1566,16 +1568,16 @@ def _extract_config_info(
15661568
else:
15671569
current_lines.append(line)
15681570

1569-
if current_file and current_lines:
1571+
if current_file and current_lines: # pragma: no cover - embedding output only
15701572
file_sections.append((current_file, current_lines))
15711573

15721574
if not file_sections and not preamble_lines: # pragma: no cover
15731575
return "\n".join(lines)[:max_chars] # pragma: no cover
15741576

15751577
# Second pass: allocate chars - preamble gets priority, rest shared among files
1576-
preamble_text = "\n".join(preamble_lines) if preamble_lines else ""
1577-
remaining_chars = max_chars - len(preamble_text)
1578-
if preamble_text:
1578+
preamble_text = "\n".join(preamble_lines) if preamble_lines else "" # pragma: no cover - embedding output only
1579+
remaining_chars = max_chars - len(preamble_text) # pragma: no cover - embedding output only
1580+
if preamble_text: # pragma: no cover - embedding output only
15791581
remaining_chars -= 2 # Account for separator newlines
15801582

15811583
if not file_sections: # pragma: no cover - defensive, no file headers
@@ -1587,14 +1589,14 @@ def _extract_config_info(
15871589
preamble_text = preamble_text[:last_newline]
15881590
return preamble_text
15891591

1590-
num_files = len(file_sections)
1591-
chars_per_file = remaining_chars // num_files if num_files > 0 else remaining_chars
1592+
num_files = len(file_sections) # pragma: no cover - embedding output only
1593+
chars_per_file = remaining_chars // num_files if num_files > 0 else remaining_chars # pragma: no cover - embedding output only
15921594

1593-
result_parts: list[str] = []
1594-
if preamble_text:
1595+
result_parts: list[str] = [] # pragma: no cover - embedding output only
1596+
if preamble_text: # pragma: no cover - embedding output only
15951597
result_parts.append(preamble_text)
15961598

1597-
for file_header, file_lines in file_sections:
1599+
for file_header, file_lines in file_sections: # pragma: no cover - embedding output only
15981600
# Build this file's content
15991601
file_content = file_header + "\n" + "\n".join(file_lines)
16001602

@@ -1610,7 +1612,7 @@ def _extract_config_info(
16101612
result_parts.append("") # Separator
16111613
result_parts.append(file_content)
16121614

1613-
return "\n".join(result_parts)
1615+
return "\n".join(result_parts) # pragma: no cover - embedding output only
16141616

16151617

16161618
def _format_config_section(config_info: str) -> str:

0 commit comments

Comments
 (0)