mirror of
https://github.com/arduino/arduino-ide.git
synced 2025-07-08 03:46:33 +00:00
Use unmodified official ClangFormat configuration as base formatter configuration (#1324)
The Arduino IDE's "Auto Format" feature is configured to produce the standard Arduino sketch formatting style by default. The Arduino IDE editor's default settings are compliant with that style. However, the user may adjust the editor settings. In this case, the Arduino IDE automatically adjusts the Auto Format configuration to align with the user's preferences. The formatter configuration is consumed by several other projects in addition to the Arduino IDE. For this reason, the configuration is hosted and maintained in a centralized location, from which it is pulled by all projects that use it. Previously, the adjustment of the Arduino IDE formatter configuration according to the editor settings was integrated into the configuration object itself. This meant that the standardized configuration had to be modified each time it was pulled in to sync from the upstream source. Moving the base formatter configuration object to a dedicated file, separated from the handling and adjustment code allows syncs to be done by simply replacing the existing configuration file with the one automatically generated by the CI system of the repository where the source configuration is hosted.
This commit is contained in:
parent
75e00c2bae
commit
9e2b73a045
@ -147,189 +147,10 @@ function styleJson({
|
||||
UseTab,
|
||||
}: ClangFormatOptions): Record<string, unknown> {
|
||||
// Source: https://github.com/arduino/tooling-project-assets/tree/main/other/clang-format-configuration
|
||||
const defaultConfig = require('../../src/node/default-formatter-config.json');
|
||||
return {
|
||||
AccessModifierOffset: -2,
|
||||
AlignAfterOpenBracket: 'Align',
|
||||
AlignArrayOfStructures: 'None',
|
||||
AlignConsecutiveAssignments: 'None',
|
||||
AlignConsecutiveBitFields: 'None',
|
||||
AlignConsecutiveDeclarations: 'None',
|
||||
AlignConsecutiveMacros: 'None',
|
||||
AlignEscapedNewlines: 'DontAlign',
|
||||
AlignOperands: 'Align',
|
||||
AlignTrailingComments: true,
|
||||
AllowAllArgumentsOnNextLine: true,
|
||||
AllowAllConstructorInitializersOnNextLine: true,
|
||||
AllowAllParametersOfDeclarationOnNextLine: true,
|
||||
AllowShortBlocksOnASingleLine: 'Always',
|
||||
AllowShortCaseLabelsOnASingleLine: true,
|
||||
AllowShortEnumsOnASingleLine: true,
|
||||
AllowShortFunctionsOnASingleLine: 'Empty',
|
||||
AllowShortIfStatementsOnASingleLine: 'AllIfsAndElse',
|
||||
AllowShortLambdasOnASingleLine: 'Empty',
|
||||
AllowShortLoopsOnASingleLine: true,
|
||||
AlwaysBreakAfterDefinitionReturnType: 'None',
|
||||
AlwaysBreakAfterReturnType: 'None',
|
||||
AlwaysBreakBeforeMultilineStrings: false,
|
||||
AlwaysBreakTemplateDeclarations: 'No',
|
||||
AttributeMacros: ['__capability'],
|
||||
BasedOnStyle: 'LLVM',
|
||||
BinPackArguments: true,
|
||||
BinPackParameters: true,
|
||||
BitFieldColonSpacing: 'Both',
|
||||
BraceWrapping: {
|
||||
AfterCaseLabel: false,
|
||||
AfterClass: false,
|
||||
AfterControlStatement: 'Never',
|
||||
AfterEnum: false,
|
||||
AfterFunction: false,
|
||||
AfterNamespace: false,
|
||||
AfterObjCDeclaration: false,
|
||||
AfterStruct: false,
|
||||
AfterUnion: false,
|
||||
AfterExternBlock: false,
|
||||
BeforeCatch: false,
|
||||
BeforeElse: false,
|
||||
BeforeLambdaBody: false,
|
||||
BeforeWhile: false,
|
||||
IndentBraces: false,
|
||||
SplitEmptyFunction: true,
|
||||
SplitEmptyRecord: true,
|
||||
SplitEmptyNamespace: true,
|
||||
},
|
||||
BreakAfterJavaFieldAnnotations: false,
|
||||
BreakBeforeBinaryOperators: 'NonAssignment',
|
||||
BreakBeforeBraces: 'Attach',
|
||||
BreakBeforeConceptDeclarations: false,
|
||||
BreakBeforeInheritanceComma: false,
|
||||
BreakBeforeTernaryOperators: true,
|
||||
BreakConstructorInitializers: 'BeforeColon',
|
||||
BreakConstructorInitializersBeforeComma: false,
|
||||
BreakInheritanceList: 'BeforeColon',
|
||||
BreakStringLiterals: false,
|
||||
ColumnLimit: 0,
|
||||
CommentPragmas: '',
|
||||
CompactNamespaces: false,
|
||||
ConstructorInitializerAllOnOneLineOrOnePerLine: false,
|
||||
ConstructorInitializerIndentWidth: 2,
|
||||
ContinuationIndentWidth: 2,
|
||||
Cpp11BracedListStyle: false,
|
||||
DeriveLineEnding: true,
|
||||
DerivePointerAlignment: true,
|
||||
DisableFormat: false,
|
||||
EmptyLineAfterAccessModifier: 'Leave',
|
||||
EmptyLineBeforeAccessModifier: 'Leave',
|
||||
ExperimentalAutoDetectBinPacking: false,
|
||||
FixNamespaceComments: false,
|
||||
ForEachMacros: ['foreach', 'Q_FOREACH', 'BOOST_FOREACH'],
|
||||
IfMacros: ['KJ_IF_MAYBE'],
|
||||
IncludeBlocks: 'Preserve',
|
||||
IncludeCategories: [
|
||||
{
|
||||
Regex: '^"(llvm|llvm-c|clang|clang-c)/',
|
||||
Priority: 2,
|
||||
SortPriority: 0,
|
||||
CaseSensitive: false,
|
||||
},
|
||||
{
|
||||
Regex: '^(<|"(gtest|gmock|isl|json)/)',
|
||||
Priority: 3,
|
||||
SortPriority: 0,
|
||||
CaseSensitive: false,
|
||||
},
|
||||
{ Regex: '.*', Priority: 1, SortPriority: 0, CaseSensitive: false },
|
||||
],
|
||||
IncludeIsMainRegex: '',
|
||||
IncludeIsMainSourceRegex: '',
|
||||
IndentAccessModifiers: false,
|
||||
IndentCaseBlocks: true,
|
||||
IndentCaseLabels: true,
|
||||
IndentExternBlock: 'Indent',
|
||||
IndentGotoLabels: false,
|
||||
IndentPPDirectives: 'None',
|
||||
IndentRequires: true,
|
||||
IndentWidth: 2,
|
||||
IndentWrappedFunctionNames: false,
|
||||
InsertTrailingCommas: 'None',
|
||||
JavaScriptQuotes: 'Leave',
|
||||
JavaScriptWrapImports: true,
|
||||
KeepEmptyLinesAtTheStartOfBlocks: true,
|
||||
LambdaBodyIndentation: 'Signature',
|
||||
Language: 'Cpp',
|
||||
MacroBlockBegin: '',
|
||||
MacroBlockEnd: '',
|
||||
MaxEmptyLinesToKeep: 100000,
|
||||
NamespaceIndentation: 'None',
|
||||
ObjCBinPackProtocolList: 'Auto',
|
||||
ObjCBlockIndentWidth: 2,
|
||||
ObjCBreakBeforeNestedBlockParam: true,
|
||||
ObjCSpaceAfterProperty: false,
|
||||
ObjCSpaceBeforeProtocolList: true,
|
||||
PPIndentWidth: -1,
|
||||
PackConstructorInitializers: 'BinPack',
|
||||
PenaltyBreakAssignment: 1,
|
||||
PenaltyBreakBeforeFirstCallParameter: 1,
|
||||
PenaltyBreakComment: 1,
|
||||
PenaltyBreakFirstLessLess: 1,
|
||||
PenaltyBreakOpenParenthesis: 1,
|
||||
PenaltyBreakString: 1,
|
||||
PenaltyBreakTemplateDeclaration: 1,
|
||||
PenaltyExcessCharacter: 1,
|
||||
PenaltyIndentedWhitespace: 1,
|
||||
PenaltyReturnTypeOnItsOwnLine: 1,
|
||||
PointerAlignment: 'Right',
|
||||
QualifierAlignment: 'Leave',
|
||||
ReferenceAlignment: 'Pointer',
|
||||
ReflowComments: false,
|
||||
RemoveBracesLLVM: false,
|
||||
SeparateDefinitionBlocks: 'Leave',
|
||||
ShortNamespaceLines: 0,
|
||||
SortIncludes: 'Never',
|
||||
SortJavaStaticImport: 'Before',
|
||||
SortUsingDeclarations: false,
|
||||
SpaceAfterCStyleCast: false,
|
||||
SpaceAfterLogicalNot: false,
|
||||
SpaceAfterTemplateKeyword: false,
|
||||
SpaceAroundPointerQualifiers: 'Default',
|
||||
SpaceBeforeAssignmentOperators: true,
|
||||
SpaceBeforeCaseColon: false,
|
||||
SpaceBeforeCpp11BracedList: false,
|
||||
SpaceBeforeCtorInitializerColon: true,
|
||||
SpaceBeforeInheritanceColon: true,
|
||||
SpaceBeforeParens: 'ControlStatements',
|
||||
SpaceBeforeParensOptions: {
|
||||
AfterControlStatements: true,
|
||||
AfterForeachMacros: true,
|
||||
AfterFunctionDefinitionName: false,
|
||||
AfterFunctionDeclarationName: false,
|
||||
AfterIfMacros: true,
|
||||
AfterOverloadedOperator: false,
|
||||
BeforeNonEmptyParentheses: false,
|
||||
},
|
||||
SpaceBeforeRangeBasedForLoopColon: true,
|
||||
SpaceBeforeSquareBrackets: false,
|
||||
SpaceInEmptyBlock: false,
|
||||
SpaceInEmptyParentheses: false,
|
||||
SpacesBeforeTrailingComments: 2,
|
||||
SpacesInAngles: 'Leave',
|
||||
SpacesInCStyleCastParentheses: false,
|
||||
SpacesInConditionalStatement: false,
|
||||
SpacesInContainerLiterals: false,
|
||||
SpacesInLineCommentPrefix: { Minimum: 0, Maximum: -1 },
|
||||
SpacesInParentheses: false,
|
||||
SpacesInSquareBrackets: false,
|
||||
Standard: 'Auto',
|
||||
StatementAttributeLikeMacros: ['Q_EMIT'],
|
||||
StatementMacros: ['Q_UNUSED', 'QT_REQUIRE_VERSION'],
|
||||
...defaultConfig,
|
||||
TabWidth,
|
||||
UseCRLF: false,
|
||||
UseTab,
|
||||
WhitespaceSensitiveMacros: [
|
||||
'STRINGIZE',
|
||||
'PP_STRINGIZE',
|
||||
'BOOST_PP_STRINGIZE',
|
||||
'NS_SWIFT_NAME',
|
||||
'CF_SWIFT_NAME',
|
||||
],
|
||||
};
|
||||
}
|
||||
|
193
arduino-ide-extension/src/node/default-formatter-config.json
Normal file
193
arduino-ide-extension/src/node/default-formatter-config.json
Normal file
@ -0,0 +1,193 @@
|
||||
{
|
||||
"AccessModifierOffset": -2,
|
||||
"AlignAfterOpenBracket": "Align",
|
||||
"AlignArrayOfStructures": "None",
|
||||
"AlignConsecutiveAssignments": "None",
|
||||
"AlignConsecutiveBitFields": "None",
|
||||
"AlignConsecutiveDeclarations": "None",
|
||||
"AlignConsecutiveMacros": "None",
|
||||
"AlignEscapedNewlines": "DontAlign",
|
||||
"AlignOperands": "Align",
|
||||
"AlignTrailingComments": true,
|
||||
"AllowAllArgumentsOnNextLine": true,
|
||||
"AllowAllConstructorInitializersOnNextLine": true,
|
||||
"AllowAllParametersOfDeclarationOnNextLine": true,
|
||||
"AllowShortBlocksOnASingleLine": "Always",
|
||||
"AllowShortCaseLabelsOnASingleLine": true,
|
||||
"AllowShortEnumsOnASingleLine": true,
|
||||
"AllowShortFunctionsOnASingleLine": "Empty",
|
||||
"AllowShortIfStatementsOnASingleLine": "AllIfsAndElse",
|
||||
"AllowShortLambdasOnASingleLine": "Empty",
|
||||
"AllowShortLoopsOnASingleLine": true,
|
||||
"AlwaysBreakAfterDefinitionReturnType": "None",
|
||||
"AlwaysBreakAfterReturnType": "None",
|
||||
"AlwaysBreakBeforeMultilineStrings": false,
|
||||
"AlwaysBreakTemplateDeclarations": "No",
|
||||
"AttributeMacros": ["__capability"],
|
||||
"BasedOnStyle": "LLVM",
|
||||
"BinPackArguments": true,
|
||||
"BinPackParameters": true,
|
||||
"BitFieldColonSpacing": "Both",
|
||||
"BraceWrapping": {
|
||||
"AfterCaseLabel": false,
|
||||
"AfterClass": false,
|
||||
"AfterControlStatement": "Never",
|
||||
"AfterEnum": false,
|
||||
"AfterFunction": false,
|
||||
"AfterNamespace": false,
|
||||
"AfterObjCDeclaration": false,
|
||||
"AfterStruct": false,
|
||||
"AfterUnion": false,
|
||||
"AfterExternBlock": false,
|
||||
"BeforeCatch": false,
|
||||
"BeforeElse": false,
|
||||
"BeforeLambdaBody": false,
|
||||
"BeforeWhile": false,
|
||||
"IndentBraces": false,
|
||||
"SplitEmptyFunction": true,
|
||||
"SplitEmptyRecord": true,
|
||||
"SplitEmptyNamespace": true
|
||||
},
|
||||
"BreakAfterJavaFieldAnnotations": false,
|
||||
"BreakBeforeBinaryOperators": "NonAssignment",
|
||||
"BreakBeforeBraces": "Attach",
|
||||
"BreakBeforeConceptDeclarations": false,
|
||||
"BreakBeforeInheritanceComma": false,
|
||||
"BreakBeforeTernaryOperators": true,
|
||||
"BreakConstructorInitializers": "BeforeColon",
|
||||
"BreakConstructorInitializersBeforeComma": false,
|
||||
"BreakInheritanceList": "BeforeColon",
|
||||
"BreakStringLiterals": false,
|
||||
"ColumnLimit": 0,
|
||||
"CommentPragmas": "",
|
||||
"CompactNamespaces": false,
|
||||
"ConstructorInitializerAllOnOneLineOrOnePerLine": false,
|
||||
"ConstructorInitializerIndentWidth": 2,
|
||||
"ContinuationIndentWidth": 2,
|
||||
"Cpp11BracedListStyle": false,
|
||||
"DeriveLineEnding": true,
|
||||
"DerivePointerAlignment": true,
|
||||
"DisableFormat": false,
|
||||
"EmptyLineAfterAccessModifier": "Leave",
|
||||
"EmptyLineBeforeAccessModifier": "Leave",
|
||||
"ExperimentalAutoDetectBinPacking": false,
|
||||
"FixNamespaceComments": false,
|
||||
"ForEachMacros": ["foreach", "Q_FOREACH", "BOOST_FOREACH"],
|
||||
"IfMacros": ["KJ_IF_MAYBE"],
|
||||
"IncludeBlocks": "Preserve",
|
||||
"IncludeCategories": [
|
||||
{
|
||||
"Regex": "^\"(llvm|llvm-c|clang|clang-c)/",
|
||||
"Priority": 2,
|
||||
"SortPriority": 0,
|
||||
"CaseSensitive": false
|
||||
},
|
||||
{
|
||||
"Regex": "^(<|\"(gtest|gmock|isl|json)/)",
|
||||
"Priority": 3,
|
||||
"SortPriority": 0,
|
||||
"CaseSensitive": false
|
||||
},
|
||||
{
|
||||
"Regex": ".*",
|
||||
"Priority": 1,
|
||||
"SortPriority": 0,
|
||||
"CaseSensitive": false
|
||||
}
|
||||
],
|
||||
"IncludeIsMainRegex": "",
|
||||
"IncludeIsMainSourceRegex": "",
|
||||
"IndentAccessModifiers": false,
|
||||
"IndentCaseBlocks": true,
|
||||
"IndentCaseLabels": true,
|
||||
"IndentExternBlock": "Indent",
|
||||
"IndentGotoLabels": false,
|
||||
"IndentPPDirectives": "None",
|
||||
"IndentRequires": true,
|
||||
"IndentWidth": 2,
|
||||
"IndentWrappedFunctionNames": false,
|
||||
"InsertTrailingCommas": "None",
|
||||
"JavaScriptQuotes": "Leave",
|
||||
"JavaScriptWrapImports": true,
|
||||
"KeepEmptyLinesAtTheStartOfBlocks": true,
|
||||
"LambdaBodyIndentation": "Signature",
|
||||
"Language": "Cpp",
|
||||
"MacroBlockBegin": "",
|
||||
"MacroBlockEnd": "",
|
||||
"MaxEmptyLinesToKeep": 100000,
|
||||
"NamespaceIndentation": "None",
|
||||
"ObjCBinPackProtocolList": "Auto",
|
||||
"ObjCBlockIndentWidth": 2,
|
||||
"ObjCBreakBeforeNestedBlockParam": true,
|
||||
"ObjCSpaceAfterProperty": false,
|
||||
"ObjCSpaceBeforeProtocolList": true,
|
||||
"PPIndentWidth": -1,
|
||||
"PackConstructorInitializers": "BinPack",
|
||||
"PenaltyBreakAssignment": 1,
|
||||
"PenaltyBreakBeforeFirstCallParameter": 1,
|
||||
"PenaltyBreakComment": 1,
|
||||
"PenaltyBreakFirstLessLess": 1,
|
||||
"PenaltyBreakOpenParenthesis": 1,
|
||||
"PenaltyBreakString": 1,
|
||||
"PenaltyBreakTemplateDeclaration": 1,
|
||||
"PenaltyExcessCharacter": 1,
|
||||
"PenaltyIndentedWhitespace": 1,
|
||||
"PenaltyReturnTypeOnItsOwnLine": 1,
|
||||
"PointerAlignment": "Right",
|
||||
"QualifierAlignment": "Leave",
|
||||
"ReferenceAlignment": "Pointer",
|
||||
"ReflowComments": false,
|
||||
"RemoveBracesLLVM": false,
|
||||
"SeparateDefinitionBlocks": "Leave",
|
||||
"ShortNamespaceLines": 0,
|
||||
"SortIncludes": "Never",
|
||||
"SortJavaStaticImport": "Before",
|
||||
"SortUsingDeclarations": false,
|
||||
"SpaceAfterCStyleCast": false,
|
||||
"SpaceAfterLogicalNot": false,
|
||||
"SpaceAfterTemplateKeyword": false,
|
||||
"SpaceAroundPointerQualifiers": "Default",
|
||||
"SpaceBeforeAssignmentOperators": true,
|
||||
"SpaceBeforeCaseColon": false,
|
||||
"SpaceBeforeCpp11BracedList": false,
|
||||
"SpaceBeforeCtorInitializerColon": true,
|
||||
"SpaceBeforeInheritanceColon": true,
|
||||
"SpaceBeforeParens": "ControlStatements",
|
||||
"SpaceBeforeParensOptions": {
|
||||
"AfterControlStatements": true,
|
||||
"AfterForeachMacros": true,
|
||||
"AfterFunctionDefinitionName": false,
|
||||
"AfterFunctionDeclarationName": false,
|
||||
"AfterIfMacros": true,
|
||||
"AfterOverloadedOperator": false,
|
||||
"BeforeNonEmptyParentheses": false
|
||||
},
|
||||
"SpaceBeforeRangeBasedForLoopColon": true,
|
||||
"SpaceBeforeSquareBrackets": false,
|
||||
"SpaceInEmptyBlock": false,
|
||||
"SpaceInEmptyParentheses": false,
|
||||
"SpacesBeforeTrailingComments": 2,
|
||||
"SpacesInAngles": "Leave",
|
||||
"SpacesInCStyleCastParentheses": false,
|
||||
"SpacesInConditionalStatement": false,
|
||||
"SpacesInContainerLiterals": false,
|
||||
"SpacesInLineCommentPrefix": {
|
||||
"Minimum": 0,
|
||||
"Maximum": -1
|
||||
},
|
||||
"SpacesInParentheses": false,
|
||||
"SpacesInSquareBrackets": false,
|
||||
"Standard": "Auto",
|
||||
"StatementAttributeLikeMacros": ["Q_EMIT"],
|
||||
"StatementMacros": ["Q_UNUSED", "QT_REQUIRE_VERSION"],
|
||||
"TabWidth": 2,
|
||||
"UseCRLF": false,
|
||||
"UseTab": "Never",
|
||||
"WhitespaceSensitiveMacros": [
|
||||
"STRINGIZE",
|
||||
"PP_STRINGIZE",
|
||||
"BOOST_PP_STRINGIZE",
|
||||
"NS_SWIFT_NAME",
|
||||
"CF_SWIFT_NAME"
|
||||
]
|
||||
}
|
@ -13,6 +13,7 @@
|
||||
"emitDecoratorMetadata": true,
|
||||
"module": "commonjs",
|
||||
"moduleResolution": "node",
|
||||
"resolveJsonModule": true,
|
||||
"target": "ES2017",
|
||||
"outDir": "lib",
|
||||
"lib": [
|
||||
|
Loading…
x
Reference in New Issue
Block a user