prettier / prettier/plugin-php
Heredoc containing \n cannot be parsed for indenting
Abierto
Nadie ha tomado este issue todavía.
bug
- Lenguaje dominante
- PHP
- Estrellas
- 1.9k
- Forks
- 139
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
Input:
<?php
function foo() {
$message .= <<<EOT
Please read this message.\n We apologize for the inconvenience.
EOT;
}
Output:
Invalid body indentation level (expecting an indentation at least 4) on line 5
3 | $message .= <<<EOT
4 | Please read this message.\n We apologize for the inconvenience.
> 5 | EOT;
| ^
6 | }
7 |
Expected:
<?php
function foo() {
$message .= <<<EOT
Please read this message.\n We apologize for the inconvenience.
EOT;
}
Basically, the \n in the middle of the heredoc appears to confuse either the parser or prettier.
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Comienza con el Prettier PHP Playground enlazado y reproduce el caso de heredoc que contiene el literal \n. Traza si el análisis sintáctico o la validación de la indentación manejan incorrectamente ese contenido y, después, añade una prueba de regresión para el ejemplo. La tarea estará terminada cuando la entrada se formatee correctamente sin un error de indentación y conserve la salida heredoc esperada.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- php
- Área
- tooling
- Tipo de issue
- Error
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 42/100