Crate cpp_linter

Source
Expand description

§cpp-linter

This crate contains the the library used as a backend for the cpp-linter binary executable. The main focus of cpp-linter is as follows:

  • Lint C/C++ sources using clang-format and clang-tidy.
  • Respect file changes when run in a CI workflow on Github.
  • Provide feedback via Github’s REST API in the any of the following forms:
    • step summary
    • thread comments
    • file annotation
    • pull request review suggestions

Since the cpp-linter python package now uses this library as a binding, the native binary’s main() behavior is also present in this library (see run::run_main()).

See also the CLI document hosted on github.

Modules§

  • This crate holds the functionality related to running clang-format and/or clang-tidy.
  • This module holds the Command Line Interface design.
  • A module to hold all common file system functionality.
  • This module is primarily used to parse diff blobs.
  • A module to initialize and customize the logger object used in (most) stdout.
  • This module is the home of functionality that uses the REST API of various git-based servers.
  • This module is the native backend of the cpp-linter package written in Rust.