prettier / prettier/plugin-php

Whitespace improperly removed from end of heredoc lines

Open
#2,026 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.