-
-
Notifications
You must be signed in to change notification settings - Fork 26
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Provide a way to ignore error on specific lines (#162)
- Loading branch information
1 parent
bf7b51f
commit 2738135
Showing
48 changed files
with
1,060 additions
and
336 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
# CLI options | ||
|
||
## Reporter | ||
|
||
The `--report` option allows to choose the output format for the linter report. | ||
|
||
Supported formats are: | ||
- `text` selected by default. | ||
- `checkstyle` following the common checkstyle XML schema. | ||
- `github` if you want annotations on GitHub actions. | ||
- `junit` following JUnit schema XML from Jenkins. | ||
- `null` if you don't want any reporting. | ||
|
||
## Debug mode | ||
|
||
The `--debug` option displays error identifiers instead of messages. This is | ||
useful if you want to disable a specific error with a comment in your code. | ||
|
||
See also [how to disable a rule on a specific file or line](identifiers.md). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,100 @@ | ||
# Configuration file | ||
|
||
## Standard | ||
|
||
By default, the twig-cs-fixer standard is enabled with the twig coding standard rules and the following rules: | ||
|
||
- `BlankEOFRule`: ensures that files end with one blank line. | ||
- `BlockNameSpacingRule`: ensure there is one space before and after block names. | ||
- `EmptyLinesRule`: ensures that 2 empty lines do not follow each other. | ||
- `IndentRule`: ensures that files are not indented with tabs. | ||
- `TrailingCommaSingleLineRule`: ensures that single-line arrays, objects and argument lists do not have a trailing comma. | ||
- `TrailingSpaceRule`: ensures that files have no trailing spaces. | ||
|
||
If you want to use the basic Twig standard, another standard and/or add/disable a rule, you can provide | ||
your own configuration with a `.twig-cs-fixer.php` file which returns a `TwigCsFixer\Config\Config` class: | ||
|
||
```php | ||
<?php | ||
|
||
$ruleset = new TwigCsFixer\Ruleset\Ruleset(); | ||
$ruleset->addStandard(new TwigCsFixer\Standard\Twig()); | ||
$ruleset->addRule(\TwigCsFixer\Rules\Whitespace\EmptyLinesRule::class); | ||
|
||
$config = new TwigCsFixer\Config\Config(); | ||
$config->setRuleset($ruleset); | ||
|
||
return $config; | ||
``` | ||
|
||
If your config is not located in your current directory, you can specify its path using `--config` when running the command: | ||
|
||
```bash | ||
vendor/bin/twig-cs-fixer lint --config=dir/.twig-cs-fixer.php /path/to/code | ||
``` | ||
|
||
## Files | ||
|
||
By default, all `.twig` files in the current directory are linted, except the ones in the `vendor` directory. | ||
|
||
If you want to lint specific files or directories you can pass them as argument. If you want a more sophisticated | ||
rule, you can configure it in the `.twig-cs-fixer.php` file: | ||
|
||
```php | ||
<?php | ||
|
||
$finder = new TwigCsFixer\File\Finder(); | ||
$finder->exclude('myCustomDirectory'); | ||
|
||
$config = new TwigCsFixer\Config\Config(); | ||
$config->setFinder($finder); | ||
|
||
return $config; | ||
``` | ||
|
||
## Cache | ||
|
||
By default, cache is enabled and stored in `.twig-cs-fixer.cache`. Further runs are therefore much | ||
faster. Cache is invalidated when a different PHP version, twig-cs-fixer version or ruleset is used. | ||
|
||
If you want a custom cache location you can configure it in `.twig-cs-fixer.php`: | ||
|
||
```php | ||
<?php | ||
|
||
$config = new TwigCsFixer\Config\Config(); | ||
$config->setCacheFile('/tmp/.twig-cs-fixer.cache'); | ||
|
||
return $config; | ||
``` | ||
|
||
To disable cache you can either pass `--no-cache` when running the command: | ||
|
||
```bash | ||
vendor/bin/twig-cs-fixer lint --no-cache | ||
``` | ||
|
||
or set the cache file to `null` in your config: | ||
|
||
```php | ||
<?php | ||
|
||
$config = new TwigCsFixer\Config\Config(); | ||
$config->setCacheFile(null); | ||
|
||
return $config; | ||
``` | ||
|
||
## Token parser & Twig Extension | ||
|
||
If you're using custom token parsers or binary/unary operators, they can be added in your config: | ||
|
||
```php | ||
<?php | ||
|
||
$config = new TwigCsFixer\Config\Config(); | ||
$config->addTwigExtension(new App\Twig\CustomTwigExtension()); | ||
$config->addTokenParser(new App\Twig\CustomTokenParser()); | ||
|
||
return $config; | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
# How to disable a rule on a specific file or line | ||
|
||
All errors have an identifier with the syntax: `A.B:C:D` with | ||
- A: The rule short name (mainly made from the class name) | ||
- B: The error identifier (like the error level or a specific name) | ||
- C: The line the error occurs | ||
- D: The position of the token in the line the error occurs | ||
|
||
NB: The four parts are optional, all those format are working | ||
- A | ||
- A.B | ||
- A.B:C | ||
- A.B:C:D | ||
- A:C | ||
- A:C:D | ||
- A::D | ||
|
||
When you want to disable a rule, you can use of the following syntax: | ||
```twig | ||
{# twig-cs-fixer-disable A.B:C:D #} => Apply to the whole file | ||
{# twig-cs-fixer-disable-line A.B:C:D #} => Apply to the line of the comment | ||
{# twig-cs-fixer-disable-next-line A.B:C:D #} => Apply to the next line of the comment | ||
``` | ||
|
||
For instance: | ||
```twig | ||
{# twig-cs-fixer-disable #} => Disable every rule for the whole file | ||
{# twig-cs-fixer-disable-line #} => Disable every rule for the current line | ||
{# twig-cs-fixer-disable-next-line #} => Disable every rule for the next line | ||
{# twig-cs-fixer-disable A #} => Disable the rule A for the whole file | ||
{# twig-cs-fixer-disable A:42 #} => Disable the rule A for the line 42 of the file | ||
{# twig-cs-fixer-disable-line A.B #} => Disable the error B of the rule A for the current line | ||
{# twig-cs-fixer-disable-next-line A::42 #} => Disable the rule A for the next line but only for the token 42 | ||
``` | ||
|
||
You can also disable multiple errors with a single comment, by separating them | ||
with a space or a comma: | ||
```twig | ||
{# twig-cs-fixer-disable A B C #} => Disable A and B and C for the whole file | ||
{# twig-cs-fixer-disable-line A.B,C.D #} => Disable A.B and C.D for the current line | ||
``` | ||
|
||
If you need to know the errors identifier you have/want to ignore, you can run the | ||
linter command with the `--debug` options. See also [the command options](command.md). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.