Default (ANSI-styled) renderers for TopMark config commands.
This module is reserved for Click-free helpers that render human-facing config
output in OutputFormat.TEXT. These generate no I/O.
TEXT output may use verbosity_level for console-oriented progressive disclosure.
render_config_init_text
render_config_init_text(prepared)
Render topmark config init output in the TEXT (ANSI-styled) format.
Parameters:
| Name |
Type |
Description |
Default |
prepared
|
ConfigInitHumanReport
|
Prepared TOML text and optional fallback error.
|
required
|
Returns:
| Type |
Description |
str
|
Text document as single string.
|
Source code in src/topmark/presentation/text/config.py
| def render_config_init_text(
prepared: ConfigInitHumanReport,
) -> str:
"""Render `topmark config init` output in the TEXT (ANSI-styled) format.
Args:
prepared: Prepared TOML text and optional fallback error.
Returns:
Text document as single string.
"""
parts: list[str] = []
# Note: the stylers already check `report.styled` so we don't need `maybe_style()`
warning_styler: TextStyler = style_for_role(StyleRole.WARNING, styled=prepared.styled)
if prepared.error is not None:
parts.append(
warning_styler(
f"Warning: falling back to synthesized default config: {prepared.error}",
)
)
parts.append(
render_toml_text(
title="Initial TopMark Configuration (TOML):",
toml_text=prepared.toml_text,
verbosity_level=prepared.verbosity_level,
styled=prepared.styled,
)
)
return "\n".join(parts)
|
render_config_defaults_text
render_config_defaults_text(prepared)
Render topmark config defaults output in the TEXT (ANSI-styled) format.
Parameters:
| Name |
Type |
Description |
Default |
prepared
|
ConfigDefaultsHumanReport
|
Prepared default configuration TOML (may include root = true).
|
required
|
Returns:
| Type |
Description |
str
|
Text document as single string.
|
Source code in src/topmark/presentation/text/config.py
| def render_config_defaults_text(
prepared: ConfigDefaultsHumanReport,
) -> str:
"""Render `topmark config defaults` output in the TEXT (ANSI-styled) format.
Args:
prepared: Prepared default configuration TOML (may include `root = true`).
Returns:
Text document as single string.
"""
return render_toml_text(
title="Default TopMark Configuration (TOML):",
toml_text=prepared.toml_text,
verbosity_level=prepared.verbosity_level,
styled=prepared.styled,
)
|
render_config_check_text
render_config_check_text(prepared)
Emit topmark config check output in the TEXT (ANSI-styled) format.
Parameters:
| Name |
Type |
Description |
Default |
prepared
|
ConfigCheckHumanReport
|
Prepared human-facing data (files, optional TOML, diagnostics).
|
required
|
Returns:
| Type |
Description |
str
|
Text document as single string.
|
Source code in src/topmark/presentation/text/config.py
| def render_config_check_text(
prepared: ConfigCheckHumanReport,
) -> str:
"""Emit `topmark config check` output in the TEXT (ANSI-styled) format.
Args:
prepared: Prepared human-facing data (files, optional TOML, diagnostics).
Returns:
Text document as single string.
"""
parts: list[str] = []
status_icon: str = "✅" if prepared.ok else "❌"
# Keep strict visible (even if currently only affects exit status)
strict_str: str = "on" if prepared.strict else "off"
counts: HumanDiagnosticCounts = prepared.counts
diags: list[HumanDiagnosticLine] = prepared.diagnostics
if not diags:
parts.append(f"{status_icon} Config OK (no diagnostics). [strict: {strict_str}]")
else:
parts.append(
render_human_diagnostics_text(
counts=counts,
diagnostics=diags,
verbosity_level=prepared.verbosity_level,
)
)
if prepared.verbosity_level > 0:
parts.append(f"Config files processed: {len(prepared.config_files)}")
for i, p in enumerate(prepared.config_files, start=1):
parts.append(f"Loaded config {i}: {p}")
if prepared.verbosity_level > 1 and prepared.merged_toml is not None:
parts.append(
render_toml_text(
title="TopMark Config (TOML):",
toml_text=prepared.merged_toml,
verbosity_level=prepared.verbosity_level,
styled=prepared.styled,
)
)
parts.append(f"{status_icon} {'OK' if prepared.ok else 'FAILED'}")
return "\n".join(parts)
|
render_config_dump_text
render_config_dump_text(prepared)
Render topmark config dump output in the TEXT (ANSI-styled) format.
Parameters:
| Name |
Type |
Description |
Default |
prepared
|
ConfigDumpHumanReport
|
Prepared human-facing data (files, flattened TOML, optional provenance).
|
required
|
Returns:
| Type |
Description |
str
|
Text document as single string.
|
Source code in src/topmark/presentation/text/config.py
| def render_config_dump_text(
prepared: ConfigDumpHumanReport,
) -> str:
"""Render `topmark config dump` output in the TEXT (ANSI-styled) format.
Args:
prepared: Prepared human-facing data (files, flattened TOML, optional provenance).
Returns:
Text document as single string.
"""
parts: list[str] = []
if prepared.verbosity_level > 0:
parts.append(f"Config files processed: {len(prepared.config_files)}")
for i, p in enumerate(prepared.config_files, start=1):
parts.append(f"Loaded config {i}: {p}")
if prepared.show_config_layers and prepared.provenance_toml is not None:
section_verbosity_level: int = max(prepared.verbosity_level, 1)
parts.append(
render_toml_text(
title="TopMark Config Provenance Layers (TOML):",
toml_text=prepared.provenance_toml,
verbosity_level=section_verbosity_level,
styled=prepared.styled,
)
)
parts.append("")
parts.append(
render_toml_text(
title="TopMark Config Dump (Flattened TOML):",
toml_text=prepared.merged_toml,
verbosity_level=section_verbosity_level,
styled=prepared.styled,
)
)
return "\n".join(parts)
parts.append(
render_toml_text(
title="TopMark Config Dump (TOML):",
toml_text=prepared.merged_toml,
verbosity_level=prepared.verbosity_level,
styled=prepared.styled,
)
)
return "\n".join(parts)
|