Support -p, -n, -a, and -l command line options #2511
Merged
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.
The current CRuby parser supports these options by mutating the AST. I don't want to do that, and instead would prefer to do it in the compiler. But that work is for another day, and this will be far easier than wading into those waters. So instead, we now support the following options:
command_line_p
command_line_n
command_line_a
command_line_l
These correspond with the respective command line flags. They mutate the AST such that you get back what would be executed (this pretty much exactly matches what the current parser does).
cc @enebo, @eregon, @seven1m — you may want to use these or you may not. I'm assuming all of you currently have your own solutions for this. It's not that much code at the end of the day so entirely up to you.
Fixes #2002