---
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,
  -misc-include-cleaner,

  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
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;
                     '
...
