---
Checks: >
  -*,
  bugprone-*,
  -bugprone-easily-swappable-parameters

  clang-diagnostic-*,
  -clang-diagnostic-unused-command-line-argument,

  google-*,
  -google-runtime-references,

  misc-*,
  -misc-noexcept*,
  -misc-unused-parameters,
  -misc-const-correctness,

  modernize-*,
  -modernize-avoid-c-arrays,
  -modernize-deprecated-headers,
  -modernize-raw-string-literal,
  -modernize-return-braced-init-list,
  -modernize-use-auto,
  -modernize-use-equals-delete,
  -modernize-use-nodiscard,
  -modernize-use-trailing-return-type,

  performance-*,
  readability-*,
  -readability-function-cognitive-complexity,
  -readability-identifier-length,
  -readability-implicit-bool-conversion,
  -readability-isolate-declaration,
  -readability-magic-numbers,
  -readability-qualified-auto,
  -readability-uppercase-literal-suffix,
  -readability-identifier-length,
  -readability-named-parameter,

WarningsAsErrors: false
AnalyzeTemporaryDtors: false
FormatStyle:     file
CheckOptions:
  - key:             bugprone-signed-char-misuse.CharTypdefsToIgnore
    value:           'int8_t'
  - key:             bugprone-assert-side-effect.AssertMacros
    value:           'FXL_DCHECK'
  - key:             google-readability-braces-around-statements.ShortStatementLines
    value:           '2'
  - key:             google-readability-function-size.StatementThreshold
    value:           '800'
  - key:             google-readability-namespace-comments.ShortNamespaceLines
    value:           '10'
  - key:             google-readability-namespace-comments.SpacesBeforeComments
    value:           '2'
  - key:             misc-non-private-member-variables-in-classes.IgnoreClassesWithAllMemberVariablesBeingPublic
    value:           '1'
  - key:             modernize-loop-convert.MaxCopySize
    value:           '16'
  - key:             modernize-loop-convert.MinConfidence
    value:           reasonable
  - key:             modernize-loop-convert.NamingStyle
    value:           CamelCase
  - key:             modernize-pass-by-value.IncludeStyle
    value:           llvm
  - key:             modernize-replace-auto-ptr.IncludeStyle
    value:           llvm
  - key:             modernize-use-default-member-init.UseAssignment
    value:           '1'
  - key:             modernize-use-emplace.IgnoreImplicitConstructors
    value:           '1'
  - key:             modernize-use-nullptr.NullMacros
    value:           'NULL'
  - key:             readability-braces-around-statements.ShortStatementLines
    value:           '2'
  - key:             misc-include-cleaner.IgnoreHeaders
    # The following files are ignored when clang-tidy analyzes header
    # inclusions:
    # - Internal headers (path contains "internal" directory or filename ends
    #   with internal.h)
    # - Header files included by another convenience headers provided by the
    #   libraries, as well as the convenience headers themselves. This includes
    #   but is not limited to:
    #   - FIDL C++ binding internal files (use <fidl/[library]/cpp/fidl.h> and
    #     <fidl/[library]/cpp/wire.h> instead)
    #   - Zircon categorized syscalls headers (use <zircon/syscalls.h> instead).
    #   - Inspect headers (use <lib/inspect/cpp/inspect.h> instead).
    #   - banjo C/C++ headers (always use banjo C++ headers instead).
    #   - DDK tracing headers (<lib/ddk/trace/event.h> includes an internal
    #     header to support tracing).'
    value:           '
                     .*/internal/.*\.h;
                     .*internal\.h;
                     lib/ddk/trace/event\.h;
                     lib/inspect/cpp/[^/]+\.h;
                     lib/inspect/cpp/vmo/.*\.h;
                     fidl/.*/cpp/.*;
                     zircon/syscalls/.*\.h;
                     .*/c/banjo\.h;
                     '
...
