1
0
Fork 0
mirror of https://github.com/NixOS/nix synced 2025-06-24 13:51:16 +02:00
This commit is contained in:
Farid Zakaria 2025-06-23 23:26:22 +08:00 committed by GitHub
commit 1c9b5ee989
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 28 additions and 2 deletions

View file

@ -1,3 +1,5 @@
# We use pointers to aggregates in a couple of places, intentionally.
# void * would look weird.
Checks: '-bugprone-sizeof-expression'
Checks: '
-bugprone-sizeof-expression
'

View file

@ -291,6 +291,16 @@ To refresh pre-commit hook's config file, do the following:
1. Exit the development shell and start it again by running `nix develop`.
2. If you also use the pre-commit hook, also run `pre-commit-hooks-install` again.
#### Hooks
##### clang-tidy
Portions of the codebase are checked with [clang-tidy](https://clang.llvm.org/extra/clang-tidy/).
> clang-tidy is a clang-based C++ “linter” tool.
The current build system, Meson, by default outputs a `compile_commands.json` file which is used by all Clang tooling (clang-tidy, clangd etc..).
### VSCode
Insert the following json into your `.vscode/settings.json` file to configure `nixfmt`.

View file

@ -177,6 +177,20 @@
''^tests/functional/lang/eval-fail-set\.nix$''
];
};
clang-tidy = {
enable = true;
# TODO: this requires meson to have been configured
# we could optionally wrap this in a script that runs meson first
# but for now let us keep it simple
#
# clang-tidy doesn't work well running it on multiple files
# TODO: change this to use run-clang-tidy.py
entry = "${pkgs.writeShellScript "clang-tidy-wrapper" ''
for file in "$@"; do
"${pkgs.clang-tools}/bin/clang-tidy" --fix -p ./build "$file"
done
''}";
};
clang-format = {
enable = true;
# https://github.com/cachix/git-hooks.nix/pull/532

View file

@ -11,7 +11,7 @@ struct AbstractNixRepl
Bindings * autoArgs;
AbstractNixRepl(ref<EvalState> state)
: state(state)
: state(state), autoArgs(nullptr)
{ }
virtual ~AbstractNixRepl()