bevy/docs/linters.md
Nathan Stocks 60f286d56d Update linters.md with info about cargo ci xtask (#1507)
Update `linters.md` with info about `cargo ci` xtask as per https://github.com/bevyengine/bevy/pull/1463#pullrequestreview-593747890

Co-authored-by: Carter Anderson <mcanders1@gmail.com>
2021-04-12 19:11:40 +00:00

2.1 KiB

Linters in this Repository

Code Format Linting with rustfmt

Can be automatically validated with cargo run -p ci (which also runs other checks). Running this command will actually format the code:

cargo fmt --all

Code Linting with Clippy

Can be automatically run with cargo run -p ci (which also runs other checks) or manually with this command:

cargo clippy --workspace --all-targets --all-features -- -D warnings -A clippy::type_complexity -A clippy::manual-strip

Explanation:

  • -D warnings: No warnings are allowed in the codebase.
  • -A clippy::type_complexity: type complexity must be ignored because we use huge templates for queries.

super-linter

super-linter provides easy access to many different Linters.

markdownlint

markdownlint is provided by super-linter and is responsible for .md files. Its configuration is saved in the .markdown-lint.yml file.

The provided rules are documented here and information about setting the config can be seen here.

Using VS Code markdownlint

If you want to use the VS Code Extension with the rules defined in .markdown-lint.yml, then you need to create a local config file in the root of the project with the configuration below. Currently, this is not needed as the extension already disables the rule MD013 by default.

{
  "extends": ".github/linters/.markdown-lint.yml"
}

Other Linters provided by super-linter

All other linters not mentioned in the this file are not activated and can be seen here.