Fix RubyLex.ripper_lex_without_warning with heredoc and embexpr #608
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.
Description
RubyLex.ripper_lex_without_warning(code)cannot tokenize all part of the code.I Fixed
RubyLex.ripper_lex_without_warning(code)to returnProblem of missing tokens
When the code has heredoc and unclosed embexpr inside it,
IRB::NestingParser.parse_by_line(tokens)will return fewer lines.It will cause wrong indent
Also, IRB will crash with such code in #607
Related pull-request
I've fixed the same problem only for IRB::Color in #391