Add editor tooling configuration
clangd fallback flags, clang-format style, clang-tidy checks, and gitignore for the autotools-generated artifacts. Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <[email protected]>
This commit is contained in:
@@ -0,0 +1,15 @@
|
|||||||
|
# .clang-format — nulsl-libc style.
|
||||||
|
#
|
||||||
|
# Rule of thumb: 4-space indent, 100 columns, allman braces off, keep it
|
||||||
|
# boring. Run `clang-format -i` on your diff before opening a PR.
|
||||||
|
|
||||||
|
BasedOnStyle: LLVM
|
||||||
|
IndentWidth: 4
|
||||||
|
ColumnLimit: 100
|
||||||
|
PointerAlignment: Left
|
||||||
|
DerivePointerAlignment: false
|
||||||
|
SortIncludes: true
|
||||||
|
BreakBeforeBraces: Attach
|
||||||
|
AllowShortFunctionsOnASingleLine: Empty
|
||||||
|
AllowShortIfStatementsOnASingleLine: Never
|
||||||
|
AllowShortLoopsOnASingleLine: false
|
||||||
+19
@@ -0,0 +1,19 @@
|
|||||||
|
# .clang-tidy — nulsl-libc lint configuration.
|
||||||
|
#
|
||||||
|
# The linter's job is to yell about bugs, not style (style belongs to
|
||||||
|
# clang-format). Keep the check list tight and useful.
|
||||||
|
|
||||||
|
# A libc owns the reserved namespace by definition (_exit, environ, ...);
|
||||||
|
# bugprone-reserved-identifier only makes sense for application code.
|
||||||
|
Checks: >
|
||||||
|
clang-analyzer-*,
|
||||||
|
bugprone-*,
|
||||||
|
performance-*,
|
||||||
|
portability-*,
|
||||||
|
-bugprone-easily-swappable-parameters,
|
||||||
|
-bugprone-implicit-widening-of-multiplication-result,
|
||||||
|
-bugprone-reserved-identifier
|
||||||
|
|
||||||
|
WarningsAsErrors: ''
|
||||||
|
HeaderFilterRegex: 'include/.*'
|
||||||
|
FormatStyle: file
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
# .clangd — LSP configuration for nulsl-libc.
|
||||||
|
#
|
||||||
|
# Fallback flags used when compile_commands.json is absent. After running
|
||||||
|
# `make compile_commands` (requires bear), clangd uses the exact build
|
||||||
|
# flags from bin/release/ instead, and these are merged on top.
|
||||||
|
CompileFlags:
|
||||||
|
Compiler: clang
|
||||||
|
Add:
|
||||||
|
- -std=c17
|
||||||
|
- -Iinclude
|
||||||
|
- -ffreestanding
|
||||||
|
- -fno-builtin
|
||||||
|
- -Wall
|
||||||
|
- -Wextra
|
||||||
|
|
||||||
|
# Treat all headers as project headers so warnings apply inside them.
|
||||||
|
Diagnostics:
|
||||||
|
Suppress:
|
||||||
|
- unknown-pragmas
|
||||||
+37
-23
@@ -1,49 +1,50 @@
|
|||||||
# ---> C
|
# Generated by autotools
|
||||||
# Prerequisites
|
aclocal.m4
|
||||||
*.d
|
autom4te.cache/
|
||||||
|
build-aux/
|
||||||
|
config.guess
|
||||||
|
config.h.in
|
||||||
|
config.log
|
||||||
|
config.status
|
||||||
|
config.sub
|
||||||
|
configure
|
||||||
|
configure.lineno
|
||||||
|
depcomp
|
||||||
|
install-sh
|
||||||
|
ltmain.sh
|
||||||
|
missing
|
||||||
|
Makefile.in
|
||||||
|
|
||||||
# Object files
|
# Build artifacts
|
||||||
*.o
|
*.o
|
||||||
|
*.a
|
||||||
|
*.lo
|
||||||
|
*.la
|
||||||
|
.deps/
|
||||||
|
.libs/
|
||||||
|
|
||||||
|
# Generic C artifacts (for experiments outside the autotools flow)
|
||||||
*.ko
|
*.ko
|
||||||
*.obj
|
*.obj
|
||||||
*.elf
|
*.elf
|
||||||
|
|
||||||
# Linker output
|
|
||||||
*.ilk
|
*.ilk
|
||||||
*.map
|
*.map
|
||||||
*.exp
|
*.exp
|
||||||
|
|
||||||
# Precompiled Headers
|
|
||||||
*.gch
|
*.gch
|
||||||
*.pch
|
*.pch
|
||||||
|
|
||||||
# Libraries
|
|
||||||
*.lib
|
*.lib
|
||||||
*.a
|
|
||||||
*.la
|
|
||||||
*.lo
|
|
||||||
|
|
||||||
# Shared objects (inc. Windows DLLs)
|
|
||||||
*.dll
|
*.dll
|
||||||
*.so
|
*.so
|
||||||
*.so.*
|
*.so.*
|
||||||
*.dylib
|
*.dylib
|
||||||
|
|
||||||
# Executables
|
|
||||||
*.exe
|
*.exe
|
||||||
*.out
|
*.out
|
||||||
*.app
|
*.app
|
||||||
*.i*86
|
|
||||||
*.x86_64
|
|
||||||
*.hex
|
*.hex
|
||||||
|
|
||||||
# Debug files
|
|
||||||
*.dSYM/
|
*.dSYM/
|
||||||
*.su
|
*.su
|
||||||
*.idb
|
*.idb
|
||||||
*.pdb
|
*.pdb
|
||||||
|
|
||||||
# Kernel Module Compile Results
|
|
||||||
*.mod*
|
*.mod*
|
||||||
*.cmd
|
*.cmd
|
||||||
.tmp_versions/
|
.tmp_versions/
|
||||||
@@ -52,3 +53,16 @@ Module.symvers
|
|||||||
Mkfile.old
|
Mkfile.old
|
||||||
dkms.conf
|
dkms.conf
|
||||||
|
|
||||||
|
# Out-of-tree build dirs (the driver Makefile owns these)
|
||||||
|
bin/release/*
|
||||||
|
!bin/release/.gitkeep
|
||||||
|
bin/debug/*
|
||||||
|
!bin/debug/.gitkeep
|
||||||
|
|
||||||
|
# LSP (generated by `make compile_commands`)
|
||||||
|
compile_commands.json
|
||||||
|
|
||||||
|
# Editor/agent caches
|
||||||
|
.cache/
|
||||||
|
.omo/
|
||||||
|
*~
|
||||||
|
|||||||
Reference in New Issue
Block a user