From b923d63700da2422376a0f38e3f4c8f70b3a643f Mon Sep 17 00:00:00 2001 From: "Peter Schilling (aider)" Date: Thu, 27 Mar 2025 13:48:12 -0700 Subject: [PATCH] aider: style: Left-align markdown headings --- aider/mdstream.py | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/aider/mdstream.py b/aider/mdstream.py index c38f84ce7..53771c8cb 100755 --- a/aider/mdstream.py +++ b/aider/mdstream.py @@ -5,7 +5,7 @@ import time from rich.console import Console 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.text import Text @@ -56,13 +56,28 @@ class NoInsetCodeBlock(CodeBlock): 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): - """Markdown with code blocks that have no padding.""" + """Markdown with code blocks that have no padding and left-justified headings.""" elements = { **Markdown.elements, "fence": NoInsetCodeBlock, "code_block": NoInsetCodeBlock, + "heading1": LeftHeading, + "heading2": LeftHeading, + "heading3": LeftHeading, + "heading4": LeftHeading, + "heading5": LeftHeading, + "heading6": LeftHeading, }