forked from NotAShelf/rogged
chore: setup clang-format for formatting
Signed-off-by: NotAShelf <raf@notashelf.dev> Change-Id: I322b7dd5dcd699247b58fe9f5db7bcd86a6a6964
This commit is contained in:
parent
786fce3814
commit
8f6650919d
3 changed files with 123 additions and 3 deletions
100
.clang-format
Normal file
100
.clang-format
Normal file
|
|
@ -0,0 +1,100 @@
|
||||||
|
# Based on LLVM style with project-specific adjustments
|
||||||
|
---
|
||||||
|
Language: C
|
||||||
|
|
||||||
|
# Indentation
|
||||||
|
IndentWidth: 2
|
||||||
|
TabWidth: 2
|
||||||
|
UseTab: Never
|
||||||
|
IndentCaseLabels: false
|
||||||
|
IndentPPDirectives: None
|
||||||
|
|
||||||
|
# Line length
|
||||||
|
ColumnLimit: 120
|
||||||
|
|
||||||
|
# Braces
|
||||||
|
BreakBeforeBraces: Attach
|
||||||
|
BraceWrapping:
|
||||||
|
AfterFunction: false
|
||||||
|
AfterControlStatement: false
|
||||||
|
AfterEnum: false
|
||||||
|
AfterStruct: false
|
||||||
|
AfterUnion: false
|
||||||
|
BeforeElse: false
|
||||||
|
IndentBraces: false
|
||||||
|
|
||||||
|
# Alignment
|
||||||
|
AlignConsecutiveAssignments: false
|
||||||
|
AlignConsecutiveDeclarations: false
|
||||||
|
AlignEscapedNewlines: Right
|
||||||
|
AlignOperands: true
|
||||||
|
AlignTrailingComments: true
|
||||||
|
PointerAlignment: Right
|
||||||
|
|
||||||
|
# Spacing
|
||||||
|
SpaceAfterCStyleCast: false
|
||||||
|
SpaceBeforeAssignmentOperators: true
|
||||||
|
SpaceBeforeParens: ControlStatements
|
||||||
|
SpaceInEmptyParentheses: false
|
||||||
|
SpacesInCStyleCastParentheses: false
|
||||||
|
SpacesInParentheses: false
|
||||||
|
SpacesInSquareBrackets: false
|
||||||
|
|
||||||
|
# Line breaks
|
||||||
|
AllowShortBlocksOnASingleLine: false
|
||||||
|
AllowShortCaseLabelsOnASingleLine: false
|
||||||
|
AllowShortFunctionsOnASingleLine: Empty
|
||||||
|
AllowShortIfStatementsOnASingleLine: false
|
||||||
|
AllowShortLoopsOnASingleLine: false
|
||||||
|
AlwaysBreakAfterReturnType: None
|
||||||
|
AlwaysBreakBeforeMultilineStrings: false
|
||||||
|
BinPackArguments: true
|
||||||
|
BinPackParameters: true
|
||||||
|
BreakBeforeBinaryOperators: None
|
||||||
|
BreakBeforeTernaryOperators: true
|
||||||
|
BreakStringLiterals: true
|
||||||
|
ContinuationIndentWidth: 4
|
||||||
|
|
||||||
|
# Includes
|
||||||
|
IncludeBlocks: Preserve
|
||||||
|
SortIncludes: false
|
||||||
|
|
||||||
|
# Comments
|
||||||
|
ReflowComments: true
|
||||||
|
SpacesBeforeTrailingComments: 2
|
||||||
|
|
||||||
|
# Other
|
||||||
|
DerivePointerAlignment: false
|
||||||
|
DisableFormat: false
|
||||||
|
ExperimentalAutoDetectBinPacking: false
|
||||||
|
FixNamespaceComments: false
|
||||||
|
KeepEmptyLinesAtTheStartOfBlocks: false
|
||||||
|
MacroBlockBegin: ''
|
||||||
|
MacroBlockEnd: ''
|
||||||
|
MaxEmptyLinesToKeep: 2
|
||||||
|
NamespaceIndentation: None
|
||||||
|
ObjCBlockIndentWidth: 2
|
||||||
|
ObjCSpaceAfterProperty: false
|
||||||
|
ObjCSpaceBeforeProtocolList: true
|
||||||
|
PenaltyBreakBeforeFirstCallParameter: 19
|
||||||
|
PenaltyBreakComment: 300
|
||||||
|
PenaltyBreakFirstLessLess: 120
|
||||||
|
PenaltyBreakString: 1000
|
||||||
|
PenaltyExcessCharacter: 1000000
|
||||||
|
PenaltyReturnTypeOnItsOwnLine: 60
|
||||||
|
SpaceAfterTemplateKeyword: true
|
||||||
|
SpaceBeforeInheritanceColon: true
|
||||||
|
SpaceBeforeCtorInitializerColon: true
|
||||||
|
SpaceBeforeRangeBasedForLoopColon: true
|
||||||
|
SpaceBeforeSquareBrackets: false
|
||||||
|
SpacesInAngles: false
|
||||||
|
StatementMacros:
|
||||||
|
- Q_UNUSED
|
||||||
|
- QT_REQUIRE_VERSION
|
||||||
|
TypenameMacros:
|
||||||
|
- STACK_OF
|
||||||
|
- LIST
|
||||||
|
- DECLARE_STACK_OF
|
||||||
|
- DECLARE_LIST
|
||||||
|
- IMPLEMENT_STACK_OF
|
||||||
|
- IMPLEMENT_LIST
|
||||||
16
Makefile
16
Makefile
|
|
@ -12,7 +12,7 @@ OBJDIR := obj
|
||||||
SOURCES := $(wildcard $(SRCDIR)/*.c)
|
SOURCES := $(wildcard $(SRCDIR)/*.c)
|
||||||
OBJECTS := $(patsubst $(SRCDIR)/%.c,$(OBJDIR)/%.o,$(SOURCES))
|
OBJECTS := $(patsubst $(SRCDIR)/%.c,$(OBJDIR)/%.o,$(SOURCES))
|
||||||
|
|
||||||
.PHONY: all clean
|
.PHONY: all clean format format-check
|
||||||
|
|
||||||
all: $(TARGET)
|
all: $(TARGET)
|
||||||
|
|
||||||
|
|
@ -29,3 +29,17 @@ clean:
|
||||||
# Alias for development
|
# Alias for development
|
||||||
dev: all
|
dev: all
|
||||||
./$(TARGET)
|
./$(TARGET)
|
||||||
|
|
||||||
|
# Format all source files with clang-format
|
||||||
|
fmt:
|
||||||
|
@command -v clang-format >/dev/null 2>&1 || { echo "Error: clang-format is missing"; exit 1; }
|
||||||
|
@echo "Formatting source files..."
|
||||||
|
@clang-format -i $(SOURCES) $(wildcard $(SRCDIR)/*.h)
|
||||||
|
@echo "Done formatting."
|
||||||
|
|
||||||
|
# Check formatting without modifying files
|
||||||
|
fmt-check:
|
||||||
|
@command -v clang-format >/dev/null 2>&1 || { echo "Error: clang-format is missing"; exit 1; }
|
||||||
|
@echo "Checking formatting..."
|
||||||
|
@clang-format --dry-run --Werror \
|
||||||
|
$(SOURCES) $(wildcard $(SRCDIR)/*.h) && echo "All files properly formatted." || { echo "Formatting issues found. Run 'make fmt' to fix."; exit 1; }
|
||||||
|
|
|
||||||
|
|
@ -7,10 +7,16 @@
|
||||||
}:
|
}:
|
||||||
mkShell {
|
mkShell {
|
||||||
strictDeps = true;
|
strictDeps = true;
|
||||||
buildInputs = [
|
packages = [
|
||||||
clang-tools
|
clang-tools
|
||||||
raylib
|
|
||||||
gnumake
|
gnumake
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
raylib
|
||||||
|
];
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
pkg-config
|
pkg-config
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue