# Part of the Carbon Language project, under the Apache License v2.0 with LLVM
# Exceptions. See /LICENSE for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

---
BasedOnStyle: Google
AllowShortBlocksOnASingleLine: 'false'
AllowShortIfStatementsOnASingleLine: Never
AllowShortLoopsOnASingleLine: 'false'
DerivePointerAlignment: 'false'
ExperimentalAutoDetectBinPacking: 'false'
FixNamespaceComments: 'true'
InsertBraces: 'true'
PointerAlignment: Left
# We abuse control macros for formatting other kinds of macros.
SpaceBeforeParens: ControlStatementsExceptControlMacros
IfMacros:
  [
    'CARBON_DEFINE_RAW_ENUM_CLASS',
    'CARBON_DEFINE_ENUM_CLASS_NAMES',
    'CARBON_DEFINE_RAW_ENUM_MASK',
    'CARBON_DEFINE_ENUM_MASK_NAMES',
    'CARBON_KIND_SWITCH',
  ]
StatementMacros: ['ABSTRACT']
QualifierAlignment: Custom
QualifierOrder:
  [inline, static, friend, constexpr, const, volatile, restrict, type]
