"""Language pie chart generation using Mermaid."""
from __future__ import annotations
from local_deepwiki.models import IndexStatus
def generate_language_pie_chart(index_status: IndexStatus) -> str | None:
"""Generate a pie chart showing language distribution.
Args:
index_status: Index status with language counts.
Returns:
Mermaid pie chart string, or None if no languages.
"""
if not index_status.languages:
return None
lines = ["```mermaid", "pie title Language Distribution"]
for lang, count in sorted(index_status.languages.items(), key=lambda x: -x[1]):
lines.append(f' "{lang}" : {count}')
lines.append("```")
return "\n".join(lines)