forked from me-no-dev/ESPAsyncWebServer
-
Notifications
You must be signed in to change notification settings - Fork 12
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: Add pre-commit CI and sync formatting settings (#22)
* feat: Add pre-commit CI and sync formatting settings * fix: Ignore LICENSE file * fix: Apply new formatting * fix: Fix spelling and add spell checker
- Loading branch information
1 parent
c6caa1c
commit a0cd03c
Showing
42 changed files
with
4,007 additions
and
2,754 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,22 +1,246 @@ | ||
Language: Cpp | ||
# Clang format version: 18.1.3 | ||
--- | ||
BasedOnStyle: LLVM | ||
|
||
AccessModifierOffset: -2 | ||
AlignConsecutiveMacros: true | ||
AllowAllArgumentsOnNextLine: false | ||
AllowAllParametersOfDeclarationOnNextLine: false | ||
AllowShortIfStatementsOnASingleLine: false | ||
AllowShortLambdasOnASingleLine: Inline | ||
BinPackArguments: false | ||
ColumnLimit: 0 | ||
AlignAfterOpenBracket: BlockIndent | ||
AlignArrayOfStructures: None | ||
AlignConsecutiveAssignments: | ||
Enabled: false | ||
AcrossEmptyLines: false | ||
AcrossComments: false | ||
AlignCompound: false | ||
AlignFunctionPointers: false | ||
PadOperators: true | ||
AlignConsecutiveBitFields: | ||
Enabled: true | ||
AcrossEmptyLines: false | ||
AcrossComments: false | ||
AlignCompound: false | ||
AlignFunctionPointers: false | ||
PadOperators: false | ||
AlignConsecutiveDeclarations: | ||
Enabled: false | ||
AcrossEmptyLines: false | ||
AcrossComments: false | ||
AlignCompound: false | ||
AlignFunctionPointers: false | ||
PadOperators: false | ||
AlignConsecutiveMacros: | ||
Enabled: true | ||
AcrossEmptyLines: false | ||
AcrossComments: false | ||
AlignCompound: false | ||
AlignFunctionPointers: false | ||
PadOperators: false | ||
AlignConsecutiveShortCaseStatements: | ||
Enabled: true | ||
AcrossEmptyLines: false | ||
AcrossComments: false | ||
AlignCaseColons: false | ||
AlignEscapedNewlines: Left | ||
AlignOperands: Align | ||
AlignTrailingComments: | ||
Kind: Always | ||
OverEmptyLines: 0 | ||
AllowAllArgumentsOnNextLine: true | ||
AllowAllParametersOfDeclarationOnNextLine: true | ||
AllowBreakBeforeNoexceptSpecifier: Never | ||
AllowShortBlocksOnASingleLine: Empty | ||
AllowShortCaseLabelsOnASingleLine: true | ||
AllowShortCompoundRequirementOnASingleLine: true | ||
AllowShortEnumsOnASingleLine: false | ||
AllowShortFunctionsOnASingleLine: Empty | ||
AllowShortIfStatementsOnASingleLine: Never | ||
AllowShortLambdasOnASingleLine: Empty | ||
AllowShortLoopsOnASingleLine: true | ||
AlwaysBreakAfterDefinitionReturnType: None | ||
AlwaysBreakAfterReturnType: None | ||
AlwaysBreakBeforeMultilineStrings: false | ||
AlwaysBreakTemplateDeclarations: MultiLine | ||
AttributeMacros: | ||
- __capability | ||
BinPackArguments: true | ||
BinPackParameters: true | ||
BitFieldColonSpacing: Both | ||
BraceWrapping: | ||
AfterCaseLabel: true | ||
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: false | ||
SplitEmptyRecord: true | ||
SplitEmptyNamespace: true | ||
BreakAdjacentStringLiterals: true | ||
BreakAfterAttributes: Always | ||
BreakAfterJavaFieldAnnotations: false | ||
BreakArrays: false | ||
BreakBeforeBinaryOperators: NonAssignment | ||
BreakBeforeBraces: Custom | ||
BreakBeforeConceptDeclarations: Always | ||
BreakBeforeInlineASMColon: OnlyMultiline | ||
BreakBeforeTernaryOperators: true | ||
BreakConstructorInitializers: BeforeColon | ||
BreakInheritanceList: BeforeColon | ||
BreakStringLiterals: true | ||
ColumnLimit: 160 | ||
CommentPragmas: "" | ||
CompactNamespaces: false | ||
ConstructorInitializerIndentWidth: 2 | ||
ContinuationIndentWidth: 2 | ||
FixNamespaceComments: false | ||
IndentAccessModifiers: true | ||
Cpp11BracedListStyle: true | ||
DerivePointerAlignment: false | ||
DisableFormat: false | ||
EmptyLineAfterAccessModifier: Never | ||
EmptyLineBeforeAccessModifier: LogicalBlock | ||
ExperimentalAutoDetectBinPacking: false | ||
FixNamespaceComments: true | ||
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: false | ||
IndentCaseLabels: true | ||
IndentPPDirectives: BeforeHash | ||
IndentExternBlock: NoIndent | ||
IndentGotoLabels: false | ||
IndentPPDirectives: None | ||
IndentRequiresClause: false | ||
IndentWidth: 2 | ||
NamespaceIndentation: All | ||
PointerAlignment: Left | ||
ReferenceAlignment: Left | ||
IndentWrappedFunctionNames: true | ||
InsertBraces: true | ||
InsertNewlineAtEOF: true | ||
InsertTrailingCommas: None | ||
IntegerLiteralSeparator: | ||
Binary: 0 | ||
BinaryMinDigits: 0 | ||
Decimal: 0 | ||
DecimalMinDigits: 0 | ||
Hex: 0 | ||
HexMinDigits: 0 | ||
JavaScriptQuotes: Leave | ||
JavaScriptWrapImports: true | ||
KeepEmptyLinesAtEOF: false | ||
KeepEmptyLinesAtTheStartOfBlocks: true | ||
LambdaBodyIndentation: Signature | ||
Language: Cpp | ||
LineEnding: LF | ||
MacroBlockBegin: "" | ||
MacroBlockEnd: "" | ||
MaxEmptyLinesToKeep: 1 | ||
NamespaceIndentation: None | ||
ObjCBinPackProtocolList: Auto | ||
ObjCBlockIndentWidth: 2 | ||
ObjCBreakBeforeNestedBlockParam: true | ||
ObjCSpaceAfterProperty: false | ||
ObjCSpaceBeforeProtocolList: true | ||
PPIndentWidth: -1 | ||
PackConstructorInitializers: BinPack | ||
PenaltyBreakAssignment: 2 | ||
PenaltyBreakBeforeFirstCallParameter: 19 | ||
PenaltyBreakComment: 300 | ||
PenaltyBreakFirstLessLess: 120 | ||
PenaltyBreakOpenParenthesis: 0 | ||
PenaltyBreakScopeResolution: 500 | ||
PenaltyBreakString: 1000 | ||
PenaltyBreakTemplateDeclaration: 10 | ||
PenaltyExcessCharacter: 1000000 | ||
PenaltyIndentedWhitespace: 0 | ||
PenaltyReturnTypeOnItsOwnLine: 60 | ||
PointerAlignment: Right | ||
QualifierAlignment: Leave | ||
ReferenceAlignment: Pointer | ||
ReflowComments: false | ||
RemoveBracesLLVM: false | ||
RemoveParentheses: Leave | ||
RemoveSemicolon: false | ||
RequiresClausePosition: OwnLine | ||
RequiresExpressionIndentation: OuterScope | ||
SeparateDefinitionBlocks: Leave | ||
ShortNamespaceLines: 1 | ||
SkipMacroDefinitionBody: false | ||
SortIncludes: Never | ||
SortJavaStaticImport: Before | ||
SortUsingDeclarations: LexicographicNumeric | ||
SpaceAfterCStyleCast: false | ||
SpaceAfterLogicalNot: false | ||
SpaceAfterTemplateKeyword: false | ||
SpaceAroundPointerQualifiers: Default | ||
SpaceBeforeAssignmentOperators: true | ||
SpaceBeforeCaseColon: false | ||
SpaceBeforeCpp11BracedList: false | ||
SpaceBeforeCtorInitializerColon: true | ||
SpaceBeforeInheritanceColon: true | ||
SpaceBeforeJsonColon: false | ||
SpaceBeforeParens: ControlStatements | ||
SpaceBeforeParensOptions: | ||
AfterControlStatements: true | ||
AfterForeachMacros: true | ||
AfterFunctionDeclarationName: false | ||
AfterFunctionDefinitionName: false | ||
AfterIfMacros: true | ||
AfterOverloadedOperator: true | ||
AfterPlacementOperator: true | ||
AfterRequiresInClause: false | ||
AfterRequiresInExpression: false | ||
BeforeNonEmptyParentheses: false | ||
SpaceBeforeRangeBasedForLoopColon: true | ||
SpaceBeforeSquareBrackets: false | ||
SpaceInEmptyBlock: false | ||
SpacesBeforeTrailingComments: 2 | ||
SpacesInAngles: Never | ||
SpacesInContainerLiterals: false | ||
SpacesInLineCommentPrefix: | ||
Minimum: 1 | ||
Maximum: -1 | ||
SpacesInParens: Never | ||
SpacesInParensOptions: | ||
InConditionalStatements: false | ||
InCStyleCasts: false | ||
InEmptyParentheses: false | ||
Other: false | ||
SpacesInSquareBrackets: false | ||
Standard: Auto | ||
StatementAttributeLikeMacros: | ||
- Q_EMIT | ||
StatementMacros: | ||
- Q_UNUSED | ||
- QT_REQUIRE_VERSION | ||
TabWidth: 2 | ||
UseTab: Never | ||
VerilogBreakBetweenInstancePorts: true | ||
WhitespaceSensitiveMacros: | ||
- BOOST_PP_STRINGIZE | ||
- CF_SWIFT_NAME | ||
- NS_SWIFT_NAME | ||
- PP_STRINGIZE | ||
- STRINGIZE | ||
BracedInitializerIndentWidth: 2 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
[codespell] | ||
# Source: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/assets/spell-check/.codespellrc | ||
# In the event of a false positive, add the problematic word, in all lowercase, to a comma-separated list here: | ||
ignore-words-list = ba,licence,varius | ||
skip = ./.git,./.licenses,__pycache__,.clang-format,.codespellrc,.editorconfig,.flake8,.prettierignore,.yamllint.yml,.gitignore | ||
builtin = clear,informal,en-GB_to_en-US | ||
check-filenames = | ||
check-hidden = |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,60 @@ | ||
# Source: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/assets/general/.editorconfig | ||
# See: https://editorconfig.org/ | ||
# The formatting style defined in this file is the official standardized style to be used in all Arduino Tooling | ||
# projects and should not be modified. | ||
# Note: indent style for each file type is defined even when it matches the universal config in order to make it clear | ||
# that this type has an official style. | ||
|
||
[*] | ||
charset = utf-8 | ||
end_of_line = lf | ||
indent_size = 2 | ||
indent_style = space | ||
insert_final_newline = true | ||
trim_trailing_whitespace = true | ||
|
||
[*.{adoc,asc,asciidoc}] | ||
indent_size = 2 | ||
indent_style = space | ||
|
||
[*.{bash,sh}] | ||
indent_size = 4 | ||
indent_style = space | ||
|
||
[*.{c,cc,cp,cpp,cxx,h,hh,hpp,hxx,ii,inl,ino,ixx,pde,tpl,tpp,txx}] | ||
indent_size = 2 | ||
indent_style = space | ||
|
||
[*.{go,mod}] | ||
indent_style = tab | ||
|
||
[*.java] | ||
indent_size = 2 | ||
indent_style = space | ||
|
||
[*.{js,jsx,json,jsonc,json5,ts,tsx}] | ||
indent_size = 2 | ||
indent_style = space | ||
|
||
[*.{md,mdx,mkdn,mdown,markdown}] | ||
indent_size = unset | ||
indent_style = space | ||
|
||
[*.proto] | ||
indent_size = 2 | ||
indent_style = space | ||
|
||
[*.py] | ||
indent_size = 4 | ||
indent_style = space | ||
|
||
[*.svg] | ||
indent_size = 2 | ||
indent_style = space | ||
|
||
[*.{yaml,yml}] | ||
indent_size = 2 | ||
indent_style = space | ||
|
||
[{.gitconfig,.gitmodules}] | ||
indent_style = tab |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
# This needs to be in a separate workflow because it requires higher permissions than the calling workflow | ||
name: Report Pre-commit Check Status | ||
|
||
on: | ||
workflow_run: | ||
workflows: [Pre-commit hooks] | ||
types: | ||
- completed | ||
|
||
permissions: | ||
statuses: write | ||
|
||
jobs: | ||
report-success: | ||
name: Report pre-commit success | ||
if: github.event.workflow_run.conclusion == 'success' | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Report success | ||
uses: actions/github-script@v7 | ||
with: | ||
script: | | ||
const owner = '${{ github.repository_owner }}'; | ||
const repo = '${{ github.repository }}'.split('/')[1]; | ||
const sha = '${{ github.event.workflow_run.head_sha }}'; | ||
core.debug(`owner: ${owner}`); | ||
core.debug(`repo: ${repo}`); | ||
core.debug(`sha: ${sha}`); | ||
const { context: name, state } = (await github.rest.repos.createCommitStatus({ | ||
context: 'Pre-commit checks', | ||
description: 'Pre-commit checks successful', | ||
owner: owner, | ||
repo: repo, | ||
sha: sha, | ||
state: 'success', | ||
target_url: 'https://github.com/${{ github.repository }}/actions/runs/${{ github.event.workflow_run.id }}' | ||
})).data; | ||
core.info(`${name} is ${state}`); | ||
report-pending: | ||
name: Report pre-commit pending | ||
if: github.event.workflow_run.conclusion != 'success' | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Report pending | ||
uses: actions/github-script@v7 | ||
with: | ||
script: | | ||
const owner = '${{ github.repository_owner }}'; | ||
const repo = '${{ github.repository }}'.split('/')[1]; | ||
const sha = '${{ github.event.workflow_run.head_sha }}'; | ||
core.debug(`owner: ${owner}`); | ||
core.debug(`repo: ${repo}`); | ||
core.debug(`sha: ${sha}`); | ||
const { context: name, state } = (await github.rest.repos.createCommitStatus({ | ||
context: 'Pre-commit checks', | ||
description: 'The pre-commit checks need to be successful before merging', | ||
owner: owner, | ||
repo: repo, | ||
sha: sha, | ||
state: 'pending', | ||
target_url: 'https://github.com/${{ github.repository }}/actions/runs/${{ github.event.workflow_run.id }}' | ||
})).data; | ||
core.info(`${name} is ${state}`); |
Oops, something went wrong.