# Based on Paul Ganssle's version at
# https://gist.github.com/pganssle/0e3a5f828b4d07d79447f6ced8e7e4db
# and modified for NumPy.
BasedOnStyle: Google
AlignAfterOpenBracket: Align
AllowShortEnumsOnASingleLine: false
AllowShortIfStatementsOnASingleLine: false
AlwaysBreakAfterReturnType: TopLevel
BreakBeforeBraces: Stroustrup
ColumnLimit: 79
ContinuationIndentWidth: 4
DerivePointerAlignment: false
IndentWidth: 4
IncludeBlocks: Regroup
IncludeCategories:
  - Regex:           '^[<"](Python|structmember)'
    Priority:        -3
    CaseSensitive:   true
  - Regex:           '^"[[:alnum:]_.]+"'
    Priority:        1
  - Regex:           '^<[[:alnum:]_.]+"'
    Priority:        2
Language: Cpp
PointerAlignment: Right
ReflowComments: true
SpaceBeforeParens: ControlStatements
SpacesInParentheses: false
StatementMacros: [PyObject_HEAD, PyObject_VAR_HEAD, PyObject_HEAD_EXTRA]
TabWidth: 4
UseTab: Never
BreakBeforeBinaryOperators: NonAssignment
IndentPPDirectives: AfterHash
PPIndentWidth: 2
PenaltyBreakAssignment: 41
IndentGotoLabels: false
