-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Description
I've encountered a situation where I need to selectively exclude reported errors triggered by PHP_CodeSniffer based on specific inline comments within the code, such as // NOSONAR
. However, after exploring the current functionalities available in PHP_CodeSniffer, I couldn't find a direct method to achieve this dynamic error exclusion based on these comments.
Use Case:
In my codebase, certain lines or blocks of code are intentionally marked with // NOSONAR
comments to indicate that they should be excluded from the linting process. I'm seeking a method to instruct PHP_CodeSniffer to respect these exclusion markers and not report errors on these marked lines.
Proposed Solution:
I'm looking for a way to dynamically exclude or suppress specific reported errors that occur after // NOSONAR
comments. I'm unsure if such functionality exists within PHP_CodeSniffer, but if it does not, I would like to propose an enhancement to introduce this capability.
Potential Implementation:
If not currently available, a potential solution could involve enhancing PHP_CodeSniffer to recognize specific inline comments and prevent the reporting of associated errors based on a configurable set of rules. This might involve introducing a setting or flag within the ruleset configuration to define which errors should be ignored when occurring after // NOSONAR
comments.
Expected Impact:
Implementing such a feature would be immensely beneficial, providing a more flexible and tailored approach to handling reported errors in line with contextual markers in the code. It would empower users to manage reported errors more precisely, improving code quality while allowing for intentional exclusions based on specific markers.
Note:
While I'm uncertain about the current existence of such functionality or workaround within PHP_CodeSniffer, having a direct in-tool solution for this scenario would greatly enhance its functionality and cater to a common need for codebase management based on exclusion markers.