mirror of
https://github.com/qodo-ai/pr-agent.git
synced 2025-07-04 21:00:40 +08:00
feat: Enhance code suggestion publishing with language-specific formatting in pr_code_suggestions.py
This commit is contained in:
@ -251,7 +251,16 @@ class PRCodeSuggestions:
|
|||||||
def publish_summarizes_suggestions(self, data: Dict):
|
def publish_summarizes_suggestions(self, data: Dict):
|
||||||
try:
|
try:
|
||||||
data_markdown = "## PR Code Suggestions\n\n"
|
data_markdown = "## PR Code Suggestions\n\n"
|
||||||
|
|
||||||
|
language_extension_map_org = get_settings().language_extension_map_org
|
||||||
|
extension_to_language = {}
|
||||||
|
for language, extensions in language_extension_map_org.items():
|
||||||
|
for ext in extensions:
|
||||||
|
extension_to_language[ext] = language
|
||||||
|
|
||||||
for s in data['Code suggestions']:
|
for s in data['Code suggestions']:
|
||||||
|
try:
|
||||||
|
extension_s = s['relevant file'].rsplit('.')[-1]
|
||||||
code_snippet_link = self.git_provider.get_line_link(s['relevant file'], s['relevant lines start'],
|
code_snippet_link = self.git_provider.get_line_link(s['relevant file'], s['relevant lines start'],
|
||||||
s['relevant lines end'])
|
s['relevant lines end'])
|
||||||
data_markdown += f"\n💡 Suggestion:\n\n**{s['suggestion content']}**\n\n"
|
data_markdown += f"\n💡 Suggestion:\n\n**{s['suggestion content']}**\n\n"
|
||||||
@ -262,11 +271,16 @@ class PRCodeSuggestions:
|
|||||||
if self.git_provider.is_supported("gfm_markdown"):
|
if self.git_provider.is_supported("gfm_markdown"):
|
||||||
data_markdown += "<details> <summary> Example code:</summary>\n\n"
|
data_markdown += "<details> <summary> Example code:</summary>\n\n"
|
||||||
data_markdown += f"___\n\n"
|
data_markdown += f"___\n\n"
|
||||||
data_markdown += f"Existing code:\n```{self.main_language}\n{s['existing code']}\n```\n"
|
language_name = "python"
|
||||||
data_markdown += f"Improved code:\n```{self.main_language}\n{s['improved code']}\n```\n"
|
if extension_s and (extension_s in extension_to_language):
|
||||||
|
language_name = extension_to_language[extension_s]
|
||||||
|
data_markdown += f"Existing code:\n```{language_name}\n{s['existing code']}\n```\n"
|
||||||
|
data_markdown += f"Improved code:\n```{language_name}\n{s['improved code']}\n```\n"
|
||||||
if self.git_provider.is_supported("gfm_markdown"):
|
if self.git_provider.is_supported("gfm_markdown"):
|
||||||
data_markdown += "</details>\n"
|
data_markdown += "</details>\n"
|
||||||
data_markdown += "\n___\n\n"
|
data_markdown += "\n___\n\n"
|
||||||
|
except Exception as e:
|
||||||
|
get_logger().error(f"Could not parse suggestion: {s}, error: {e}")
|
||||||
self.git_provider.publish_comment(data_markdown)
|
self.git_provider.publish_comment(data_markdown)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
get_logger().info(f"Failed to publish summarized code suggestions, error: {e}")
|
get_logger().info(f"Failed to publish summarized code suggestions, error: {e}")
|
||||||
|
Reference in New Issue
Block a user