clang-tools 22.0.0git
ClangTidyOptions Struct Reference

Contains options for clang-tidy. More...

#include <ClangTidyOptions.h>

Classes

struct  ClangTidyValue
 Helper structure for storing option value with priority of the value. More...

Public Types

using StringPair = std::pair<std::string, std::string>
using OptionMap = llvm::StringMap<ClangTidyValue>
using ArgList = std::vector<std::string>

Public Member Functions

ClangTidyOptionsmergeWith (const ClangTidyOptions &Other, unsigned Order)
 Overwrites all fields in here by the fields of Other that have a value.
ClangTidyOptions merge (const ClangTidyOptions &Other, unsigned Order) const
 Creates a new ClangTidyOptions instance combined from all fields of this instance overridden by the fields of Other that have a value.

Static Public Member Functions

static ClangTidyOptions getDefaults ()
 These options are used for all settings that haven't been overridden by the OptionsProvider.

Public Attributes

std::optional< std::string > Checks
 Checks filter.
std::optional< std::string > WarningsAsErrors
 WarningsAsErrors filter.
std::optional< std::vector< std::string > > HeaderFileExtensions
 File extensions to consider to determine if a given diagnostic is located in a header file.
std::optional< std::vector< std::string > > ImplementationFileExtensions
 File extensions to consider to determine if a given diagnostic is located is located in an implementation file.
std::optional< std::string > HeaderFilterRegex
 Output warnings from headers matching this filter.
std::optional< std::string > ExcludeHeaderFilterRegex
 Exclude warnings from headers matching this filter, even if they match HeaderFilterRegex.
std::optional< bool > SystemHeaders
 Output warnings from system headers matching HeaderFilterRegex.
std::optional< std::string > FormatStyle
 Format code around applied fixes with clang-format using this style.
std::optional< std::string > User
 Specifies the name or e-mail of the user running clang-tidy.
OptionMap CheckOptions
 Key-value mapping used to store check-specific options.
std::optional< ArgListExtraArgs
 Add extra compilation arguments to the end of the list.
std::optional< ArgListExtraArgsBefore
 Add extra compilation arguments to the start of the list.
std::optional< bool > InheritParentConfig
 Only used in the FileOptionsProvider and ConfigOptionsProvider.
std::optional< bool > UseColor
 Use colors in diagnostics. If missing, it will be auto detected.

Detailed Description

Contains options for clang-tidy.

These options may be read from configuration files, and may be different for different translation units.

Definition at line 50 of file ClangTidyOptions.h.

Member Typedef Documentation

◆ ArgList

using clang::tidy::ClangTidyOptions::ArgList = std::vector<std::string>

Definition at line 132 of file ClangTidyOptions.h.

◆ OptionMap

Definition at line 127 of file ClangTidyOptions.h.

◆ StringPair

using clang::tidy::ClangTidyOptions::StringPair = std::pair<std::string, std::string>

Definition at line 126 of file ClangTidyOptions.h.

Member Function Documentation

◆ getDefaults()

ClangTidyOptions clang::tidy::ClangTidyOptions::getDefaults ( )
static

These options are used for all settings that haven't been overridden by the OptionsProvider.

Allow no checks and no headers by default. This method initializes check-specific options by calling ClangTidyModule::getModuleOptions() of each registered ClangTidyModule.

Definition at line 190 of file ClangTidyOptions.cpp.

◆ merge()

ClangTidyOptions clang::tidy::ClangTidyOptions::merge ( const ClangTidyOptions & Other,
unsigned Order ) const
nodiscard

Creates a new ClangTidyOptions instance combined from all fields of this instance overridden by the fields of Other that have a value.

Order specifies precedence of Other option.

Definition at line 254 of file ClangTidyOptions.cpp.

◆ mergeWith()

ClangTidyOptions & clang::tidy::ClangTidyOptions::mergeWith ( const ClangTidyOptions & Other,
unsigned Order )

Overwrites all fields in here by the fields of Other that have a value.

Order specifies precedence of Other option.

Definition at line 229 of file ClangTidyOptions.cpp.

Member Data Documentation

◆ CheckOptions

OptionMap clang::tidy::ClangTidyOptions::CheckOptions

Key-value mapping used to store check-specific options.

Definition at line 130 of file ClangTidyOptions.h.

◆ Checks

std::optional<std::string> clang::tidy::ClangTidyOptions::Checks

Checks filter.

Definition at line 70 of file ClangTidyOptions.h.

◆ ExcludeHeaderFilterRegex

std::optional<std::string> clang::tidy::ClangTidyOptions::ExcludeHeaderFilterRegex

Exclude warnings from headers matching this filter, even if they match HeaderFilterRegex.

Definition at line 89 of file ClangTidyOptions.h.

◆ ExtraArgs

std::optional<ArgList> clang::tidy::ClangTidyOptions::ExtraArgs

Add extra compilation arguments to the end of the list.

Definition at line 135 of file ClangTidyOptions.h.

◆ ExtraArgsBefore

std::optional<ArgList> clang::tidy::ClangTidyOptions::ExtraArgsBefore

Add extra compilation arguments to the start of the list.

Definition at line 138 of file ClangTidyOptions.h.

◆ FormatStyle

std::optional<std::string> clang::tidy::ClangTidyOptions::FormatStyle

Format code around applied fixes with clang-format using this style.

Can be one of:

  • 'none' - don't format code around applied fixes;
  • 'llvm', 'google', 'mozilla' or other predefined clang-format style names;
  • 'file' - use the .clang-format file in the closest parent directory of each source file;
  • '{inline-formatting-style-in-yaml-format}'.

See clang-format documentation for more about configuring format style.

Definition at line 106 of file ClangTidyOptions.h.

◆ HeaderFileExtensions

std::optional<std::vector<std::string> > clang::tidy::ClangTidyOptions::HeaderFileExtensions

File extensions to consider to determine if a given diagnostic is located in a header file.

Definition at line 77 of file ClangTidyOptions.h.

◆ HeaderFilterRegex

std::optional<std::string> clang::tidy::ClangTidyOptions::HeaderFilterRegex

Output warnings from headers matching this filter.

Warnings from main files will always be displayed.

Definition at line 85 of file ClangTidyOptions.h.

◆ ImplementationFileExtensions

std::optional<std::vector<std::string> > clang::tidy::ClangTidyOptions::ImplementationFileExtensions

File extensions to consider to determine if a given diagnostic is located is located in an implementation file.

Definition at line 81 of file ClangTidyOptions.h.

◆ InheritParentConfig

std::optional<bool> clang::tidy::ClangTidyOptions::InheritParentConfig

Only used in the FileOptionsProvider and ConfigOptionsProvider.

If true and using a FileOptionsProvider, it will take a configuration file in the parent directory (if any exists) and apply this config file on top of the parent one. IF true and using a ConfigOptionsProvider, it will apply this config on top of any configuration file it finds in the directory using the same logic as FileOptionsProvider. If false or missing, only this configuration file will be used.

Definition at line 147 of file ClangTidyOptions.h.

◆ SystemHeaders

std::optional<bool> clang::tidy::ClangTidyOptions::SystemHeaders

Output warnings from system headers matching HeaderFilterRegex.

Definition at line 92 of file ClangTidyOptions.h.

◆ UseColor

std::optional<bool> clang::tidy::ClangTidyOptions::UseColor

Use colors in diagnostics. If missing, it will be auto detected.

Definition at line 150 of file ClangTidyOptions.h.

◆ User

std::optional<std::string> clang::tidy::ClangTidyOptions::User

Specifies the name or e-mail of the user running clang-tidy.

This option is used, for example, to place the correct user name in TODO() comments in the relevant check.

Definition at line 112 of file ClangTidyOptions.h.

◆ WarningsAsErrors

std::optional<std::string> clang::tidy::ClangTidyOptions::WarningsAsErrors

WarningsAsErrors filter.

Definition at line 73 of file ClangTidyOptions.h.


The documentation for this struct was generated from the following files: