Browse Source

Update clang-format to reorder headers correctly

Stefan Profanter 5 years ago
parent
commit
f8867620fe
1 changed files with 43 additions and 0 deletions
  1. 43 0
      .clang-format

+ 43 - 0
.clang-format

@@ -15,3 +15,46 @@ BinPackParameters: true
 AllowAllParametersOfDeclarationOnNextLine: true
 AlignAfterOpenBracket: Align
 AlwaysBreakAfterReturnType: All
+
+
+IndentCaseLabels: true
+
+# Order of includes
+
+IncludeBlocks: Regroup
+# Includes are sorted with increasing priority number and then alphabetically
+# The first regex which matches is the resulting priority
+# We want something like this:
+
+#include <open62541/client_subscriptions.h>
+#include <open62541/client_highlevel.h>
+#include <open62541/client_config_default.h>
+#include <open62541/plugin/log_stdout.h>
+
+#include "server/ua_server_internal.h"
+#include "ua_network_tcp.h"
+#include "ua_securechannel.h"
+#include "ua_types_encoding_binary.h"
+
+#include <check.h>
+#include <stdlib.h>
+
+#include "testing_clock.h"
+#include "thread_wrapper.h"
+
+IncludeCategories:
+    # Public open62541 includes starting with <open62541/
+  - Regex:           '^((<|")(open62541)\/)'
+    Priority:        3
+
+    # Internal open62541 includes starting with "ua_" or "open62541_"
+  - Regex:           '^((<|")(([[:alnum:]]+\/)?ua_|open62541_))'
+    Priority:        4
+
+    # All other system header
+  - Regex:           '<[[:alnum:].]+>'
+    Priority:        5
+
+    # The rest
+  - Regex:           '.*'
+    Priority:        6