prettier / prettier/plugin-php
Whitespace improperly removed from end of heredoc lines
Nobody has claimed this yet.
- Dominant language
- PHP
- Stars
- 1.9k
- Forks
- 139
- PR merge metrics
- No merged PRs in 30d
Description
@prettier/plugin-php v0.18.8
Playground link
Input:
<?php
$foo = <<<EOT
foo
EOT;
Output:
<?php
$foo = <<<EOT
foo
EOT;
For PHP 7.3 and up, prettier PHP is improperly removing whitespace from the ends of lines in heredoc strings. Note that there are space characters after "foo" in the Input string that are missing in the formatted output. Prettier should not be touching whitespace inside of a string.
This broke an application for us, where we were hashing such strings to generate filenames.
Let me know if you have any questions about this!
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the reported PHP 7.3+ heredoc case using the provided Playground link and compare the input with the formatted output. Trace the heredoc formatting path in the plugin, then add coverage showing that trailing spaces inside heredoc lines are preserved and confirm the sample output no longer removes them.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- php
- Domain
- tooling
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100