Ignoring Issues and Files
How to tell a Trunk Check linter to ignore certain issues or entire groups of files.
Ignoring parts of a file
Sometimes we want to deliberately tell a linter that, yes, I know what I'm doing, and yes, in any other situation I should not do this, but in this specific case it's fine. Maybe there's a dummy private key you're using for a test stack, or fixing the lint issue will actually make your code less readable: whatever it is, you now need to figure out how to suppress a given lint issue.
Trunk provides a simple, standardized mechanism to do this, saving you from having to look up the linter-specific syntax for doing so:
This tells Trunk that the clang-tidy
linter found a modernize-use-nullptr
issue on the highlighted line and that Trunk should suppress this linter issue.
Comments may be omitted:
You can also omit the name of the check to simply tell Trunk that all issues from a given linter on a specific line should be suppressed:
trunk-ignore
directives can also be placed at the end of the line on which they're suppressing lint issues:
If you need to suppress issues from multiple linters, trunk-ignore
supports that too:
Notice that a trunk-ignore
directive applies not to the next line, but the next non-trunk-ignore
line (this only works for preceding directives, not trailing directives), and that you can use a single directive for suppressing multiple checks.
Ignoring all issues/formatting in a file
You can also ignore all issues or formatting in a file:
trunk-ignore-all
is not required to be the first line of a file, because we recognize that other constructs (shebangs, front matter, docstrings) may need to take precedence.
Ignoring all issues in a code block
Alternatively, you can ignore all matching issues in a code block:
Specification
The syntax of a trunk-ignore directive is as follows:
Ignoring Multiple Files
Some files are never meant to be checked, such as generated code. To ignore them, use the ignore
key to your .trunk/trunk.yaml
file:
Every entry in ignore
defines both a set of linters and a set of paths to ignore.
Key | Value |
---|---|
linters | List of linters (i.e. |
paths | List of glob paths, relative to the root of the repo, to ignore. If a path begins with a |
Trunk is git
-aware, which means it ignores gitignore'd
files by default.
Known Issues
trunk-ignore
does not currently support:
suppressing findings on lines 0 or 1 using inline/block directives
If you need any of these to be supported, or you have another edge case, please reach out to us on the Trunk community slack.
Last updated