We aim for a consistent and readable coding style. You do not need to worry about styling if you use the right tools we present in the following. Please also enable pre-commit in your repository to have these check run automatically for you on every commit!
Use clang-format. It can be added to be automatically run on save in your editor / IDE:
The current style is defined in .clang-format.
You can also run via the command line:
clang-format -i path/to/file.cpp
# OR clang-format on changed lines only:
git clang-format -i path/to/file.cpp
# OR run on all files, e.g.:
find -E . -regex '.*\.(cpp|h)' -exec clang-format -i {} \;Use black. It can be added to be automatically run on save in your editor / IDE:
black is also run by our pre-commit-hooks. To run manually:
pre-commit run black --all-filesUse cmake-format. It can be added to be automatically run on save in your editor / IDE:
The current style is defined in .cmake-format.yaml.
On installation make sure to install with the YAML option:
pip install cmakelang[YAML]You can run clang-format and cmake-format on the full OGS code base by building the following targets:
| Language | Shows formatting | Applies formatting |
|---|---|---|
| C++ | clang-format |
fix-clang-format |
| CMake | cmake-format |
fix-cmake-format |
This article was written by Lars Bilke. If you are missing something or you find an error please let us know.
Generated with Hugo 0.147.9
in CI job 638941
|
Last revision: September 23, 2025
Commit: [py] Open python files as Jupytext notebook. 2d32444
| Edit this page on