foo, = 1 ^^^^^^^^
“foo #{bar}” ^^^^^^^^^^^^
:“foo #{bar}” ^^^^^^^^^^^^^
‘foo #{bar}` ^^^^^^^^^^^^
-> { it } ^^^^^^^^^
foo in bar ^^^^^^^^^^
foo => bar ^^^^^^^^^^
/(?<foo>foo)/ =~ bar ^^^^^^^^^^^^^^^^^^^^
-> { _1 + _2 } ^^^^^^^^^^^^^^
__LINE__ ^^^^^^^^
Ripper
gives back the escaped string content but strips out the common leading whitespace. Prism
gives back the unescaped string content and a location for the escaped string content. Unfortunately these don’t work well together, so here we need to re-derive the common leading whitespace.
Visit a heredoc node that is representing a string.
Visit a heredoc node that is representing an xstring.
Interpolate substitution vars in the arg (i.e. $(DEFFILE))