Skip to content

fix: preserve comments and blank lines when removing unused imports#316

Closed
hakancelikdev wants to merge 2 commits intomainfrom
fix/preserve-comments-on-import-removal
Closed

fix: preserve comments and blank lines when removing unused imports#316
hakancelikdev wants to merge 2 commits intomainfrom
fix/preserve-comments-on-import-removal

Conversation

@hakancelikdev
Copy link
Owner

When removing an unused import, libcst's RemoveFromParent() also removed comment lines and blank lines above the import. This change uses a two-phase approach: mark imports for removal, then in leave_SimpleStatementLine extract comment-bearing leading lines and transfer them to the next sibling statement.

A stack-based push/pop mechanism isolates pending lines across compound statement boundaries (class, function, if, for, etc.) so nested statements don't consume comments from the outer scope.

Closes #100

When removing an unused import, libcst's RemoveFromParent() also removed
comment lines and blank lines above the import. This change uses a two-phase
approach: mark imports for removal, then in leave_SimpleStatementLine extract
comment-bearing leading lines and transfer them to the next sibling statement.

A stack-based push/pop mechanism isolates pending lines across compound
statement boundaries (class, function, if, for, etc.) so nested statements
don't consume comments from the outer scope.

Closes #100

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@hakancelikdev hakancelikdev force-pushed the fix/preserve-comments-on-import-removal branch from e11b145 to 936dec2 Compare February 17, 2026 17:49
Remove codecov integration, pytest-cov dependency, and coverage
CI job as they are no longer needed.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@hakancelikdev hakancelikdev deleted the fix/preserve-comments-on-import-removal branch February 17, 2026 18:48
@hakancelikdev hakancelikdev restored the fix/preserve-comments-on-import-removal branch February 17, 2026 18:50
@hakancelikdev hakancelikdev deleted the fix/preserve-comments-on-import-removal branch February 17, 2026 18:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[BUG] - Remove comment and white space lines

1 participant