diff --git a/pr_agent/tools/pr_code_suggestions.py b/pr_agent/tools/pr_code_suggestions.py
index f095d94a..3fc96d01 100644
--- a/pr_agent/tools/pr_code_suggestions.py
+++ b/pr_agent/tools/pr_code_suggestions.py
@@ -251,22 +251,36 @@ class PRCodeSuggestions:
def publish_summarizes_suggestions(self, data: Dict):
try:
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']:
- code_snippet_link = self.git_provider.get_line_link(s['relevant file'], s['relevant lines start'],
- s['relevant lines end'])
- data_markdown += f"\n💡 Suggestion:\n\n**{s['suggestion content']}**\n\n"
- if code_snippet_link:
- data_markdown += f" File: [{s['relevant file']} ({s['relevant lines start']}-{s['relevant lines end']})]({code_snippet_link})\n\n"
- else:
- data_markdown += f"File: {s['relevant file']} ({s['relevant lines start']}-{s['relevant lines end']})\n\n"
- if self.git_provider.is_supported("gfm_markdown"):
- data_markdown += " Example code:
\n\n"
- data_markdown += f"___\n\n"
- data_markdown += f"Existing code:\n```{self.main_language}\n{s['existing code']}\n```\n"
- data_markdown += f"Improved code:\n```{self.main_language}\n{s['improved code']}\n```\n"
- if self.git_provider.is_supported("gfm_markdown"):
- data_markdown += " \n"
- data_markdown += "\n___\n\n"
+ try:
+ extension_s = s['relevant file'].rsplit('.')[-1]
+ code_snippet_link = self.git_provider.get_line_link(s['relevant file'], s['relevant lines start'],
+ s['relevant lines end'])
+ data_markdown += f"\n💡 Suggestion:\n\n**{s['suggestion content']}**\n\n"
+ if code_snippet_link:
+ data_markdown += f" File: [{s['relevant file']} ({s['relevant lines start']}-{s['relevant lines end']})]({code_snippet_link})\n\n"
+ else:
+ data_markdown += f"File: {s['relevant file']} ({s['relevant lines start']}-{s['relevant lines end']})\n\n"
+ if self.git_provider.is_supported("gfm_markdown"):
+ data_markdown += " Example code:
\n\n"
+ data_markdown += f"___\n\n"
+ language_name = "python"
+ 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"):
+ data_markdown += " \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)
except Exception as e:
get_logger().info(f"Failed to publish summarized code suggestions, error: {e}")