Please excuse if this is not the correct place for this question and redirect me if necessary.

I am trying to apply specific sniffs/rules after https://github.com/squizlabs/PHP_CodeSniffer/wiki/Fixing-Errors-Automati...

I can see how to list the available coding standard packages, but not the sniffs within each package.

$ phpcbf --version
PHP_CodeSniffer version 2.3.0

$ phpcbf -h
Usage: phpcbf [-nwli] [-d key[=value]]
    [--standard=<standard>] [--sniffs=<sniffs>] [--suffix=<suffix>]
    [--severity=<severity>] [--error-severity=<severity>] [--warning-severity=<severity>]
    [--tab-width=<tabWidth>] [--encoding=<encoding>]
    [--extensions=<extensions>] [--ignore=<patterns>] <file> ...
        -n            Do not fix warnings (shortcut for --warning-severity=0)
        -w            Fix both warnings and errors (on by default)
        -l            Local directory only, no recursion
        -i            Show a list of installed coding standards
        -d            Set the [key] php.ini value to [value] or [true] if value is omitted
        --help        Print this help message
        --version     Print version information
        --no-patch    Do not make use of the "diff" or "patch" programs
        <file>        One or more files and/or directories to fix
        <encoding>    The encoding of the files being fixed (default is iso-8859-1)
        <extensions>  A comma separated list of file extensions to fix
                      (extension filtering only valid when checking a directory)
                      The type of the file can be specified using: ext/type
                      e.g., module/php,es/js
        <patterns>    A comma separated list of patterns to ignore files and directories
        <sniffs>      A comma separated list of sniff codes to limit the fixes to
                      (all sniffs must be part of the specified standard)
        <severity>    The minimum severity required to fix an error or warning
        <standard>    The name or path of the coding standard to use
        <suffix>      Write modified files to a filename using this suffix
                      ("diff" and "patch" are not used in this mode)
        <tabWidth>    The number of spaces each tab represents

$ phpcbf -i
The installed coding standards are MySource, PEAR, PHPCS, PSR1, PSR2, Squiz and Zend

How can I list the sniffs within each coding standard package ?

Comments

klausi’s picture

I think there is no way to get a list of all possible sniffs that a standard has, but you can execute phpcs with the "-s" option. It will show you the sniff code, example:

$ phpcs --standard=Drupal -s good2.php 
FILE: /home/klausi/workspace/coder/good2.php
----------------------------------------------------------------------
FOUND 2 ERRORS AFFECTING 2 LINES
----------------------------------------------------------------------
 14 | ERROR | [x] Expected "int" but found "integer" for parameter
    |       |     type
    |       |     (Drupal.Commenting.FunctionComment.IncorrectParamVarName)
 17 | ERROR | [x] Whitespace found at end of line
    |       |     (Squiz.WhiteSpace.SuperfluousWhitespace.EndLine)
----------------------------------------------------------------------
PHPCBF CAN FIX THE 2 MARKED SNIFF VIOLATIONS AUTOMATICALLY
----------------------------------------------------------------------

Then you should e able to fix trailing white spaces with:

$ phpcbf --standard=Drupal --sniffs=Squiz.WhiteSpace.SuperfluousWhitespace good2.php

Edit: that worked for me now, you need to use "--sniffs", not "--sniff".

webel’s picture

@klausi Thanks for feedback, am exploring it, Webel

klausi’s picture

Status: Active » Fixed

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.

klausi’s picture

Component: Coder Format » Coder Sniffer

There is now a command to list all sniffs of a standard:

phpcs -e --standard=Drupal