https://github.com/marzer/clang-tidier
A simple runner for clang-tidy.
https://github.com/marzer/clang-tidier
Last synced: 4 months ago
JSON representation
A simple runner for clang-tidy.
- Host: GitHub
- URL: https://github.com/marzer/clang-tidier
- Owner: marzer
- License: mit
- Created: 2024-05-09T19:41:35.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2025-10-22T12:47:11.000Z (8 months ago)
- Last Synced: 2026-01-05T09:47:26.811Z (6 months ago)
- Language: Python
- Homepage: https://pypi.org/project/clang-tidier
- Size: 33.2 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# clang-tidier
A simple `clang-tidy` runner for C and C++ projects.
## Installation
`clang-tidier` requires Python 3.8 or higher, as well as some version of `clang-tidy` visible on the system PATH.
```
pip3 install clang-tidier
```
## Usage
`clang-tidier` is a command-line application
```
usage: clang-tidier [-h] [--version] [--include [ ...]] [--exclude [ ...]]
[--werror] [--threads ] [--batch num/denom] [--session | --no-session]
[--relative-paths | --no-relative-paths] [--fix | --no-fix]
[--plugins [ ...]]
[compile_db_path]
clang-tidy runner for C and C++ projects.
positional arguments:
compile_db_path path to compile_commands.json, or a directory containing it (default: discover
automatically)
options:
-h, --help show this help message and exit
--version print the version and exit
--include [ ...]
regular expression to select source files.
--exclude [ ...]
regular expression to exclude source files.
--werror stop on the first file that emits warnings
--threads number of threads to use.
--batch num/denom batch subdivisions.
--session, --no-session
saves run information so subsequent re-runs may avoid re-scanning files.
--relative-paths, --no-relative-paths
show paths as relative to CWD where possible.
--fix, --no-fix attempt to apply clang-tidy fixes where possible.
--plugins [ ...]
one or more plugins to load.
v0.9.0 - github.com/marzer/clang-tidier
```
## Clang-tidy plugins
Clang tidy plugins can be specified in two ways:
- directly using the argument `--plugins` (`--load` also works for compatibility with `clang-tidy`)
- indirectly using either environment variables `CLANG_TIDY_PLUGINS` or `CLANG_TIDIER_PLUGINS`
Specifying multiple plugins via environment variable requires delimiting with semicolons. Regular unix-style colon
delimiters are also supported on Unix.
Plugins specified on the command-line must exist; the program will exit with an error if they do not. Plugins specified
via environment variable will be ignored with a warning if they are not found.
## Exit codes
| Value | Meaning |
| :----------------------------------- | :--------------------- |
| 0 | No issues were found |
| 1 | Issues were found |
| -1 | A fatal error occurred |