aider: style: Left-align markdown headings

This commit is contained in:
Peter Schilling (aider) 2025-03-27 13:48:12 -07:00
parent 7e2dd9bc04
commit b923d63700

View file

@ -5,7 +5,7 @@ import time
from rich.console import Console from rich.console import Console
from rich.live import Live from rich.live import Live
from rich.markdown import CodeBlock, Markdown from rich.markdown import CodeBlock, Heading, Markdown
from rich.syntax import Syntax from rich.syntax import Syntax
from rich.text import Text from rich.text import Text
@ -56,13 +56,28 @@ class NoInsetCodeBlock(CodeBlock):
yield syntax yield syntax
class LeftHeading(Heading):
"""A heading class that renders left-justified."""
def __rich_console__(self, console, options):
text = self.text
text.justify = "left" # Override justification
yield text
class NoInsetMarkdown(Markdown): class NoInsetMarkdown(Markdown):
"""Markdown with code blocks that have no padding.""" """Markdown with code blocks that have no padding and left-justified headings."""
elements = { elements = {
**Markdown.elements, **Markdown.elements,
"fence": NoInsetCodeBlock, "fence": NoInsetCodeBlock,
"code_block": NoInsetCodeBlock, "code_block": NoInsetCodeBlock,
"heading1": LeftHeading,
"heading2": LeftHeading,
"heading3": LeftHeading,
"heading4": LeftHeading,
"heading5": LeftHeading,
"heading6": LeftHeading,
} }