libgrapheme

unicode string library
git clone git://git.suckless.org/libgrapheme
Log | Files | Refs | README | LICENSE

commit 50efb9a3396588e6e1266f51ec5446a9fa8013ea
parent 3a735213d6da553d9235c5cad2732048242ada97
Author: Laslo Hunhold <dev@frign.de>
Date:   Tue, 15 Nov 2022 15:35:01 +0100

Add .clang-format file and make-rule

This is inspired by OpenBSD KNF and the common suckless style approach
(with possible deviations). Tabs are used for indentation, spaces for
alignment.

Signed-off-by: Laslo Hunhold <dev@frign.de>

Diffstat:
A.clang-format | 138+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
MMakefile | 5++++-
2 files changed, 142 insertions(+), 1 deletion(-)

diff --git a/.clang-format b/.clang-format @@ -0,0 +1,138 @@ +AccessModifierOffset: 0 +AlignAfterOpenBracket: Align +AlignArrayOfStructures: None +AlignConsecutiveAssignments: + Enabled: false +AlignConsecutiveBitFields: + Enabled: true + AcrossEmptyLines: false + AcrossComments: false +AlignConsecutiveDeclarations: + Enabled: false +AlignConsecutiveMacros: + Enabled: true + AcrossEmptyLines: false + AcrossComments: false +AlignEscapedNewlines: Right +AlignOperands: Align +AlignTrailingComments: true +# Kind: Always +# OverEmptyLines: 1 +AllowAllArgumentsOnNextLine: true +AllowAllParametersOfDeclarationOnNextLine: true +AllowShortBlocksOnASingleLine: Never +AllowShortCaseLabelsOnASingleLine: false +AllowShortEnumsOnASingleLine: false +AllowShortFunctionsOnASingleLine: None +AllowShortIfStatementsOnASingleLine: Never +AllowShortLambdasOnASingleLine: None +AllowShortLoopsOnASingleLine: false +AlwaysBreakAfterReturnType: TopLevelDefinitions +AlwaysBreakBeforeMultilineStrings: false +AlwaysBreakTemplateDeclarations: Yes +AttributeMacros: [] +BinPackArguments: true +BinPackParameters: true +BitFieldColonSpacing: Both +BreakAfterJavaFieldAnnotations: false +#BreakArrays: false +BreakBeforeBinaryOperators: None +BreakBeforeBraces: WebKit +BreakBeforeConceptDeclarations: Always +#BreakBeforeInlineASMColon: Always +BreakBeforeTernaryOperators: false +BreakConstructorInitializers: AfterColon +BreakInheritanceList: AfterComma +BreakStringLiterals: true +ColumnLimit: 80 +CommentPragmas: "" +CompactNamespaces: false +ConstructorInitializerIndentWidth: 8 +ContinuationIndentWidth: 8 +Cpp11BracedListStyle: false +DeriveLineEnding: false +DerivePointerAlignment: false +DisableFormat: false +EmptyLineAfterAccessModifier: Never +EmptyLineBeforeAccessModifier: Never +FixNamespaceComments: true +ForEachMacros: [] +IfMacros: [] +IncludeBlocks: Preserve +IncludeIsMainRegex: "" +IncludeIsMainSourceRegex: "" +IndentAccessModifiers: false +IndentCaseBlocks: false +IndentCaseLabels: false +IndentExternBlock: NoIndent +IndentGotoLabels: false +IndentPPDirectives: BeforeHash +IndentRequiresClause: false +IndentWidth: 8 +IndentWrappedFunctionNames: false +InsertBraces: true +InsertTrailingCommas: None +JavaImportGroups: [] +JavaScriptQuotes: Double +JavaScriptWrapImports: true +KeepEmptyLinesAtTheStartOfBlocks: false +LambdaBodyIndentation: Signature +Language: Cpp +MacroBlockBegin: "" +MacroBlockEnd: "" +MaxEmptyLinesToKeep: 1 +NamespaceIndentation: All +NamespaceMacros: [] +ObjCBinPackProtocolList: Never +ObjCBlockIndentWidth: 8 +ObjCBreakBeforeNestedBlockParam: true +ObjCSpaceAfterProperty: true +ObjCSpaceBeforeProtocolList: true +PPIndentWidth: 0 +PackConstructorInitializers: Never +PointerAlignment: Right +QualifierAlignment: Left +RawStringFormats: [] +ReferenceAlignment: Pointer +ReflowComments: true +RemoveBracesLLVM: false +#RemoveSemicolon: false +RequiresClausePosition: OwnLine +#RequiresExpressionIndentation: Keyword +SeparateDefinitionBlocks: Always +ShortNamespaceLines: 0 +SortIncludes: CaseSensitive +SortJavaStaticImport: Before +SortUsingDeclarations: true +SpaceAfterCStyleCast: false +SpaceAfterLogicalNot: false +SpaceAfterTemplateKeyword: false +SpaceAroundPointerQualifiers: Before +SpaceBeforeAssignmentOperators: true +SpaceBeforeCaseColon: false +SpaceBeforeCpp11BracedList: true +SpaceBeforeCtorInitializerColon: true +SpaceBeforeInheritanceColon: true +SpaceBeforeParens: ControlStatements +SpaceBeforeRangeBasedForLoopColon: true +SpaceBeforeSquareBrackets: false +SpaceInEmptyBlock: false +SpaceInEmptyParentheses: false +SpacesBeforeTrailingComments: 4 +SpacesInAngles: Never +SpacesInCStyleCastParentheses: false +SpacesInConditionalStatement: false +SpacesInContainerLiterals: true +SpacesInLineCommentPrefix: + Minimum: 1 + Maximum: 1 +SpacesInParentheses: false +SpacesInSquareBrackets: false +Standard: Auto +StatementAttributeLikeMacros: [] +StatementMacros: [] +TabWidth: 8 +TypenameMacros: [] +UseCRLF: false +UseTab: AlignWithSpaces +#WhitespaceSensitiveMacros: [] diff --git a/Makefile b/Makefile @@ -360,4 +360,7 @@ dist: tar -cf - "libgrapheme-$(VERSION)" | gzip -c > "libgrapheme-$(VERSION).tar.gz" rm -rf "libgrapheme-$(VERSION)" -.PHONY: all benchmark test install uninstall clean clean-data dist +format: + clang-format -i grapheme.h $(BENCHMARK:=.c) benchmark/util.c benchmark/util.h $(GEN:=.c) gen/util.c gen/types.h gen/util.h $(SRC:=.c) src/util.h $(TEST:=.c) test/util.c test/util.h + +.PHONY: all benchmark test install uninstall clean clean-data dist format