8 releases

0.3.0 Nov 12, 2023
0.2.2 Feb 15, 2023
0.2.1 Dec 13, 2022
0.2.0 Aug 17, 2022
0.1.0 Jul 31, 2022

#1145 in Development tools

MIT license

31KB
813 lines

multilint

Status Crates.io License

A tool to run multiple linters.

Usage

$ cargo install multilint
$ multilint --help
multilint 0.0.0
A driver of multiple linters

USAGE:
    multilint [OPTIONS]

FLAGS:
    -h, --help       Prints help information
    -V, --version    Prints version information

OPTIONS:
    -f, --format <format>        Message format [default: text]  [possible values: Null, Raw,
                                 Text]
    -l, --linter <linters>...    Linters to run
    -C <work-dir>                Changes the working directory before running

Configuration format

All multilint.toml in directories from the root to the current directory are merged and parsed.

Example

[global]
excludes = ["third_party/**"]

[linter.shellcheck]
command = "shellcheck"
includes = ["*.sh"]
excludes = ["*.zsh"]

[linter.clippy]
command = "cargo"
options = ["clippy"]
work_dir = "subdir"  # you can change directory

[linter.rustfmt]
command = "cargo"
options = ["fmt", "--"]  # formatters can be used as linters (mtime of the files are checked if `check_hash` is false)
includes = ["*.rs"]
  • treefmt: multilint is inspired by treefmt

Dependencies

~10–23MB
~321K SLoC