diff --git a/pr_agent/git_providers/gitlab_provider.py b/pr_agent/git_providers/gitlab_provider.py index 2eb00ce1..5d110359 100644 --- a/pr_agent/git_providers/gitlab_provider.py +++ b/pr_agent/git_providers/gitlab_provider.py @@ -43,7 +43,7 @@ class GitLabProvider(GitProvider): self.incremental = incremental def is_supported(self, capability: str) -> bool: - if capability in ['get_issue_comments', 'create_inline_comment', 'publish_inline_comments', 'gfm_markdown']: + if capability in ['get_issue_comments', 'create_inline_comment', 'publish_inline_comments']: # gfm_markdown is supported in gitlab ! return False return True @@ -422,6 +422,14 @@ class GitLabProvider(GitProvider): except: return "" + def get_line_link(self, relevant_file: str, relevant_line_start: int, relevant_line_end: int = None) -> str: + if relevant_line_end: + link = f"https://gitlab.com/codiumai/pr-agent/-/blob/{self.mr.source_branch}/{relevant_file}?ref_type=heads#L{relevant_line_start}-L{relevant_line_end}" + else: + link = f"https://gitlab.com/codiumai/pr-agent/-/blob/{self.mr.source_branch}/{relevant_file}?ref_type=heads#L{relevant_line_start}" + return link + + def generate_link_to_relevant_line_number(self, suggestion) -> str: try: relevant_file = suggestion['relevant file'].strip('`').strip("'") diff --git a/pr_agent/tools/pr_code_suggestions.py b/pr_agent/tools/pr_code_suggestions.py index ab875a2c..0bea080b 100644 --- a/pr_agent/tools/pr_code_suggestions.py +++ b/pr_agent/tools/pr_code_suggestions.py @@ -255,10 +255,10 @@ class PRCodeSuggestions: code_snippet_link = self.git_provider.get_line_link(s['relevant file'], s['relevant lines start'], s['relevant lines end']) if code_snippet_link: - data_markdown += f"📌 File:\n[{s['relevant file']}({s['relevant lines start']}-{s['relevant lines end']})]({code_snippet_link})\n" + data_markdown += f"📌 File:\n\n[{s['relevant file']} ({s['relevant lines start']}-{s['relevant lines end']})]({code_snippet_link})\n" else: - data_markdown += f"📌 File:\n{s['relevant file']}({s['relevant lines start']}-{s['relevant lines end']})\n" - data_markdown += f"\nSuggestion:\n**{s['suggestion content']}**\n" + data_markdown += f"📌 File:\n\n{s['relevant file']} ({s['relevant lines start']}-{s['relevant lines end']})\n" + data_markdown += f"\nSuggestion:\n\n**{s['suggestion content']}**\n\n" if self.git_provider.is_supported("gfm_markdown"): data_markdown += "
Example code:\n\n___\n\n" data_markdown += f"Existing code:\n```{self.main_language}\n{s['existing code']}\n```\n"