<div dir="ltr"><div>Thank you Denis for all this work and the heads up for setting things up!</div><div><br></div><div>I have a few notes/questions about things I've encountered so far:</div><div><br></div><div>1. There are cases where the formatting is not applied. For example in PR <a href="https://github.com/qgis/QGIS/pull/59382">https://github.com/qgis/QGIS/pull/59382</a>, after merging master and pushing, clang-format fails in the CI</div><div><br></div><div>2. Is there a way one can manually run pre-commit for all modified files and not just files staged for commit?</div><div><br></div><div>3. clang-format seems to try to squeeze parameters in a single line, even if one has explicitly used new lines for readability.</div><div>For example, it will do this:</div><div><br></div><div>```cpp<br></div><div>-  else if ( isOnMesh && ( mWidgetActionDigitizing->zValueSourceType() == QgsMeshEditDigitizingAction::InMeshUseMeshZWidgetOtherwise ||<br>-                          mWidgetActionDigitizing->zValueSourceType() == QgsMeshEditDigitizingAction::InMeshUseMeshTerrainOtherwise ) )<br>+  else if ( isOnMesh && ( mWidgetActionDigitizing->zValueSourceType() == QgsMeshEditDigitizingAction::InMeshUseMeshZWidgetOtherwise || mWidgetActionDigitizing->zValueSourceType() == QgsMeshEditDigitizingAction::InMeshUseMeshTerrainOtherwise ) )</div><div>```</div><div>This is a big hit on readability when there are  parentheses in the parameters.</div><div><br></div><div>4. It seems like with astyle we had something equivalent to SpacesInAngles=Leave, so both static_cast<int> and static_cast< int > was valid. Now the spaces are gone and while it's fine for small types, it is harder to read for bigger types in longer statements.</div><div><br></div><div>5. Similar for <span class="gmail-blob-code-inner gmail-blob-code-marker"><span class="gmail-pl-ent">SpacesInSquareBrackets</span></span> and SpacesInContainerLiterals</div><div><br></div><div>Best</div><div>Stefanos<br></div></div>