# Taken from https://github.com/arduino/arduino-language-server/blob/e453c5fbd059bae673bb21d028f5ca8e690744be/handler/handler.go#L1769-L1952 # Which will be used in the IDE 2.0+ when 'format sketch' option is selected Language: Cpp # LLVM is the default style setting, used when a configuration option is not set here BasedOnStyle: LLVM AccessModifierOffset: -2 AlignAfterOpenBracket: Align AlignConsecutiveAssignments: false AlignConsecutiveBitFields: false AlignConsecutiveDeclarations: false AlignConsecutiveMacros: false AlignEscapedNewlines: DontAlign AlignOperands: Align AlignTrailingComments: true AllowAllArgumentsOnNextLine: true AllowAllConstructorInitializersOnNextLine: true AllowAllParametersOfDeclarationOnNextLine: true AllowShortBlocksOnASingleLine: Always AllowShortCaseLabelsOnASingleLine: true AllowShortEnumsOnASingleLine: true AllowShortFunctionsOnASingleLine: Empty AllowShortIfStatementsOnASingleLine: Always AllowShortLambdasOnASingleLine: Empty AllowShortLoopsOnASingleLine: true AlwaysBreakAfterDefinitionReturnType: None AlwaysBreakAfterReturnType: None AlwaysBreakBeforeMultilineStrings: false AlwaysBreakTemplateDeclarations: No BinPackArguments: true BinPackParameters: true # Only used when "BreakBeforeBraces" set to "Custom" BraceWrapping: AfterCaseLabel: false AfterClass: false AfterControlStatement: Never AfterEnum: false AfterFunction: false AfterNamespace: false #AfterObjCDeclaration: AfterStruct: false AfterUnion: false AfterExternBlock: false BeforeCatch: false BeforeElse: false BeforeLambdaBody: false BeforeWhile: false IndentBraces: false SplitEmptyFunction: false SplitEmptyRecord: false SplitEmptyNamespace: false # Java-specific #BreakAfterJavaFieldAnnotations: BreakBeforeBinaryOperators: NonAssignment BreakBeforeBraces: Attach BreakBeforeTernaryOperators: true BreakConstructorInitializers: BeforeColon BreakInheritanceList: BeforeColon BreakStringLiterals: false # v12 has various problems with this set to 0 (no limit) # possible workaround is to set this to 4294967295 aka some large number # see https://reviews.llvm.org/D96896 ColumnLimit: 0 # "" matches none CommentPragmas: "" CompactNamespaces: false ConstructorInitializerAllOnOneLineOrOnePerLine: true ConstructorInitializerIndentWidth: 2 ContinuationIndentWidth: 2 Cpp11BracedListStyle: false DeriveLineEnding: true DerivePointerAlignment: true DisableFormat: false # Docs say "Do not use this in config files". The default (LLVM 11.0.1) is "false". #ExperimentalAutoDetectBinPacking: FixNamespaceComments: false ForEachMacros: [] IncludeBlocks: Preserve IncludeCategories: [] # "" matches none IncludeIsMainRegex: "" IncludeIsMainSourceRegex: "" IndentCaseBlocks: true IndentCaseLabels: true IndentExternBlock: Indent IndentGotoLabels: false IndentPPDirectives: None IndentWidth: 2 IndentWrappedFunctionNames: false InsertTrailingCommas: None # Java-specific #JavaImportGroups: # JavaScript-specific #JavaScriptQuotes: #JavaScriptWrapImports KeepEmptyLinesAtTheStartOfBlocks: true MacroBlockBegin: "" MacroBlockEnd: "" # Set to a large number to effectively disable MaxEmptyLinesToKeep: 100000 NamespaceIndentation: None NamespaceMacros: [] # Objective C-specific #ObjCBinPackProtocolList: #ObjCBlockIndentWidth: #ObjCBreakBeforeNestedBlockParam: #ObjCSpaceAfterProperty: #ObjCSpaceBeforeProtocolList PenaltyBreakAssignment: 1 PenaltyBreakBeforeFirstCallParameter: 1 PenaltyBreakComment: 1 PenaltyBreakFirstLessLess: 1 PenaltyBreakString: 1 PenaltyBreakTemplateDeclaration: 1 PenaltyExcessCharacter: 1 PenaltyReturnTypeOnItsOwnLine: 1 # Used as a fallback if alignment style can't be detected from code (DerivePointerAlignment: true) PointerAlignment: Right RawStringFormats: [] ReflowComments: true SortIncludes: false SortUsingDeclarations: false SpaceAfterCStyleCast: false SpaceAfterLogicalNot: false SpaceAfterTemplateKeyword: false SpaceBeforeAssignmentOperators: true SpaceBeforeCpp11BracedList: false SpaceBeforeCtorInitializerColon: true SpaceBeforeInheritanceColon: true SpaceBeforeParens: ControlStatements SpaceBeforeRangeBasedForLoopColon: true SpaceBeforeSquareBrackets: false SpaceInEmptyBlock: false SpaceInEmptyParentheses: false SpacesBeforeTrailingComments: 2 SpacesInAngles: false SpacesInCStyleCastParentheses: false SpacesInConditionalStatement: false SpacesInContainerLiterals: false SpacesInParentheses: false SpacesInSquareBrackets: false Standard: Auto StatementMacros: [] TabWidth: 2 TypenameMacros: [] # Default to LF if line endings can't be detected from the content (DeriveLineEnding). UseCRLF: false UseTab: Never WhitespaceSensitiveMacros: []