clang-format: introduce top-level config file #816
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fvwm has had a long history, with contributions from many people over the years. As a result the code formatting which has crept in is varied -- both in terms of whitespace, indentation, etc., with there being mass inconsistencies all over the code base.
Even as far back as 2006 (see commit: 1c9e17f), there was an attempt at reformatting some of FvwmButton's code, but not all of it.
Thankfully, technology exists to bring consistency to this automatically. clang-format (from llvm) is one example, but it seems to do the job well enough.
This definition cribs from FreeBSD's style, which isn't too far off the codebase as it stands at the moment.
To see what this looks like, checkout the
ta/reformatted-via-clangf
branch.This was generated by limiting the code changes to fvwm's files, by running:
Things to think about:
git-commit
hook as well.git blame
, etc. See: https://tekin.co.uk/2020/09/ignore-linting-and-formatting-commits-when-running-git-blame