Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Generic/DisallowTabIndent: do not auto-fix heredoc/nowdoc closer indent
Follow up on squizlabs/PHP_CodeSniffer 3640, which added the `T_END_HEREDOC` and `T_END_NOWDOC` tokens to the list of tokens to examine and was included in the 3.7.2 release. When a flexible heredoc/nowdoc is used, the indentation type of the heredoc/nowdoc content and the indentation type of the heredoc/nowdoc closer must be consistent, so auto-fixing the indentation of the closer, without also changing the indentation of the contents (from tabs to spaces) would cause a parse error. See: https://3v4l.org/7OF3M I do believe indentation tabs should still be flagged, but the auto-fixer should be disabled. To allow people to disregard tab indentation for heredoc/nowdoc closers completely, the error now also has a more specific error code - ` TabsUsedHeredocCloser` -, which allows for excluding it in a ruleset. While the change in the error code _could_ be considered a breaking change, the fact that the potential for a parse error hasn't been reported as a bug so far, leads me to believe this is not a frequently encountered situation, so the impact of the higher specificity for the error code should be minimal.
- Loading branch information