mirror of
https://git.sr.ht/~lattis/muon
synced 2026-01-26 08:07:51 +00:00
We no longer use getopt, but a bespoke parser loosely inspired by https://github.com/skeeto/scratch/blob/master/parsers/imgo.c. The purpose of this is to reduce duplication. Currently for every cli flag we need to list it a total of 4 times. Once in the optstring, once in the switch statement, once in the cli help (-h), and ideally once in the man page (which is easy to forget). The new api should function exactly like posix getopt, but allows us to only specify flags in one place and generate all docs necessary. Additionally, the docs are available and searchable using muon help.
117 lines
3.1 KiB
YAML
117 lines
3.1 KiB
YAML
# SPDX-FileCopyrightText: Stone Tickle <lattis@mochiro.moe>
|
|
# SPDX-License-Identifier: GPL-3.0-only
|
|
---
|
|
AccessModifierOffset: -4
|
|
AlignAfterOpenBracket: DontAlign
|
|
AlignConsecutiveAssignments: false
|
|
AlignConsecutiveDeclarations: false
|
|
AlignEscapedNewlines: Left
|
|
AlignOperands: true
|
|
AlignTrailingComments: false
|
|
AllowAllParametersOfDeclarationOnNextLine: false
|
|
AllowShortBlocksOnASingleLine: false
|
|
AllowShortCaseLabelsOnASingleLine: true
|
|
AllowShortFunctionsOnASingleLine: None
|
|
AllowShortIfStatementsOnASingleLine: false
|
|
AllowShortLoopsOnASingleLine: false
|
|
AlwaysBreakAfterDefinitionReturnType: None
|
|
AlwaysBreakAfterReturnType: AllDefinitions
|
|
AlwaysBreakBeforeMultilineStrings: false
|
|
AlwaysBreakTemplateDeclarations: false
|
|
BinPackArguments: false
|
|
BinPackParameters: false
|
|
BraceWrapping:
|
|
AfterClass: false
|
|
AfterControlStatement: false
|
|
AfterEnum: false
|
|
AfterFunction: true
|
|
AfterNamespace: true
|
|
AfterObjCDeclaration: false
|
|
AfterStruct: false
|
|
AfterUnion: false
|
|
AfterExternBlock: false
|
|
BeforeCatch: false
|
|
BeforeElse: false
|
|
IndentBraces: false
|
|
SplitEmptyFunction: true
|
|
SplitEmptyRecord: true
|
|
SplitEmptyNamespace: true
|
|
BreakBeforeBinaryOperators: All
|
|
BreakBeforeBraces: Custom
|
|
BreakBeforeInheritanceComma: false
|
|
BreakBeforeTernaryOperators: false
|
|
BreakConstructorInitializersBeforeComma: false
|
|
BreakConstructorInitializers: BeforeComma
|
|
BreakStringLiterals: false
|
|
ColumnLimit: 120
|
|
CompactNamespaces: false
|
|
ConstructorInitializerAllOnOneLineOrOnePerLine: false
|
|
ConstructorInitializerIndentWidth: 8
|
|
ContinuationIndentWidth: 8
|
|
Cpp11BracedListStyle: false
|
|
DerivePointerAlignment: false
|
|
DisableFormat: false
|
|
ExperimentalAutoDetectBinPacking: false
|
|
FixNamespaceComments: false
|
|
|
|
ForEachMacros:
|
|
- 'OPTSTART'
|
|
- 'opt_for'
|
|
- 'obj_array_flat_for_'
|
|
- 'obj_array_flat_for'
|
|
- 'obj_array_for_array'
|
|
- 'obj_array_for_array_'
|
|
- 'obj_array_for'
|
|
- 'obj_dict_for'
|
|
- 'sl_for'
|
|
|
|
IncludeBlocks: Preserve
|
|
IncludeCategories:
|
|
- Regex: '.*'
|
|
Priority: 1
|
|
IncludeIsMainRegex: '(Test)?$'
|
|
IndentCaseLabels: false
|
|
IndentCaseBlocks: false
|
|
IndentGotoLabels: false
|
|
IndentPPDirectives: None
|
|
IndentWidth: 8
|
|
IndentWrappedFunctionNames: false
|
|
KeepEmptyLinesAtTheStartOfBlocks: false
|
|
MaxEmptyLinesToKeep: 1
|
|
NamespaceIndentation: None
|
|
ObjCBinPackProtocolList: Auto
|
|
ObjCBlockIndentWidth: 8
|
|
ObjCSpaceAfterProperty: true
|
|
ObjCSpaceBeforeProtocolList: true
|
|
|
|
# Taken from git's rules
|
|
PenaltyBreakAssignment: 10
|
|
PenaltyBreakBeforeFirstCallParameter: 30
|
|
PenaltyBreakComment: 10
|
|
PenaltyBreakFirstLessLess: 0
|
|
PenaltyBreakString: 10
|
|
PenaltyExcessCharacter: 100
|
|
PenaltyReturnTypeOnItsOwnLine: 60
|
|
|
|
PointerAlignment: Right
|
|
ReflowComments: false
|
|
SortIncludes: true
|
|
SortUsingDeclarations: false
|
|
SpaceAfterCStyleCast: false
|
|
SpaceAfterTemplateKeyword: true
|
|
SpaceBeforeAssignmentOperators: true
|
|
SpaceBeforeCtorInitializerColon: true
|
|
SpaceBeforeInheritanceColon: true
|
|
SpaceBeforeParens: ControlStatementsExceptForEachMacros
|
|
SpaceBeforeRangeBasedForLoopColon: true
|
|
SpaceInEmptyParentheses: false
|
|
SpacesBeforeTrailingComments: 1
|
|
SpacesInAngles: false
|
|
SpacesInContainerLiterals: false
|
|
SpacesInCStyleCastParentheses: false
|
|
SpacesInParentheses: false
|
|
SpacesInSquareBrackets: false
|
|
Standard: Cpp03
|
|
TabWidth: 8
|
|
UseTab: Always
|