Hi Christopher,
> I like the added flexibility in placement of the end token, but I think > requiring only tabs or spaces, and stripping whitespace from all {here|now}doc > lines is error prone and adds unnecessary complexity. I agree that the requirement for using either tabs or spaces is not necessary, but I included it because it does help with readability when looking at the indentation level of the heredoc and nowdoc (and subsequently how much whitespace will be stripped from each line). With respect to the stripping of whitespace, however, I feel that this is definitely necessary. If it was not stripped, then indenting the closing token and body will cause a lot of whitespace to prepend every line in the body of text. This is definitely not desirable, and may cause programmers to continue to not indent the body of the heredoc/nowdoc, which leads us back to where we currently are of having indentation of code ruined with such syntaxes. Other languages follow these semantics of stripping whitespace from new lines according to the indentation of the closing marker, such as Elixir (normal """ syntax) and Ruby (special <<~ syntax). Thanks, Tom