diff --git a/pr_agent/tools/pr_code_suggestions.py b/pr_agent/tools/pr_code_suggestions.py index 0dea2e70..2aaf1320 100644 --- a/pr_agent/tools/pr_code_suggestions.py +++ b/pr_agent/tools/pr_code_suggestions.py @@ -614,11 +614,13 @@ class PRCodeSuggestions: break if original_initial_line: suggested_initial_line = new_code_snippet.splitlines()[0] - original_initial_spaces = len(original_initial_line) - len(original_initial_line.lstrip()) + original_initial_spaces = len(original_initial_line) - len(original_initial_line.lstrip()) # lstrip works both for spaces and tabs suggested_initial_spaces = len(suggested_initial_line) - len(suggested_initial_line.lstrip()) delta_spaces = original_initial_spaces - suggested_initial_spaces if delta_spaces > 0: - new_code_snippet = textwrap.indent(new_code_snippet, delta_spaces * " ").rstrip('\n') + # Detect indentation character from original line + indent_char = '\t' if original_initial_line.startswith('\t') else ' ' + new_code_snippet = textwrap.indent(new_code_snippet, delta_spaces * indent_char).rstrip('\n') except Exception as e: get_logger().error(f"Error when dedenting code snippet for file {relevant_file}, error: {e}")