Adjust AST range for ERB if-else-end tags#45
Open
tk0miya wants to merge 1 commit into
Open
Conversation
tk0miya
commented
Jan 19, 2026
Owner
- Rename HtmlTag to Tag and unify handling for HTML and ERB tags
- Add restore_source flag to Tag (false for ERB, true for HTML)
- Record ERB tag info (if/else/end) in RubyRenderer
- Adjust expression and end ranges in RuboCopASTTransformer
- Keep keyword and else ranges unchanged to preserve RuboCop cop compatibility
5d22ec0 to
bc271f7
Compare
- Add patch/erb_ast.rb with monkey patches for IfNode#keyword and Range#is? to extract Ruby keyword from ERB-wrapped source (e.g., "<% if %>" -> "if") - Add on_if handler in RuboCopASTTransformer to restore ERB tag locations - Record ERB tags (if/elsif/else/end) in RubyRenderer for AST restoration - Handle elsif nodes which have no loc.end (only outer if has it) - Add tests for if-elsif-else-end and multi-level elsif range adjustment
bc271f7 to
e985da3
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.