summaryrefslogtreecommitdiffstats
path: root/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli
diff options
context:
space:
mode:
Diffstat (limited to 'debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli')
-rw-r--r--debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/config/I-842.cfg0
-rw-r--r--debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/config/copyright-header.cfg1
-rw-r--r--debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/config/copyright-header.txt2
-rw-r--r--debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/config/mini_d.cfg7
-rw-r--r--debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/config/mini_nd.cfg5
-rw-r--r--debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/config/replace.cfg4
-rw-r--r--debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/config/tracking_space.cfg4
-rw-r--r--debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/config/truncate.cfg1
-rw-r--r--debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/config/unmatched_close_pp.cfg0
-rw-r--r--debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/input/I-3310.c0
-rw-r--r--debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/input/I-842.cpp9
-rw-r--r--debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/input/backup.h-save4
-rw-r--r--debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/input/class_enum_struct_union.cpp134
-rw-r--r--debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/input/logger.cs4
-rw-r--r--debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/input/replace.list2
-rw-r--r--debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/input/testSrc.cpp16
-rw-r--r--debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/input/testSrcP.cpp19
-rw-r--r--debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/input/tracking_space.cpp11
-rw-r--r--debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/input/truncate.cpp4
-rw-r--r--debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/input/unmatched_close_pp.cpp12
-rw-r--r--debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/21.txt1887
-rw-r--r--debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/25.txt237
-rw-r--r--debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/28.txt428
-rw-r--r--debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/31.txt600
-rw-r--r--debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/36.txt19
-rw-r--r--debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/66.txt741
-rw-r--r--debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/9.txt1
-rw-r--r--debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/92.txt196
-rw-r--r--debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/Debug_tracking_space.html23
-rw-r--r--debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/I-842.txt0
-rw-r--r--debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/backup.h4
-rw-r--r--debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/class_enum_struct_union.csv685
-rw-r--r--debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/class_enum_struct_union.txt692
-rw-r--r--debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/copyright-header.cpp18
-rw-r--r--debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/help.txt83
-rw-r--r--debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/logger_cs_L_99.txt8
-rw-r--r--debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/p.txt79
-rw-r--r--debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/pc-.txt10
-rw-r--r--debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/replace.txt2
-rw-r--r--debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/tracking_space.html23
-rw-r--r--debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/truncate.txt16
-rw-r--r--debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/universalindent.cfg7018
-rw-r--r--debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/unmatched_close_pp.txt0
-rw-r--r--debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/v-out.txt1
-rw-r--r--debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/xyz-err.txt2
-rwxr-xr-xdebian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/test_cli_options.py853
46 files changed, 13865 insertions, 0 deletions
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/config/I-842.cfg b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/config/I-842.cfg
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/config/I-842.cfg
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/config/copyright-header.cfg b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/config/copyright-header.cfg
new file mode 100644
index 00000000..13d5020b
--- /dev/null
+++ b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/config/copyright-header.cfg
@@ -0,0 +1 @@
+cmt_insert_file_header = copyright-header.txt
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/config/copyright-header.txt b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/config/copyright-header.txt
new file mode 100644
index 00000000..f96c1ae8
--- /dev/null
+++ b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/config/copyright-header.txt
@@ -0,0 +1,2 @@
+// Copyright $(year)
+
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/config/mini_d.cfg b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/config/mini_d.cfg
new file mode 100644
index 00000000..ddd51138
--- /dev/null
+++ b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/config/mini_d.cfg
@@ -0,0 +1,7 @@
+# should create a warning and not appear in the actual config
+not_existing_option = 1
+
+# option with default setting, depending on uncrustify call can
+# be omitted, if not it should stay the same
+# non default counter = 0
+input_tab_size = 8 \ No newline at end of file
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/config/mini_nd.cfg b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/config/mini_nd.cfg
new file mode 100644
index 00000000..23db4460
--- /dev/null
+++ b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/config/mini_nd.cfg
@@ -0,0 +1,5 @@
+include "mini_d.cfg"
+
+# option with non default setting, should stay the same
+# non default counter = 1
+newlines = crlf
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/config/replace.cfg b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/config/replace.cfg
new file mode 100644
index 00000000..16473bf2
--- /dev/null
+++ b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/config/replace.cfg
@@ -0,0 +1,4 @@
+indent_columns = 3
+indent_with_tabs = 0
+sp_arith = force
+sp_assign = force
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/config/tracking_space.cfg b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/config/tracking_space.cfg
new file mode 100644
index 00000000..8b37aa38
--- /dev/null
+++ b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/config/tracking_space.cfg
@@ -0,0 +1,4 @@
+indent_with_tabs = 0
+indent_columns = 3
+sp_arith = force
+sp_assign = force
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/config/truncate.cfg b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/config/truncate.cfg
new file mode 100644
index 00000000..cc48c57e
--- /dev/null
+++ b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/config/truncate.cfg
@@ -0,0 +1 @@
+debug_truncate = 38
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/config/unmatched_close_pp.cfg b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/config/unmatched_close_pp.cfg
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/config/unmatched_close_pp.cfg
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/input/I-3310.c b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/input/I-3310.c
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/input/I-3310.c
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/input/I-842.cpp b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/input/I-842.cpp
new file mode 100644
index 00000000..7f7bcaf3
--- /dev/null
+++ b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/input/I-842.cpp
@@ -0,0 +1,9 @@
+namespace Namespace
+{
+ // class Class {
+ public void foo()
+ {
+
+ }
+ }
+}
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/input/backup.h-save b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/input/backup.h-save
new file mode 100644
index 00000000..9a66578c
--- /dev/null
+++ b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/input/backup.h-save
@@ -0,0 +1,4 @@
+int main()
+{
+ a=b+c;
+}
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/input/class_enum_struct_union.cpp b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/input/class_enum_struct_union.cpp
new file mode 100644
index 00000000..6a72c823
--- /dev/null
+++ b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/input/class_enum_struct_union.cpp
@@ -0,0 +1,134 @@
+ /**
+ * the enum (and variable declarations thereof) could be of
+ * the following forms:
+ *
+ * "enum type [: integral_type] { ... } [x, ...]"
+ * "enum type [: integral_type]"
+ * "enum class type [: integral_type] { ... } [x, ...]"
+ * "enum class type [: integral_type]"
+ * "enum [: integral_type] { ... } x, ..."
+ */
+
+ /**
+ * the class/struct (and variable declarations thereof) could be of
+ * the following forms:
+ *
+ * template<...> class/struct[<...>] [macros/attributes ...] type [: bases ...] { }
+ * template<...> class/struct[<...>] [macros/attributes ...] type
+ * class/struct[ [macros/attributes ...] type [: bases ...] { } [x, ...]
+ * class/struct [macros/attributes ...] type [x, ...]
+ * class/struct [macros/attributes ...] [: bases] { } x, ...
+ */
+
+#define ALIGNAS(byte_alignment) __attribute__((aligned(byte_alignment)))
+
+#if defined (__unix__) || (defined (__APPLE__) && defined (__MACH__))
+#define API_EXPORT __attribute__ ((visibility("default")))
+#elif defined _WIN32
+#define API_EXPORT __declspec(dllexport)
+#else
+#define API_EXPORT
+#endif
+
+namespace outer_namespace
+{
+
+namespace inner_namespace
+{
+
+class Base1 { };
+
+template<typename> class Base2 { };
+
+}
+
+}
+
+// template<...> class/struct[<...>] [macros/attributes ...] type : bases ... { }
+template<typename, typename ...>
+class API_EXPORT __attribute__((__deprecated__)) ALIGNAS(4) c1
+: public outer_namespace::inner_namespace::Base1,
+ public outer_namespace::inner_namespace::Base2<outer_namespace::inner_namespace::Base1>
+{
+
+};
+
+// template<...> class/struct[<...>] [macros/attributes ...] type { }
+template<typename, typename ...>
+class API_EXPORT c2
+{
+public:
+
+ template<typename T>
+ struct inner_class
+ {
+ static inner_class<T> *m_inner_class;
+ };
+};
+
+template<> template<> struct API_EXPORT c2<int>::inner_class<int> *c2<int>::inner_class<int>::m_inner_class = nullptr;
+
+// template<...> class/struct[<...>] [macros/attributes ...] type
+template<typename, typename ...>
+class API_EXPORT c2;
+
+// class/struct [macros/attributes ...] type : bases ... { } x, ...
+class API_EXPORT __attribute__((__deprecated__)) ALIGNAS(4) c3
+: public outer_namespace::inner_namespace::Base2<int>,
+ public c2<int>::inner_class<int>
+{
+public:
+ c3(int x = 0, int y = 0, int z = 0) : m_x(x), m_y(y), m_z(z) { }
+
+ int m_x;
+ int m_y;
+ int m_z;
+} c31, *c32 = nullptr, *c33[] = { nullptr, nullptr }, c34{ 0, 1, 2}, * const c35(nullptr), c16(0, 1, 2);
+
+// class/struct [macros/attributes ...] type x, ...
+class __attribute__((__deprecated__)) API_EXPORT ALIGNAS(4) c3 c41, *c42 = c32 ? c32 : nullptr, *c43[] = { nullptr, nullptr }, c44{ 0, 1, 2}, * const c45(nullptr), c46(0, 1, 2);
+
+// class/struct [macros/attributes ...] type : bases ... { } x, ...
+class ALIGNAS(4) API_EXPORT __attribute__((__deprecated__))
+: public outer_namespace::inner_namespace::Base1
+{
+public:
+ int m_x;
+ int m_y;
+ int m_z;
+} c51, *c52 = nullptr, *c53[] = { nullptr, nullptr };
+
+
+// enum type : integral_type { ... } x, ...
+enum e1 : long long { a1, b1, d1 } e11, e12, e13;
+
+// enum type : integral_type { ... }
+enum e2 : unsigned int { a2, b2, d2 };
+
+// enum type : integral_type
+enum e3 : short;
+
+// enum type x, ...
+enum e3 e31, e32;
+
+// enum class type : integral_type { ... } x, ...
+enum class e4 : long long { a4, b4, d4 } e41, e42, e43, e44;
+
+// enum class type : integral_type { ... }
+enum class e5 : unsigned int { a5, b5, d5 };
+
+// enum class type : integral_type
+enum class e6 : short;
+
+// enum class type
+enum class e7;
+
+// enum : integral_type { ... } x, ...
+enum : long long { a8, b8, c8 } e81, e82;
+
+// enum { ... } x, ...
+enum { a9, b9, c9 } e91, e92;
+
+union API_EXPORT u1 { int x; long y; } u11, *u12 = nullptr, *u13{0};
+
+union API_EXPORT u1 u21;
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/input/logger.cs b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/input/logger.cs
new file mode 100644
index 00000000..defede8a
--- /dev/null
+++ b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/input/logger.cs
@@ -0,0 +1,4 @@
+// Turning on sp_inside_braces=add fixes it, but also changes a lot of initializer code we don't want to touch (like x = {1}). May need special support, or perhaps there's a bug..
+// long comment line(s), such as here, might be too long to produce a correct LOG-file such as
+// with the use of option -L A
+// in such a case, the output of the log will be cut.
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/input/replace.list b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/input/replace.list
new file mode 100644
index 00000000..009e6f33
--- /dev/null
+++ b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/input/replace.list
@@ -0,0 +1,2 @@
+input/I-3310.c
+input/backup.h
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/input/testSrc.cpp b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/input/testSrc.cpp
new file mode 100644
index 00000000..1a22f6d9
--- /dev/null
+++ b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/input/testSrc.cpp
@@ -0,0 +1,16 @@
+struct TelegramIndex
+{
+TelegramIndex(const char* pN, unsigned long nI) :
+pTelName(pN),
+nTelIndex(n)
+{
+}
+
+~TelegramIndex()
+{
+}
+
+const char* const pTelName;
+unsigned long nTelIndex;
+};
+
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/input/testSrcP.cpp b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/input/testSrcP.cpp
new file mode 100644
index 00000000..85e36674
--- /dev/null
+++ b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/input/testSrcP.cpp
@@ -0,0 +1,19 @@
+#define x s23_foo += \
+s8_foo * s16_bar;
+
+struct TelegramIndex
+{
+TelegramIndex(const char* pN, unsigned long nI) :
+pTelName(pN),
+nTelIndex(n)
+{
+}
+
+~TelegramIndex()
+{
+}
+
+const char* const pTelName;
+unsigned long nTelIndex;
+};
+
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/input/tracking_space.cpp b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/input/tracking_space.cpp
new file mode 100644
index 00000000..5b0b8aa1
--- /dev/null
+++ b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/input/tracking_space.cpp
@@ -0,0 +1,11 @@
+{
+ a = b + 111-55;
+}
+template<typename...A, int...B>
+struct foo1:foo1<A..., (sizeof...(A)+B)...>
+{
+ foo1() {
+ int x = sizeof...(A);
+ bool b = x > 1;
+ }
+};
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/input/truncate.cpp b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/input/truncate.cpp
new file mode 100644
index 00000000..7ef9530d
--- /dev/null
+++ b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/input/truncate.cpp
@@ -0,0 +1,4 @@
+// 1 6789A123456789B123456789c123456789d123456789 123456789 123456789 123
+// 2 6789A123456789B123456789c123456789
+// 3 6789A123456789B123456789c12345678
+// 4 6789A123456789B123456789c1234567
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/input/unmatched_close_pp.cpp b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/input/unmatched_close_pp.cpp
new file mode 100644
index 00000000..b79d12fd
--- /dev/null
+++ b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/input/unmatched_close_pp.cpp
@@ -0,0 +1,12 @@
+#ifndef _Include_H
+#define _Include_H
+namespace Namespace
+{
+ // class Class {
+ public void foo()
+ {
+
+ }
+ }
+}
+#endif
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/21.txt b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/21.txt
new file mode 100644
index 00000000..7c702d87
--- /dev/null
+++ b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/21.txt
@@ -0,0 +1,1887 @@
+log_rule(indent_text : rule is 'indent_columns'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_inside_ternary_operator'
+log_rule(indent_text : rule is 'indent_access_spec_body'
+log_rule(indent_text : rule is 'indent_oc_inside_msg_sel'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+indent_text : pc->line is 1, pc->column is 1, pc->text() is 'struct, indent_column is 1
+log_rule(indent_text : rule is 'pos_conditional'
+indent_text : orig_line is 1, indent set to 1, for 'struct'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_inside_ternary_operator'
+log_rule(indent_text : rule is 'indent_access_spec_body'
+log_rule(indent_text : rule is 'indent_oc_inside_msg_sel'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_inside_ternary_operator'
+log_rule(indent_text : rule is 'indent_access_spec_body'
+log_rule(indent_text : rule is 'indent_oc_inside_msg_sel'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_inside_ternary_operator'
+log_rule(indent_text : rule is 'indent_access_spec_body'
+log_rule(indent_text : rule is 'indent_oc_inside_msg_sel'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_macro_brace'
+log_rule(indent_text : rule is 'indent_shift'
+indent_text : pc->line is 2, pc->column is 1, pc->text() is '{, indent_column is 1
+log_rule(indent_text : rule is 'pos_conditional'
+indent_text : orig_line is 2, indent set to 1, for '{'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+indent_text : pc->line is 3, pc->column is 1, pc->text() is 'TelegramIndex, indent_column is 9
+log_rule(indent_text : rule is 'pos_conditional'
+indent_text : orig_line is 3, indent set to 9, for 'TelegramIndex'
+log_rule(reindent_line : rule is 'indent_relative_single_line_comments'
+log_rule(reindent_line : rule is 'indent_relative_single_line_comments'
+log_rule(reindent_line : rule is 'indent_relative_single_line_comments'
+log_rule(reindent_line : rule is 'indent_relative_single_line_comments'
+log_rule(reindent_line : rule is 'indent_relative_single_line_comments'
+log_rule(reindent_line : rule is 'indent_relative_single_line_comments'
+log_rule(reindent_line : rule is 'indent_relative_single_line_comments'
+log_rule(reindent_line : rule is 'indent_relative_single_line_comments'
+log_rule(reindent_line : rule is 'indent_relative_single_line_comments'
+log_rule(reindent_line : rule is 'indent_relative_single_line_comments'
+log_rule(reindent_line : rule is 'indent_relative_single_line_comments'
+log_rule(reindent_line : rule is 'indent_relative_single_line_comments'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_inside_ternary_operator'
+log_rule(indent_text : rule is 'indent_align_paren'
+log_rule(indent_text : rule is 'indent_paren_nl'
+log_rule(indent_text : rule is 'indent_square_nl'
+log_rule(indent_text : rule is 'indent_paren_after_func_def'
+log_rule(indent_text : rule is 'indent_paren_after_func_decl'
+log_rule(indent_text : rule is 'indent_paren_after_func_call'
+log_rule(indent_text : rule is 'use_indent_continue_only_once'
+log_rule(indent_text : rule is 'indent_paren_after_func_decl'
+log_rule(indent_text : rule is 'indent_paren_after_func_def'
+log_rule(indent_text : rule is 'indent_paren_after_func_call'
+log_rule(indent_text : rule is 'indent_continue'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_inside_ternary_operator'
+log_rule(indent_text : rule is 'indent_access_spec_body'
+log_rule(indent_text : rule is 'indent_oc_inside_msg_sel'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_class_colon'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_inside_ternary_operator'
+log_rule(indent_text : rule is 'indent_access_spec_body'
+log_rule(indent_text : rule is 'indent_oc_inside_msg_sel'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_inside_ternary_operator'
+log_rule(indent_text : rule is 'indent_access_spec_body'
+log_rule(indent_text : rule is 'indent_oc_inside_msg_sel'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+indent_text : pc->line is 4, pc->column is 1, pc->text() is 'pTelName, indent_column is 17
+log_rule(indent_text : rule is 'pos_conditional'
+indent_text : orig_line is 4, indent set to 17, for 'pTelName'
+log_rule(reindent_line : rule is 'indent_relative_single_line_comments'
+log_rule(reindent_line : rule is 'indent_relative_single_line_comments'
+log_rule(reindent_line : rule is 'indent_relative_single_line_comments'
+log_rule(reindent_line : rule is 'indent_relative_single_line_comments'
+log_rule(reindent_line : rule is 'indent_relative_single_line_comments'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_inside_ternary_operator'
+log_rule(indent_text : rule is 'indent_access_spec_body'
+log_rule(indent_text : rule is 'indent_oc_inside_msg_sel'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_inside_ternary_operator'
+log_rule(indent_text : rule is 'indent_align_paren'
+log_rule(indent_text : rule is 'indent_paren_nl'
+log_rule(indent_text : rule is 'indent_square_nl'
+log_rule(indent_text : rule is 'indent_paren_after_func_def'
+log_rule(indent_text : rule is 'indent_paren_after_func_decl'
+log_rule(indent_text : rule is 'indent_paren_after_func_call'
+log_rule(indent_text : rule is 'use_indent_continue_only_once'
+log_rule(indent_text : rule is 'indent_paren_after_func_decl'
+log_rule(indent_text : rule is 'indent_paren_after_func_def'
+log_rule(indent_text : rule is 'indent_paren_after_func_call'
+log_rule(indent_text : rule is 'indent_continue'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_inside_ternary_operator'
+log_rule(indent_text : rule is 'indent_access_spec_body'
+log_rule(indent_text : rule is 'indent_oc_inside_msg_sel'
+log_rule(indent_text : rule is 'indent_inside_ternary_operator'
+log_rule(indent_text : rule is 'indent_access_spec_body'
+log_rule(indent_text : rule is 'indent_oc_inside_msg_sel'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_inside_ternary_operator'
+log_rule(indent_text : rule is 'indent_access_spec_body'
+log_rule(indent_text : rule is 'indent_oc_inside_msg_sel'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_inside_ternary_operator'
+log_rule(indent_text : rule is 'indent_access_spec_body'
+log_rule(indent_text : rule is 'indent_oc_inside_msg_sel'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_inside_ternary_operator'
+log_rule(indent_text : rule is 'indent_access_spec_body'
+log_rule(indent_text : rule is 'indent_oc_inside_msg_sel'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+indent_text : pc->line is 5, pc->column is 1, pc->text() is 'nTelIndex, indent_column is 17
+log_rule(indent_text : rule is 'pos_conditional'
+indent_text : orig_line is 5, indent set to 17, for 'nTelIndex'
+log_rule(reindent_line : rule is 'indent_relative_single_line_comments'
+log_rule(reindent_line : rule is 'indent_relative_single_line_comments'
+log_rule(reindent_line : rule is 'indent_relative_single_line_comments'
+log_rule(reindent_line : rule is 'indent_relative_single_line_comments'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_inside_ternary_operator'
+log_rule(indent_text : rule is 'indent_access_spec_body'
+log_rule(indent_text : rule is 'indent_oc_inside_msg_sel'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_inside_ternary_operator'
+log_rule(indent_text : rule is 'indent_align_paren'
+log_rule(indent_text : rule is 'indent_paren_nl'
+log_rule(indent_text : rule is 'indent_square_nl'
+log_rule(indent_text : rule is 'indent_paren_after_func_def'
+log_rule(indent_text : rule is 'indent_paren_after_func_decl'
+log_rule(indent_text : rule is 'indent_paren_after_func_call'
+log_rule(indent_text : rule is 'use_indent_continue_only_once'
+log_rule(indent_text : rule is 'indent_paren_after_func_decl'
+log_rule(indent_text : rule is 'indent_paren_after_func_def'
+log_rule(indent_text : rule is 'indent_paren_after_func_call'
+log_rule(indent_text : rule is 'indent_continue'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_inside_ternary_operator'
+log_rule(indent_text : rule is 'indent_access_spec_body'
+log_rule(indent_text : rule is 'indent_oc_inside_msg_sel'
+log_rule(indent_text : rule is 'indent_inside_ternary_operator'
+log_rule(indent_text : rule is 'indent_access_spec_body'
+log_rule(indent_text : rule is 'indent_oc_inside_msg_sel'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_inside_ternary_operator'
+log_rule(indent_text : rule is 'indent_access_spec_body'
+log_rule(indent_text : rule is 'indent_oc_inside_msg_sel'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_inside_ternary_operator'
+log_rule(indent_text : rule is 'indent_access_spec_body'
+log_rule(indent_text : rule is 'indent_oc_inside_msg_sel'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_macro_brace'
+log_rule(indent_text : rule is 'indent_shift'
+indent_text : pc->line is 6, pc->column is 1, pc->text() is '{, indent_column is 9
+log_rule(indent_text : rule is 'pos_conditional'
+indent_text : orig_line is 6, indent set to 9, for '{'
+log_rule(reindent_line : rule is 'indent_relative_single_line_comments'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_inside_ternary_operator'
+log_rule(indent_text : rule is 'indent_access_spec_body'
+log_rule(indent_text : rule is 'indent_oc_inside_msg_sel'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+indent_text : pc->line is 7, pc->column is 1, pc->text() is '}, indent_column is 9
+log_rule(indent_text : rule is 'pos_conditional'
+indent_text : orig_line is 7, indent set to 9, for '}'
+log_rule(reindent_line : rule is 'indent_relative_single_line_comments'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+indent_text : pc->line is 9, pc->column is 1, pc->text() is '~, indent_column is 9
+log_rule(indent_text : rule is 'pos_conditional'
+indent_text : orig_line is 9, indent set to 9, for '~'
+log_rule(reindent_line : rule is 'indent_relative_single_line_comments'
+log_rule(reindent_line : rule is 'indent_relative_single_line_comments'
+log_rule(reindent_line : rule is 'indent_relative_single_line_comments'
+log_rule(reindent_line : rule is 'indent_relative_single_line_comments'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_inside_ternary_operator'
+log_rule(indent_text : rule is 'indent_align_paren'
+log_rule(indent_text : rule is 'indent_paren_nl'
+log_rule(indent_text : rule is 'indent_square_nl'
+log_rule(indent_text : rule is 'indent_paren_after_func_def'
+log_rule(indent_text : rule is 'indent_paren_after_func_decl'
+log_rule(indent_text : rule is 'indent_paren_after_func_call'
+log_rule(indent_text : rule is 'use_indent_continue_only_once'
+log_rule(indent_text : rule is 'indent_paren_after_func_decl'
+log_rule(indent_text : rule is 'indent_paren_after_func_def'
+log_rule(indent_text : rule is 'indent_paren_after_func_call'
+log_rule(indent_text : rule is 'indent_continue'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_inside_ternary_operator'
+log_rule(indent_text : rule is 'indent_access_spec_body'
+log_rule(indent_text : rule is 'indent_oc_inside_msg_sel'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_macro_brace'
+log_rule(indent_text : rule is 'indent_shift'
+indent_text : pc->line is 10, pc->column is 1, pc->text() is '{, indent_column is 9
+log_rule(indent_text : rule is 'pos_conditional'
+indent_text : orig_line is 10, indent set to 9, for '{'
+log_rule(reindent_line : rule is 'indent_relative_single_line_comments'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_inside_ternary_operator'
+log_rule(indent_text : rule is 'indent_access_spec_body'
+log_rule(indent_text : rule is 'indent_oc_inside_msg_sel'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+indent_text : pc->line is 11, pc->column is 1, pc->text() is '}, indent_column is 9
+log_rule(indent_text : rule is 'pos_conditional'
+indent_text : orig_line is 11, indent set to 9, for '}'
+log_rule(reindent_line : rule is 'indent_relative_single_line_comments'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+indent_text : pc->line is 13, pc->column is 1, pc->text() is 'const, indent_column is 9
+log_rule(indent_text : rule is 'pos_conditional'
+indent_text : orig_line is 13, indent set to 9, for 'const'
+log_rule(reindent_line : rule is 'indent_relative_single_line_comments'
+log_rule(reindent_line : rule is 'indent_relative_single_line_comments'
+log_rule(reindent_line : rule is 'indent_relative_single_line_comments'
+log_rule(reindent_line : rule is 'indent_relative_single_line_comments'
+log_rule(reindent_line : rule is 'indent_relative_single_line_comments'
+log_rule(reindent_line : rule is 'indent_relative_single_line_comments'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_continue'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+indent_text : pc->line is 14, pc->column is 1, pc->text() is 'unsigned, indent_column is 9
+log_rule(indent_text : rule is 'pos_conditional'
+indent_text : orig_line is 14, indent set to 9, for 'unsigned'
+log_rule(reindent_line : rule is 'indent_relative_single_line_comments'
+log_rule(reindent_line : rule is 'indent_relative_single_line_comments'
+log_rule(reindent_line : rule is 'indent_relative_single_line_comments'
+log_rule(reindent_line : rule is 'indent_relative_single_line_comments'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_continue'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_inside_ternary_operator'
+log_rule(indent_text : rule is 'indent_access_spec_body'
+log_rule(indent_text : rule is 'indent_oc_inside_msg_sel'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+indent_text : pc->line is 15, pc->column is 1, pc->text() is '}, indent_column is 1
+log_rule(indent_text : rule is 'pos_conditional'
+indent_text : orig_line is 15, indent set to 1, for '}'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_inside_ternary_operator'
+log_rule(indent_text : rule is 'indent_access_spec_body'
+log_rule(indent_text : rule is 'indent_oc_inside_msg_sel'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_inside_ternary_operator'
+log_rule(indent_text : rule is 'indent_access_spec_body'
+log_rule(indent_text : rule is 'indent_oc_inside_msg_sel'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_columns'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_inside_ternary_operator'
+log_rule(indent_text : rule is 'indent_access_spec_body'
+log_rule(indent_text : rule is 'indent_oc_inside_msg_sel'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+indent_text : pc->line is 1, pc->column is 1, pc->text() is 'struct, indent_column is 1
+log_rule(indent_text : rule is 'pos_conditional'
+indent_text : orig_line is 1, indent set to 1, for 'struct'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_inside_ternary_operator'
+log_rule(indent_text : rule is 'indent_access_spec_body'
+log_rule(indent_text : rule is 'indent_oc_inside_msg_sel'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_inside_ternary_operator'
+log_rule(indent_text : rule is 'indent_access_spec_body'
+log_rule(indent_text : rule is 'indent_oc_inside_msg_sel'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_inside_ternary_operator'
+log_rule(indent_text : rule is 'indent_access_spec_body'
+log_rule(indent_text : rule is 'indent_oc_inside_msg_sel'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_macro_brace'
+log_rule(indent_text : rule is 'indent_shift'
+indent_text : pc->line is 2, pc->column is 1, pc->text() is '{, indent_column is 1
+log_rule(indent_text : rule is 'pos_conditional'
+indent_text : orig_line is 2, indent set to 1, for '{'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+indent_text : pc->line is 3, pc->column is 9, pc->text() is 'TelegramIndex, indent_column is 9
+log_rule(indent_text : rule is 'pos_conditional'
+indent_text : orig_line is 3, indent set to 9, for 'TelegramIndex'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_inside_ternary_operator'
+log_rule(indent_text : rule is 'indent_align_paren'
+log_rule(indent_text : rule is 'indent_paren_nl'
+log_rule(indent_text : rule is 'indent_square_nl'
+log_rule(indent_text : rule is 'indent_paren_after_func_def'
+log_rule(indent_text : rule is 'indent_paren_after_func_decl'
+log_rule(indent_text : rule is 'indent_paren_after_func_call'
+log_rule(indent_text : rule is 'use_indent_continue_only_once'
+log_rule(indent_text : rule is 'indent_paren_after_func_decl'
+log_rule(indent_text : rule is 'indent_paren_after_func_def'
+log_rule(indent_text : rule is 'indent_paren_after_func_call'
+log_rule(indent_text : rule is 'indent_continue'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_inside_ternary_operator'
+log_rule(indent_text : rule is 'indent_access_spec_body'
+log_rule(indent_text : rule is 'indent_oc_inside_msg_sel'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_class_colon'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_inside_ternary_operator'
+log_rule(indent_text : rule is 'indent_access_spec_body'
+log_rule(indent_text : rule is 'indent_oc_inside_msg_sel'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_inside_ternary_operator'
+log_rule(indent_text : rule is 'indent_access_spec_body'
+log_rule(indent_text : rule is 'indent_oc_inside_msg_sel'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+indent_text : pc->line is 4, pc->column is 17, pc->text() is 'pTelName, indent_column is 17
+log_rule(indent_text : rule is 'pos_conditional'
+indent_text : orig_line is 4, indent set to 17, for 'pTelName'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_inside_ternary_operator'
+log_rule(indent_text : rule is 'indent_access_spec_body'
+log_rule(indent_text : rule is 'indent_oc_inside_msg_sel'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_inside_ternary_operator'
+log_rule(indent_text : rule is 'indent_align_paren'
+log_rule(indent_text : rule is 'indent_paren_nl'
+log_rule(indent_text : rule is 'indent_square_nl'
+log_rule(indent_text : rule is 'indent_paren_after_func_def'
+log_rule(indent_text : rule is 'indent_paren_after_func_decl'
+log_rule(indent_text : rule is 'indent_paren_after_func_call'
+log_rule(indent_text : rule is 'use_indent_continue_only_once'
+log_rule(indent_text : rule is 'indent_paren_after_func_decl'
+log_rule(indent_text : rule is 'indent_paren_after_func_def'
+log_rule(indent_text : rule is 'indent_paren_after_func_call'
+log_rule(indent_text : rule is 'indent_continue'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_inside_ternary_operator'
+log_rule(indent_text : rule is 'indent_access_spec_body'
+log_rule(indent_text : rule is 'indent_oc_inside_msg_sel'
+log_rule(indent_text : rule is 'indent_inside_ternary_operator'
+log_rule(indent_text : rule is 'indent_access_spec_body'
+log_rule(indent_text : rule is 'indent_oc_inside_msg_sel'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_inside_ternary_operator'
+log_rule(indent_text : rule is 'indent_access_spec_body'
+log_rule(indent_text : rule is 'indent_oc_inside_msg_sel'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_inside_ternary_operator'
+log_rule(indent_text : rule is 'indent_access_spec_body'
+log_rule(indent_text : rule is 'indent_oc_inside_msg_sel'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_inside_ternary_operator'
+log_rule(indent_text : rule is 'indent_access_spec_body'
+log_rule(indent_text : rule is 'indent_oc_inside_msg_sel'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+indent_text : pc->line is 5, pc->column is 17, pc->text() is 'nTelIndex, indent_column is 17
+log_rule(indent_text : rule is 'pos_conditional'
+indent_text : orig_line is 5, indent set to 17, for 'nTelIndex'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_inside_ternary_operator'
+log_rule(indent_text : rule is 'indent_access_spec_body'
+log_rule(indent_text : rule is 'indent_oc_inside_msg_sel'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_inside_ternary_operator'
+log_rule(indent_text : rule is 'indent_align_paren'
+log_rule(indent_text : rule is 'indent_paren_nl'
+log_rule(indent_text : rule is 'indent_square_nl'
+log_rule(indent_text : rule is 'indent_paren_after_func_def'
+log_rule(indent_text : rule is 'indent_paren_after_func_decl'
+log_rule(indent_text : rule is 'indent_paren_after_func_call'
+log_rule(indent_text : rule is 'use_indent_continue_only_once'
+log_rule(indent_text : rule is 'indent_paren_after_func_decl'
+log_rule(indent_text : rule is 'indent_paren_after_func_def'
+log_rule(indent_text : rule is 'indent_paren_after_func_call'
+log_rule(indent_text : rule is 'indent_continue'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_inside_ternary_operator'
+log_rule(indent_text : rule is 'indent_access_spec_body'
+log_rule(indent_text : rule is 'indent_oc_inside_msg_sel'
+log_rule(indent_text : rule is 'indent_inside_ternary_operator'
+log_rule(indent_text : rule is 'indent_access_spec_body'
+log_rule(indent_text : rule is 'indent_oc_inside_msg_sel'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_inside_ternary_operator'
+log_rule(indent_text : rule is 'indent_access_spec_body'
+log_rule(indent_text : rule is 'indent_oc_inside_msg_sel'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_inside_ternary_operator'
+log_rule(indent_text : rule is 'indent_access_spec_body'
+log_rule(indent_text : rule is 'indent_oc_inside_msg_sel'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_macro_brace'
+log_rule(indent_text : rule is 'indent_shift'
+indent_text : pc->line is 6, pc->column is 9, pc->text() is '{, indent_column is 9
+log_rule(indent_text : rule is 'pos_conditional'
+indent_text : orig_line is 6, indent set to 9, for '{'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_inside_ternary_operator'
+log_rule(indent_text : rule is 'indent_access_spec_body'
+log_rule(indent_text : rule is 'indent_oc_inside_msg_sel'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+indent_text : pc->line is 7, pc->column is 9, pc->text() is '}, indent_column is 9
+log_rule(indent_text : rule is 'pos_conditional'
+indent_text : orig_line is 7, indent set to 9, for '}'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+indent_text : pc->line is 9, pc->column is 9, pc->text() is '~, indent_column is 9
+log_rule(indent_text : rule is 'pos_conditional'
+indent_text : orig_line is 9, indent set to 9, for '~'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_inside_ternary_operator'
+log_rule(indent_text : rule is 'indent_align_paren'
+log_rule(indent_text : rule is 'indent_paren_nl'
+log_rule(indent_text : rule is 'indent_square_nl'
+log_rule(indent_text : rule is 'indent_paren_after_func_def'
+log_rule(indent_text : rule is 'indent_paren_after_func_decl'
+log_rule(indent_text : rule is 'indent_paren_after_func_call'
+log_rule(indent_text : rule is 'use_indent_continue_only_once'
+log_rule(indent_text : rule is 'indent_paren_after_func_decl'
+log_rule(indent_text : rule is 'indent_paren_after_func_def'
+log_rule(indent_text : rule is 'indent_paren_after_func_call'
+log_rule(indent_text : rule is 'indent_continue'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_inside_ternary_operator'
+log_rule(indent_text : rule is 'indent_access_spec_body'
+log_rule(indent_text : rule is 'indent_oc_inside_msg_sel'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_macro_brace'
+log_rule(indent_text : rule is 'indent_shift'
+indent_text : pc->line is 10, pc->column is 9, pc->text() is '{, indent_column is 9
+log_rule(indent_text : rule is 'pos_conditional'
+indent_text : orig_line is 10, indent set to 9, for '{'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_inside_ternary_operator'
+log_rule(indent_text : rule is 'indent_access_spec_body'
+log_rule(indent_text : rule is 'indent_oc_inside_msg_sel'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+indent_text : pc->line is 11, pc->column is 9, pc->text() is '}, indent_column is 9
+log_rule(indent_text : rule is 'pos_conditional'
+indent_text : orig_line is 11, indent set to 9, for '}'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+indent_text : pc->line is 13, pc->column is 9, pc->text() is 'const, indent_column is 9
+log_rule(indent_text : rule is 'pos_conditional'
+indent_text : orig_line is 13, indent set to 9, for 'const'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_continue'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+indent_text : pc->line is 14, pc->column is 9, pc->text() is 'unsigned, indent_column is 9
+log_rule(indent_text : rule is 'pos_conditional'
+indent_text : orig_line is 14, indent set to 9, for 'unsigned'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_continue'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_inside_ternary_operator'
+log_rule(indent_text : rule is 'indent_access_spec_body'
+log_rule(indent_text : rule is 'indent_oc_inside_msg_sel'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+indent_text : pc->line is 15, pc->column is 1, pc->text() is '}, indent_column is 1
+log_rule(indent_text : rule is 'pos_conditional'
+indent_text : orig_line is 15, indent set to 1, for '}'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_inside_ternary_operator'
+log_rule(indent_text : rule is 'indent_access_spec_body'
+log_rule(indent_text : rule is 'indent_oc_inside_msg_sel'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(indent_text : rule is 'indent_col1_multi_string_literal'
+log_rule(indent_text : rule is 'use_options_overriding_for_qt_macros'
+log_rule(indent_text : rule is 'indent_brace_parent'
+log_rule(indent_text : rule is 'indent_func_def_force_col1'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_inside_ternary_operator'
+log_rule(indent_text : rule is 'indent_access_spec_body'
+log_rule(indent_text : rule is 'indent_oc_inside_msg_sel'
+log_rule(indent_text : rule is 'indent_single_newlines'
+log_rule(indent_text : rule is 'indent_braces'
+log_rule(indent_text : rule is 'indent_braces_no_func'
+log_rule(indent_text : rule is 'indent_braces_no_class'
+log_rule(indent_text : rule is 'indent_braces_no_struct'
+log_rule(indent_text : rule is 'indent_shift'
+log_rule(indent_text : rule is 'indent_xml_string'
+log_rule(indent_text : rule is 'indent_continue_class_head'
+log_rule(next_tab_column : rule is 'output_tab_size'
+log_rule(next_tab_column : rule is 'output_tab_size'
+log_rule(next_tab_column : rule is 'output_tab_size'
+log_rule(next_tab_column : rule is 'output_tab_size'
+log_rule(next_tab_column : rule is 'output_tab_size'
+log_rule(next_tab_column : rule is 'output_tab_size'
+log_rule(next_tab_column : rule is 'output_tab_size'
+log_rule(next_tab_column : rule is 'output_tab_size'
+log_rule(next_tab_column : rule is 'output_tab_size'
+log_rule(next_tab_column : rule is 'output_tab_size'
+log_rule(next_tab_column : rule is 'output_tab_size'
+log_rule(next_tab_column : rule is 'output_tab_size'
+log_rule(next_tab_column : rule is 'output_tab_size'
+log_rule(next_tab_column : rule is 'output_tab_size'
+log_rule(next_tab_column : rule is 'output_tab_size'
+log_rule(next_tab_column : rule is 'output_tab_size'
+log_rule(next_tab_column : rule is 'output_tab_size'
+log_rule(next_tab_column : rule is 'output_tab_size'
+log_rule(next_tab_column : rule is 'output_tab_size'
+log_rule(next_tab_column : rule is 'output_tab_size'
+log_rule(next_tab_column : rule is 'output_tab_size'
+log_rule(next_tab_column : rule is 'output_tab_size'
+log_rule(next_tab_column : rule is 'output_tab_size'
+log_rule(next_tab_column : rule is 'output_tab_size'
+log_rule(next_tab_column : rule is 'output_tab_size'
+log_rule(next_tab_column : rule is 'output_tab_size'
+log_rule(next_tab_column : rule is 'output_tab_size'
+log_rule(next_tab_column : rule is 'output_tab_size'
+log_rule(next_tab_column : rule is 'output_tab_size'
+log_rule(next_tab_column : rule is 'output_tab_size'
+log_rule(next_tab_column : rule is 'output_tab_size'
+log_rule(next_tab_column : rule is 'output_tab_size'
+log_rule(next_tab_column : rule is 'output_tab_size'
+log_rule(next_tab_column : rule is 'output_tab_size'
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/25.txt b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/25.txt
new file mode 100644
index 00000000..12967a1b
--- /dev/null
+++ b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/25.txt
@@ -0,0 +1,237 @@
+Newline loop start: 0
+log_rule(newlines_cleanup_braces : rule is 'nl_struct_brace'
+log_rule(newlines_struct_union : rule is 'nl_define_macro'
+log_rule(newlines_cleanup_braces : rule is 'nl_ds_struct_enum_cmt'
+log_rule(newlines_cleanup_braces : rule is 'nl_brace_brace'
+log_rule(newlines_cleanup_braces : rule is 'nl_type_brace_init_lst_open'
+log_rule(newlines_cleanup_braces : rule is 'nl_type_brace_init_lst_close'
+log_rule(newlines_brace_pair : rule is 'nl_define_macro'
+log_rule(newlines_brace_pair : rule is 'nl_create_func_def_one_liner'
+log_rule(collapse_empty_body : rule is 'nl_collapse_empty_body'
+log_rule(newlines_brace_pair : rule is 'eat_blanks_after_open_brace'
+log_rule(newline_def_blk : rule is 'nl_var_def_blk_end'
+log_rule(newline_def_blk : rule is 'nl_var_def_blk_end'
+log_rule(newline_def_blk : rule is 'nl_var_def_blk_start'
+log_rule(newline_def_blk : rule is 'nl_var_def_blk_start'
+newline_add_between : start->text() is ';', type is SEMICOLON, orig_line is 14, orig_col is 24
+newline_add_between : and end->text() is '}', orig_line is 15, orig_col is 1
+ [CallStack]
+log_rule(newlines_cleanup_braces : rule is 'nl_func_decl_start'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_def_start'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_decl_start_single'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_def_start_single'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_decl_start_multi_line'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_def_start_multi_line'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_decl_args'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_def_args'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_decl_args_multi_line'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_def_args_multi_line'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_decl_end'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_def_end'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_decl_end_single'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_def_end_single'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_decl_end_multi_line'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_def_end_multi_line'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_decl_empty'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_def_empty'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_type_name'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_type_name_class'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_class_scope'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_scope_name'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_proto_type_name'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_paren'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_def_paren'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_def_paren_empty'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_paren_empty'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_call_args'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_decl_start'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_def_start'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_decl_start_single'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_def_start_single'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_decl_start_multi_line'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_def_start_multi_line'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_decl_args'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_def_args'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_decl_args_multi_line'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_def_args_multi_line'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_decl_end'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_def_end'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_decl_end_single'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_def_end_single'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_decl_end_multi_line'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_def_end_multi_line'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_decl_empty'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_def_empty'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_type_name'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_type_name_class'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_class_scope'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_scope_name'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_proto_type_name'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_paren'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_def_paren'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_def_paren_empty'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_paren_empty'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_call_args'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_decl_start'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_def_start'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_decl_start_single'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_def_start_single'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_decl_start_multi_line'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_def_start_multi_line'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_decl_args'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_def_args'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_decl_args_multi_line'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_def_args_multi_line'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_decl_end'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_def_end'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_decl_end_single'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_def_end_single'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_decl_end_multi_line'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_def_end_multi_line'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_decl_empty'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_def_empty'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_type_name'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_type_name_class'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_class_scope'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_scope_name'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_proto_type_name'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_paren'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_def_paren'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_def_paren_empty'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_paren_empty'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_call_args'
+log_rule(newlines_cleanup_braces : rule is 'nl_before_opening_brace_func_class_def'
+log_rule(newlines_cleanup_braces : rule is 'nl_brace_brace'
+log_rule(newlines_cleanup_braces : rule is 'nl_type_brace_init_lst_open'
+log_rule(newlines_cleanup_braces : rule is 'nl_type_brace_init_lst_close'
+log_rule(newlines_brace_pair : rule is 'nl_define_macro'
+log_rule(newlines_brace_pair : rule is 'nl_create_func_def_one_liner'
+log_rule(newlines_brace_pair : rule is 'nl_fdef_brace_cond'
+log_rule(newlines_brace_pair : rule is 'nl_fdef_brace'
+log_rule(collapse_empty_body : rule is 'nl_collapse_empty_body'
+log_rule(newlines_brace_pair : rule is 'eat_blanks_after_open_brace'
+newline_add_between : start->text() is '{', type is BRACE_OPEN, orig_line is 6, orig_col is 1
+newline_add_between : and end->text() is '}', orig_line is 7, orig_col is 1
+ [CallStack]
+newline_add_between : start->text() is '{', type is BRACE_OPEN, orig_line is 6, orig_col is 1
+newline_add_between : and end->text() is '}', orig_line is 7, orig_col is 1
+ [CallStack]
+log_rule(newlines_cleanup_braces : rule is 'nl_brace_brace'
+log_rule(newlines_cleanup_braces : rule is 'nl_brace_square'
+log_rule(newlines_cleanup_braces : rule is 'nl_brace_fparen'
+log_rule(newlines_cleanup_braces : rule is 'nl_type_brace_init_lst_close'
+log_rule(newlines_cleanup_braces : rule is 'eat_blanks_before_close_brace'
+log_rule(newlines_cleanup_braces : rule is 'nl_brace_struct_var'
+log_rule(newlines_cleanup_braces : rule is 'nl_after_brace_close'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_decl_start'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_def_start'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_decl_start_single'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_def_start_single'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_decl_start_multi_line'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_def_start_multi_line'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_decl_args'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_def_args'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_decl_args_multi_line'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_def_args_multi_line'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_decl_end'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_def_end'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_decl_end_single'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_def_end_single'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_decl_end_multi_line'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_def_end_multi_line'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_decl_empty'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_def_empty'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_type_name'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_type_name_class'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_class_scope'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_scope_name'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_proto_type_name'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_paren'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_def_paren'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_def_paren_empty'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_paren_empty'
+log_rule(newlines_cleanup_braces : rule is 'nl_func_call_args'
+log_rule(newlines_cleanup_braces : rule is 'nl_before_opening_brace_func_class_def'
+log_rule(newlines_cleanup_braces : rule is 'nl_brace_brace'
+log_rule(newlines_cleanup_braces : rule is 'nl_type_brace_init_lst_open'
+log_rule(newlines_cleanup_braces : rule is 'nl_type_brace_init_lst_close'
+log_rule(newlines_brace_pair : rule is 'nl_define_macro'
+log_rule(newlines_brace_pair : rule is 'nl_create_func_def_one_liner'
+log_rule(newlines_brace_pair : rule is 'nl_fdef_brace_cond'
+log_rule(newlines_brace_pair : rule is 'nl_fdef_brace'
+log_rule(collapse_empty_body : rule is 'nl_collapse_empty_body'
+log_rule(newlines_brace_pair : rule is 'eat_blanks_after_open_brace'
+newline_add_between : start->text() is '{', type is BRACE_OPEN, orig_line is 10, orig_col is 1
+newline_add_between : and end->text() is '}', orig_line is 11, orig_col is 1
+ [CallStack]
+newline_add_between : start->text() is '{', type is BRACE_OPEN, orig_line is 10, orig_col is 1
+newline_add_between : and end->text() is '}', orig_line is 11, orig_col is 1
+ [CallStack]
+log_rule(newlines_cleanup_braces : rule is 'nl_brace_brace'
+log_rule(newlines_cleanup_braces : rule is 'nl_brace_square'
+log_rule(newlines_cleanup_braces : rule is 'nl_brace_fparen'
+log_rule(newlines_cleanup_braces : rule is 'nl_type_brace_init_lst_close'
+log_rule(newlines_cleanup_braces : rule is 'eat_blanks_before_close_brace'
+log_rule(newlines_cleanup_braces : rule is 'nl_brace_struct_var'
+log_rule(newlines_cleanup_braces : rule is 'nl_after_brace_close'
+log_rule(newlines_cleanup_braces : rule is 'nl_after_semicolon'
+log_rule(newlines_cleanup_braces : rule is 'nl_after_semicolon'
+log_rule(newlines_cleanup_braces : rule is 'nl_brace_brace'
+log_rule(newlines_cleanup_braces : rule is 'nl_brace_square'
+log_rule(newlines_cleanup_braces : rule is 'nl_brace_fparen'
+log_rule(newlines_cleanup_braces : rule is 'nl_type_brace_init_lst_close'
+log_rule(newlines_cleanup_braces : rule is 'eat_blanks_before_close_brace'
+log_rule(newlines_cleanup_braces : rule is 'nl_brace_struct_var'
+log_rule(newlines_cleanup_braces : rule is 'nl_after_semicolon'
+log_rule(newline_def_blk : rule is 'nl_var_def_blk_end'
+log_rule(newline_def_blk : rule is 'nl_var_def_blk_end'
+log_rule(newline_def_blk : rule is 'nl_var_def_blk_start'
+log_rule(newline_def_blk : rule is 'nl_var_def_blk_start'
+log_rule(newlines_func_pre_blank_lines : rule is 'nl_before_func_class_def'
+log_rule(newlines_func_pre_blank_lines : rule is 'nl_before_func_class_proto'
+log_rule(newlines_func_pre_blank_lines : rule is 'nl_before_func_body_def'
+log_rule(newlines_func_pre_blank_lines : rule is 'nl_before_func_body_proto'
+log_rule(newlines_func_pre_blank_lines : rule is 'nl_before_func_class_def'
+log_rule(newlines_func_pre_blank_lines : rule is 'nl_before_func_class_proto'
+log_rule(newlines_func_pre_blank_lines : rule is 'nl_before_func_body_def'
+log_rule(newlines_func_pre_blank_lines : rule is 'nl_before_func_body_proto'
+log_rule(newlines_class_colon_pos : rule is 'pos_class_colon'
+log_rule(newlines_class_colon_pos : rule is 'nl_class_colon'
+log_rule(newlines_class_colon_pos : rule is 'nl_class_init_args'
+log_rule(newlines_class_colon_pos : rule is 'pos_class_comma'
+log_rule(newlines_class_colon_pos : rule is 'align_constr_value_span'
+log_rule(newlines_class_colon_pos : rule is 'pos_constr_colon'
+log_rule(newlines_class_colon_pos : rule is 'nl_constr_colon'
+log_rule(newlines_class_colon_pos : rule is 'nl_constr_init_args'
+log_rule(newlines_class_colon_pos : rule is 'pos_constr_comma'
+log_rule(newlines_class_colon_pos : rule is 'align_constr_value_span'
+log_rule(can_increase_nl : rule is 'nl_start_of_file'
+log_rule(can_increase_nl : rule is 'nl_end_of_file'
+log_rule(can_increase_nl : rule is 'nl_start_of_file'
+log_rule(can_increase_nl : rule is 'nl_end_of_file'
+log_rule(can_increase_nl : rule is 'nl_start_of_file'
+log_rule(can_increase_nl : rule is 'nl_end_of_file'
+log_rule(can_increase_nl : rule is 'nl_start_of_file'
+log_rule(can_increase_nl : rule is 'nl_end_of_file'
+log_rule(can_increase_nl : rule is 'nl_start_of_file'
+log_rule(can_increase_nl : rule is 'nl_end_of_file'
+log_rule(can_increase_nl : rule is 'nl_start_of_file'
+log_rule(can_increase_nl : rule is 'nl_end_of_file'
+log_rule(can_increase_nl : rule is 'nl_start_of_file'
+log_rule(can_increase_nl : rule is 'nl_end_of_file'
+log_rule(can_increase_nl : rule is 'nl_start_of_file'
+log_rule(can_increase_nl : rule is 'nl_end_of_file'
+log_rule(can_increase_nl : rule is 'nl_start_of_file'
+log_rule(can_increase_nl : rule is 'nl_end_of_file'
+log_rule(can_increase_nl : rule is 'nl_start_of_file'
+log_rule(can_increase_nl : rule is 'nl_end_of_file'
+log_rule(can_increase_nl : rule is 'nl_start_of_file'
+log_rule(can_increase_nl : rule is 'nl_end_of_file'
+log_rule(can_increase_nl : rule is 'nl_start_of_file'
+log_rule(can_increase_nl : rule is 'nl_end_of_file'
+log_rule(can_increase_nl : rule is 'nl_start_of_file'
+log_rule(can_increase_nl : rule is 'nl_end_of_file'
+log_rule(do_blank_lines : rule is 'nl_after_class'
+log_rule(do_blank_lines : rule is 'nl_after_struct'
+log_rule(newlines_functions_remove_extra_blank_lines : rule is 'nl_max_blank_in_func'
+newlines_functions_remove_extra_blank_lines : nl_max_blank_in_func is zero
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/28.txt b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/28.txt
new file mode 100644
index 00000000..f49f675e
--- /dev/null
+++ b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/28.txt
@@ -0,0 +1,428 @@
+log_rule(parse_next : rule is 'disable_processing_nl_cont'
+log_rule(parse_next : rule is 'disable_processing_nl_cont'
+log_rule(parse_next : rule is 'disable_processing_nl_cont'
+log_rule(parse_next : rule is 'disable_processing_nl_cont'
+log_rule(parse_next : rule is 'disable_processing_nl_cont'
+log_rule(parse_next : rule is 'disable_processing_nl_cont'
+log_rule(parse_next : rule is 'disable_processing_nl_cont'
+log_rule(parse_next : rule is 'disable_processing_nl_cont'
+log_rule(parse_next : rule is 'disable_processing_nl_cont'
+log_rule(parse_next : rule is 'disable_processing_nl_cont'
+log_rule(parse_next : rule is 'disable_processing_nl_cont'
+log_rule(parse_next : rule is 'disable_processing_nl_cont'
+log_rule(parse_next : rule is 'disable_processing_nl_cont'
+log_rule(parse_next : rule is 'disable_processing_nl_cont'
+log_rule(parse_next : rule is 'disable_processing_nl_cont'
+log_rule(parse_next : rule is 'disable_processing_nl_cont'
+log_rule(parse_next : rule is 'disable_processing_nl_cont'
+log_rule(parse_next : rule is 'disable_processing_nl_cont'
+log_rule(parse_next : rule is 'disable_processing_nl_cont'
+log_rule(parse_next : rule is 'disable_processing_nl_cont'
+log_rule(parse_next : rule is 'disable_processing_nl_cont'
+log_rule(parse_next : rule is 'disable_processing_nl_cont'
+log_rule(parse_next : rule is 'disable_processing_nl_cont'
+log_rule(parse_next : rule is 'disable_processing_nl_cont'
+log_rule(parse_next : rule is 'disable_processing_nl_cont'
+log_rule(parse_next : rule is 'disable_processing_nl_cont'
+log_rule(parse_next : rule is 'disable_processing_nl_cont'
+log_rule(parse_next : rule is 'disable_processing_nl_cont'
+log_rule(parse_next : rule is 'disable_processing_nl_cont'
+log_rule(parse_next : rule is 'disable_processing_nl_cont'
+log_rule(parse_next : rule is 'disable_processing_nl_cont'
+log_rule(parse_next : rule is 'disable_processing_nl_cont'
+log_rule(parse_next : rule is 'disable_processing_nl_cont'
+log_rule(parse_next : rule is 'disable_processing_nl_cont'
+log_rule(parse_next : rule is 'disable_processing_nl_cont'
+log_rule(parse_next : rule is 'disable_processing_nl_cont'
+log_rule(parse_next : rule is 'disable_processing_nl_cont'
+log_rule(parse_next : rule is 'disable_processing_nl_cont'
+log_rule(parse_next : rule is 'disable_processing_nl_cont'
+log_rule(parse_next : rule is 'disable_processing_nl_cont'
+log_rule(parse_next : rule is 'disable_processing_nl_cont'
+log_rule(parse_next : rule is 'disable_processing_nl_cont'
+log_rule(parse_next : rule is 'disable_processing_nl_cont'
+log_rule(parse_next : rule is 'disable_processing_nl_cont'
+log_rule(parse_next : rule is 'disable_processing_nl_cont'
+log_rule(parse_next : rule is 'disable_processing_nl_cont'
+log_rule(parse_next : rule is 'disable_processing_nl_cont'
+log_rule(parse_next : rule is 'disable_processing_nl_cont'
+log_rule(parse_next : rule is 'disable_processing_nl_cont'
+log_rule(parse_next : rule is 'disable_processing_nl_cont'
+log_rule(parse_next : rule is 'disable_processing_nl_cont'
+log_rule(parse_next : rule is 'disable_processing_nl_cont'
+log_rule(parse_next : rule is 'disable_processing_nl_cont'
+log_rule(parse_next : rule is 'disable_processing_nl_cont'
+log_rule(parse_next : rule is 'disable_processing_nl_cont'
+log_rule(parse_next : rule is 'disable_processing_nl_cont'
+log_rule(parse_next : rule is 'disable_processing_nl_cont'
+log_rule(parse_next : rule is 'disable_processing_nl_cont'
+log_rule(parse_next : rule is 'disable_processing_nl_cont'
+log_rule(parse_next : rule is 'disable_processing_nl_cont'
+log_rule(parse_next : rule is 'disable_processing_nl_cont'
+log_rule(parse_next : rule is 'disable_processing_nl_cont'
+log_rule(parse_next : rule is 'disable_processing_nl_cont'
+log_rule(parse_next : rule is 'disable_processing_nl_cont'
+log_rule(parse_next : rule is 'disable_processing_nl_cont'
+log_rule(parse_next : rule is 'disable_processing_nl_cont'
+log_rule(parse_next : rule is 'disable_processing_nl_cont'
+log_rule(parse_next : rule is 'disable_processing_nl_cont'
+log_rule(parse_next : rule is 'disable_processing_nl_cont'
+log_rule(tokenize : rule is 'newlines'
+brace_cleanup : orig_line is 1, orig_col is 1, text() is 'struct'
+brace_cleanup : pp_level is 0
+parse_cleanup : orig_line is 1, orig_col is 1, type is STRUCT, tos is 0, TOS.type is EOF, TOS.stage is NONE, []
+parse_cleanup : orig_line is 1, type is STRUCT, text() is 'struct'
+parse_cleanup : frm.stmt_count is 0, frm.expr_count is 0
+parse_cleanup : frm.stmt_count is 1, frm.expr_count is 1
+brace_cleanup : orig_line is 1, orig_col is 8, text() is 'TelegramIndex'
+brace_cleanup : pp_level is 0
+parse_cleanup : orig_line is 1, orig_col is 8, type is TYPE, tos is 0, TOS.type is EOF, TOS.stage is NONE, []
+parse_cleanup : orig_line is 1, type is TYPE, text() is 'TelegramIndex'
+parse_cleanup : frm.stmt_count is 1, frm.expr_count is 1
+parse_cleanup : frm.stmt_count is 2, frm.expr_count is 2
+brace_cleanup : orig_line is 1, orig_col is 21, text() is ''
+brace_cleanup : pp_level is 0
+brace_cleanup : orig_line is 2, orig_col is 1, text() is '{'
+brace_cleanup : pp_level is 0
+parse_cleanup : orig_line is 2, orig_col is 1, type is BRACE_OPEN, tos is 0, TOS.type is EOF, TOS.stage is NONE, []
+parse_cleanup : orig_line is 2, type is BRACE_OPEN, text() is '{'
+parse_cleanup : frm.stmt_count is 2, frm.expr_count is 2
+parse_cleanup : frm.stmt_count is 3, frm.expr_count is 3
+parse_cleanup : frm.stmt_count is 0, frm.expr_count is 0
+brace_cleanup : orig_line is 2, orig_col is 2, text() is ''
+brace_cleanup : pp_level is 0
+brace_cleanup : orig_line is 3, orig_col is 1, text() is 'TelegramIndex'
+brace_cleanup : pp_level is 0
+parse_cleanup : orig_line is 3, orig_col is 1, type is WORD, tos is 1, TOS.type is BRACE_OPEN, TOS.stage is NONE, []
+parse_cleanup : orig_line is 3, type is WORD, text() is 'TelegramIndex'
+parse_cleanup : frm.stmt_count is 0, frm.expr_count is 0
+parse_cleanup : frm.stmt_count is 1, frm.expr_count is 1
+brace_cleanup : orig_line is 3, orig_col is 14, text() is '('
+brace_cleanup : pp_level is 0
+parse_cleanup : orig_line is 3, orig_col is 14, type is PAREN_OPEN, tos is 1, TOS.type is BRACE_OPEN, TOS.stage is NONE, []
+parse_cleanup : orig_line is 3, type is PAREN_OPEN, text() is '('
+parse_cleanup : frm.stmt_count is 1, frm.expr_count is 1
+parse_cleanup : frm.stmt_count is 2, frm.expr_count is 2
+brace_cleanup : orig_line is 3, orig_col is 15, text() is 'const'
+brace_cleanup : pp_level is 0
+parse_cleanup : orig_line is 3, orig_col is 15, type is QUALIFIER, tos is 2, TOS.type is PAREN_OPEN, TOS.stage is NONE, []
+parse_cleanup : orig_line is 3, type is QUALIFIER, text() is 'const'
+parse_cleanup : frm.stmt_count is 2, frm.expr_count is 0
+parse_cleanup : frm.stmt_count is 3, frm.expr_count is 1
+brace_cleanup : orig_line is 3, orig_col is 21, text() is 'char'
+brace_cleanup : pp_level is 0
+parse_cleanup : orig_line is 3, orig_col is 21, type is TYPE, tos is 2, TOS.type is PAREN_OPEN, TOS.stage is NONE, []
+parse_cleanup : orig_line is 3, type is TYPE, text() is 'char'
+parse_cleanup : frm.stmt_count is 3, frm.expr_count is 1
+parse_cleanup : frm.stmt_count is 4, frm.expr_count is 2
+brace_cleanup : orig_line is 3, orig_col is 25, text() is '*'
+brace_cleanup : pp_level is 0
+parse_cleanup : orig_line is 3, orig_col is 25, type is PTR_TYPE, tos is 2, TOS.type is PAREN_OPEN, TOS.stage is NONE, []
+parse_cleanup : orig_line is 3, type is PTR_TYPE, text() is '*'
+parse_cleanup : frm.stmt_count is 4, frm.expr_count is 2
+parse_cleanup : frm.stmt_count is 5, frm.expr_count is 3
+brace_cleanup : orig_line is 3, orig_col is 27, text() is 'pN'
+brace_cleanup : pp_level is 0
+parse_cleanup : orig_line is 3, orig_col is 27, type is WORD, tos is 2, TOS.type is PAREN_OPEN, TOS.stage is NONE, []
+parse_cleanup : orig_line is 3, type is WORD, text() is 'pN'
+parse_cleanup : frm.stmt_count is 5, frm.expr_count is 3
+parse_cleanup : frm.stmt_count is 6, frm.expr_count is 4
+brace_cleanup : orig_line is 3, orig_col is 29, text() is ','
+brace_cleanup : pp_level is 0
+parse_cleanup : orig_line is 3, orig_col is 29, type is COMMA, tos is 2, TOS.type is PAREN_OPEN, TOS.stage is NONE, []
+parse_cleanup : orig_line is 3, type is COMMA, text() is ','
+parse_cleanup : frm.stmt_count is 6, frm.expr_count is 4
+parse_cleanup : frm.stmt_count is 7, frm.expr_count is 5
+brace_cleanup : orig_line is 3, orig_col is 31, text() is 'unsigned'
+brace_cleanup : pp_level is 0
+parse_cleanup : orig_line is 3, orig_col is 31, type is TYPE, tos is 2, TOS.type is PAREN_OPEN, TOS.stage is NONE, []
+parse_cleanup : orig_line is 3, type is TYPE, text() is 'unsigned'
+parse_cleanup : frm.stmt_count is 7, frm.expr_count is 0
+parse_cleanup : frm.stmt_count is 8, frm.expr_count is 1
+brace_cleanup : orig_line is 3, orig_col is 40, text() is 'long'
+brace_cleanup : pp_level is 0
+parse_cleanup : orig_line is 3, orig_col is 40, type is TYPE, tos is 2, TOS.type is PAREN_OPEN, TOS.stage is NONE, []
+parse_cleanup : orig_line is 3, type is TYPE, text() is 'long'
+parse_cleanup : frm.stmt_count is 8, frm.expr_count is 1
+parse_cleanup : frm.stmt_count is 9, frm.expr_count is 2
+brace_cleanup : orig_line is 3, orig_col is 45, text() is 'nI'
+brace_cleanup : pp_level is 0
+parse_cleanup : orig_line is 3, orig_col is 45, type is WORD, tos is 2, TOS.type is PAREN_OPEN, TOS.stage is NONE, []
+parse_cleanup : orig_line is 3, type is WORD, text() is 'nI'
+parse_cleanup : frm.stmt_count is 9, frm.expr_count is 2
+parse_cleanup : frm.stmt_count is 10, frm.expr_count is 3
+brace_cleanup : orig_line is 3, orig_col is 47, text() is ')'
+brace_cleanup : pp_level is 0
+parse_cleanup : orig_line is 3, orig_col is 47, type is PAREN_CLOSE, tos is 2, TOS.type is PAREN_OPEN, TOS.stage is NONE, []
+parse_cleanup : orig_line is 3, type is PAREN_CLOSE, text() is ')'
+parse_cleanup : frm.stmt_count is 10, frm.expr_count is 3
+parse_cleanup : frm.stmt_count is 11, frm.expr_count is 4
+brace_cleanup : orig_line is 3, orig_col is 49, text() is ':'
+brace_cleanup : pp_level is 0
+parse_cleanup : orig_line is 3, orig_col is 49, type is COLON, tos is 1, TOS.type is BRACE_OPEN, TOS.stage is NONE, []
+parse_cleanup : orig_line is 3, type is COLON, text() is ':'
+parse_cleanup : frm.stmt_count is 11, frm.expr_count is 4
+parse_cleanup : frm.stmt_count is 12, frm.expr_count is 5
+parse_cleanup : frm.stmt_count is 0, frm.expr_count is 0
+brace_cleanup : orig_line is 3, orig_col is 50, text() is ''
+brace_cleanup : pp_level is 0
+brace_cleanup : orig_line is 4, orig_col is 1, text() is 'pTelName'
+brace_cleanup : pp_level is 0
+parse_cleanup : orig_line is 4, orig_col is 1, type is WORD, tos is 1, TOS.type is BRACE_OPEN, TOS.stage is NONE, []
+parse_cleanup : orig_line is 4, type is WORD, text() is 'pTelName'
+parse_cleanup : frm.stmt_count is 0, frm.expr_count is 0
+parse_cleanup : frm.stmt_count is 1, frm.expr_count is 1
+brace_cleanup : orig_line is 4, orig_col is 9, text() is '('
+brace_cleanup : pp_level is 0
+parse_cleanup : orig_line is 4, orig_col is 9, type is PAREN_OPEN, tos is 1, TOS.type is BRACE_OPEN, TOS.stage is NONE, []
+parse_cleanup : orig_line is 4, type is PAREN_OPEN, text() is '('
+parse_cleanup : frm.stmt_count is 1, frm.expr_count is 1
+parse_cleanup : frm.stmt_count is 2, frm.expr_count is 2
+brace_cleanup : orig_line is 4, orig_col is 10, text() is 'pN'
+brace_cleanup : pp_level is 0
+parse_cleanup : orig_line is 4, orig_col is 10, type is WORD, tos is 2, TOS.type is PAREN_OPEN, TOS.stage is NONE, []
+parse_cleanup : orig_line is 4, type is WORD, text() is 'pN'
+parse_cleanup : frm.stmt_count is 2, frm.expr_count is 0
+parse_cleanup : frm.stmt_count is 3, frm.expr_count is 1
+brace_cleanup : orig_line is 4, orig_col is 12, text() is ')'
+brace_cleanup : pp_level is 0
+parse_cleanup : orig_line is 4, orig_col is 12, type is PAREN_CLOSE, tos is 2, TOS.type is PAREN_OPEN, TOS.stage is NONE, []
+parse_cleanup : orig_line is 4, type is PAREN_CLOSE, text() is ')'
+parse_cleanup : frm.stmt_count is 3, frm.expr_count is 1
+parse_cleanup : frm.stmt_count is 4, frm.expr_count is 2
+brace_cleanup : orig_line is 4, orig_col is 13, text() is ','
+brace_cleanup : pp_level is 0
+parse_cleanup : orig_line is 4, orig_col is 13, type is COMMA, tos is 1, TOS.type is BRACE_OPEN, TOS.stage is NONE, []
+parse_cleanup : orig_line is 4, type is COMMA, text() is ','
+parse_cleanup : frm.stmt_count is 4, frm.expr_count is 2
+parse_cleanup : frm.stmt_count is 5, frm.expr_count is 3
+brace_cleanup : orig_line is 4, orig_col is 14, text() is ''
+brace_cleanup : pp_level is 0
+brace_cleanup : orig_line is 5, orig_col is 1, text() is 'nTelIndex'
+brace_cleanup : pp_level is 0
+parse_cleanup : orig_line is 5, orig_col is 1, type is WORD, tos is 1, TOS.type is BRACE_OPEN, TOS.stage is NONE, []
+parse_cleanup : orig_line is 5, type is WORD, text() is 'nTelIndex'
+parse_cleanup : frm.stmt_count is 5, frm.expr_count is 0
+parse_cleanup : frm.stmt_count is 6, frm.expr_count is 1
+brace_cleanup : orig_line is 5, orig_col is 10, text() is '('
+brace_cleanup : pp_level is 0
+parse_cleanup : orig_line is 5, orig_col is 10, type is PAREN_OPEN, tos is 1, TOS.type is BRACE_OPEN, TOS.stage is NONE, []
+parse_cleanup : orig_line is 5, type is PAREN_OPEN, text() is '('
+parse_cleanup : frm.stmt_count is 6, frm.expr_count is 1
+parse_cleanup : frm.stmt_count is 7, frm.expr_count is 2
+brace_cleanup : orig_line is 5, orig_col is 11, text() is 'n'
+brace_cleanup : pp_level is 0
+parse_cleanup : orig_line is 5, orig_col is 11, type is WORD, tos is 2, TOS.type is PAREN_OPEN, TOS.stage is NONE, []
+parse_cleanup : orig_line is 5, type is WORD, text() is 'n'
+parse_cleanup : frm.stmt_count is 7, frm.expr_count is 0
+parse_cleanup : frm.stmt_count is 8, frm.expr_count is 1
+brace_cleanup : orig_line is 5, orig_col is 12, text() is ')'
+brace_cleanup : pp_level is 0
+parse_cleanup : orig_line is 5, orig_col is 12, type is PAREN_CLOSE, tos is 2, TOS.type is PAREN_OPEN, TOS.stage is NONE, []
+parse_cleanup : orig_line is 5, type is PAREN_CLOSE, text() is ')'
+parse_cleanup : frm.stmt_count is 8, frm.expr_count is 1
+parse_cleanup : frm.stmt_count is 9, frm.expr_count is 2
+brace_cleanup : orig_line is 5, orig_col is 13, text() is ''
+brace_cleanup : pp_level is 0
+brace_cleanup : orig_line is 6, orig_col is 1, text() is '{'
+brace_cleanup : pp_level is 0
+parse_cleanup : orig_line is 6, orig_col is 1, type is BRACE_OPEN, tos is 1, TOS.type is BRACE_OPEN, TOS.stage is NONE, []
+parse_cleanup : orig_line is 6, type is BRACE_OPEN, text() is '{'
+parse_cleanup : frm.stmt_count is 9, frm.expr_count is 2
+parse_cleanup : frm.stmt_count is 10, frm.expr_count is 3
+parse_cleanup : frm.stmt_count is 0, frm.expr_count is 0
+brace_cleanup : orig_line is 6, orig_col is 2, text() is ''
+brace_cleanup : pp_level is 0
+brace_cleanup : orig_line is 7, orig_col is 1, text() is '}'
+brace_cleanup : pp_level is 0
+parse_cleanup : orig_line is 7, orig_col is 1, type is BRACE_CLOSE, tos is 2, TOS.type is BRACE_OPEN, TOS.stage is NONE, []
+parse_cleanup : orig_line is 7, type is BRACE_CLOSE, text() is '}'
+parse_cleanup : frm.stmt_count is 0, frm.expr_count is 0
+parse_cleanup : frm.stmt_count is 1, frm.expr_count is 1
+parse_cleanup : frm.stmt_count is 0, frm.expr_count is 0
+brace_cleanup : orig_line is 7, orig_col is 2, text() is ''
+brace_cleanup : pp_level is 0
+brace_cleanup : orig_line is 9, orig_col is 1, text() is '~'
+brace_cleanup : pp_level is 0
+parse_cleanup : orig_line is 9, orig_col is 1, type is INV, tos is 1, TOS.type is BRACE_OPEN, TOS.stage is NONE, []
+parse_cleanup : orig_line is 9, type is INV, text() is '~'
+parse_cleanup : frm.stmt_count is 0, frm.expr_count is 0
+parse_cleanup : frm.stmt_count is 1, frm.expr_count is 1
+brace_cleanup : orig_line is 9, orig_col is 2, text() is 'TelegramIndex'
+brace_cleanup : pp_level is 0
+parse_cleanup : orig_line is 9, orig_col is 2, type is WORD, tos is 1, TOS.type is BRACE_OPEN, TOS.stage is NONE, []
+parse_cleanup : orig_line is 9, type is WORD, text() is 'TelegramIndex'
+parse_cleanup : frm.stmt_count is 1, frm.expr_count is 0
+parse_cleanup : frm.stmt_count is 2, frm.expr_count is 1
+brace_cleanup : orig_line is 9, orig_col is 15, text() is '('
+brace_cleanup : pp_level is 0
+parse_cleanup : orig_line is 9, orig_col is 15, type is PAREN_OPEN, tos is 1, TOS.type is BRACE_OPEN, TOS.stage is NONE, []
+parse_cleanup : orig_line is 9, type is PAREN_OPEN, text() is '('
+parse_cleanup : frm.stmt_count is 2, frm.expr_count is 1
+parse_cleanup : frm.stmt_count is 3, frm.expr_count is 2
+brace_cleanup : orig_line is 9, orig_col is 16, text() is ')'
+brace_cleanup : pp_level is 0
+parse_cleanup : orig_line is 9, orig_col is 16, type is PAREN_CLOSE, tos is 2, TOS.type is PAREN_OPEN, TOS.stage is NONE, []
+parse_cleanup : orig_line is 9, type is PAREN_CLOSE, text() is ')'
+parse_cleanup : frm.stmt_count is 3, frm.expr_count is 0
+parse_cleanup : frm.stmt_count is 4, frm.expr_count is 1
+brace_cleanup : orig_line is 9, orig_col is 17, text() is ''
+brace_cleanup : pp_level is 0
+brace_cleanup : orig_line is 10, orig_col is 1, text() is '{'
+brace_cleanup : pp_level is 0
+parse_cleanup : orig_line is 10, orig_col is 1, type is BRACE_OPEN, tos is 1, TOS.type is BRACE_OPEN, TOS.stage is NONE, []
+parse_cleanup : orig_line is 10, type is BRACE_OPEN, text() is '{'
+parse_cleanup : frm.stmt_count is 4, frm.expr_count is 1
+parse_cleanup : frm.stmt_count is 5, frm.expr_count is 2
+parse_cleanup : frm.stmt_count is 0, frm.expr_count is 0
+brace_cleanup : orig_line is 10, orig_col is 2, text() is ''
+brace_cleanup : pp_level is 0
+brace_cleanup : orig_line is 11, orig_col is 1, text() is '}'
+brace_cleanup : pp_level is 0
+parse_cleanup : orig_line is 11, orig_col is 1, type is BRACE_CLOSE, tos is 2, TOS.type is BRACE_OPEN, TOS.stage is NONE, []
+parse_cleanup : orig_line is 11, type is BRACE_CLOSE, text() is '}'
+parse_cleanup : frm.stmt_count is 0, frm.expr_count is 0
+parse_cleanup : frm.stmt_count is 1, frm.expr_count is 1
+parse_cleanup : frm.stmt_count is 0, frm.expr_count is 0
+brace_cleanup : orig_line is 11, orig_col is 2, text() is ''
+brace_cleanup : pp_level is 0
+brace_cleanup : orig_line is 13, orig_col is 1, text() is 'const'
+brace_cleanup : pp_level is 0
+parse_cleanup : orig_line is 13, orig_col is 1, type is QUALIFIER, tos is 1, TOS.type is BRACE_OPEN, TOS.stage is NONE, []
+parse_cleanup : orig_line is 13, type is QUALIFIER, text() is 'const'
+parse_cleanup : frm.stmt_count is 0, frm.expr_count is 0
+parse_cleanup : frm.stmt_count is 1, frm.expr_count is 1
+brace_cleanup : orig_line is 13, orig_col is 7, text() is 'char'
+brace_cleanup : pp_level is 0
+parse_cleanup : orig_line is 13, orig_col is 7, type is TYPE, tos is 1, TOS.type is BRACE_OPEN, TOS.stage is NONE, []
+parse_cleanup : orig_line is 13, type is TYPE, text() is 'char'
+parse_cleanup : frm.stmt_count is 1, frm.expr_count is 1
+parse_cleanup : frm.stmt_count is 2, frm.expr_count is 2
+brace_cleanup : orig_line is 13, orig_col is 11, text() is '*'
+brace_cleanup : pp_level is 0
+parse_cleanup : orig_line is 13, orig_col is 11, type is PTR_TYPE, tos is 1, TOS.type is BRACE_OPEN, TOS.stage is NONE, []
+parse_cleanup : orig_line is 13, type is PTR_TYPE, text() is '*'
+parse_cleanup : frm.stmt_count is 2, frm.expr_count is 2
+parse_cleanup : frm.stmt_count is 3, frm.expr_count is 3
+brace_cleanup : orig_line is 13, orig_col is 13, text() is 'const'
+brace_cleanup : pp_level is 0
+parse_cleanup : orig_line is 13, orig_col is 13, type is QUALIFIER, tos is 1, TOS.type is BRACE_OPEN, TOS.stage is NONE, []
+parse_cleanup : orig_line is 13, type is QUALIFIER, text() is 'const'
+parse_cleanup : frm.stmt_count is 3, frm.expr_count is 3
+parse_cleanup : frm.stmt_count is 4, frm.expr_count is 4
+brace_cleanup : orig_line is 13, orig_col is 19, text() is 'pTelName'
+brace_cleanup : pp_level is 0
+parse_cleanup : orig_line is 13, orig_col is 19, type is WORD, tos is 1, TOS.type is BRACE_OPEN, TOS.stage is NONE, []
+parse_cleanup : orig_line is 13, type is WORD, text() is 'pTelName'
+parse_cleanup : frm.stmt_count is 4, frm.expr_count is 4
+parse_cleanup : frm.stmt_count is 5, frm.expr_count is 5
+brace_cleanup : orig_line is 13, orig_col is 27, text() is ';'
+brace_cleanup : pp_level is 0
+parse_cleanup : orig_line is 13, orig_col is 27, type is SEMICOLON, tos is 1, TOS.type is BRACE_OPEN, TOS.stage is NONE, []
+parse_cleanup : orig_line is 13, type is SEMICOLON, text() is ';'
+parse_cleanup : frm.stmt_count is 5, frm.expr_count is 5
+parse_cleanup : frm.stmt_count is 6, frm.expr_count is 6
+parse_cleanup : frm.stmt_count is 0, frm.expr_count is 0
+brace_cleanup : orig_line is 13, orig_col is 28, text() is ''
+brace_cleanup : pp_level is 0
+brace_cleanup : orig_line is 14, orig_col is 1, text() is 'unsigned'
+brace_cleanup : pp_level is 0
+parse_cleanup : orig_line is 14, orig_col is 1, type is TYPE, tos is 1, TOS.type is BRACE_OPEN, TOS.stage is NONE, []
+parse_cleanup : orig_line is 14, type is TYPE, text() is 'unsigned'
+parse_cleanup : frm.stmt_count is 0, frm.expr_count is 0
+parse_cleanup : frm.stmt_count is 1, frm.expr_count is 1
+brace_cleanup : orig_line is 14, orig_col is 10, text() is 'long'
+brace_cleanup : pp_level is 0
+parse_cleanup : orig_line is 14, orig_col is 10, type is TYPE, tos is 1, TOS.type is BRACE_OPEN, TOS.stage is NONE, []
+parse_cleanup : orig_line is 14, type is TYPE, text() is 'long'
+parse_cleanup : frm.stmt_count is 1, frm.expr_count is 1
+parse_cleanup : frm.stmt_count is 2, frm.expr_count is 2
+brace_cleanup : orig_line is 14, orig_col is 15, text() is 'nTelIndex'
+brace_cleanup : pp_level is 0
+parse_cleanup : orig_line is 14, orig_col is 15, type is WORD, tos is 1, TOS.type is BRACE_OPEN, TOS.stage is NONE, []
+parse_cleanup : orig_line is 14, type is WORD, text() is 'nTelIndex'
+parse_cleanup : frm.stmt_count is 2, frm.expr_count is 2
+parse_cleanup : frm.stmt_count is 3, frm.expr_count is 3
+brace_cleanup : orig_line is 14, orig_col is 24, text() is ';'
+brace_cleanup : pp_level is 0
+parse_cleanup : orig_line is 14, orig_col is 24, type is SEMICOLON, tos is 1, TOS.type is BRACE_OPEN, TOS.stage is NONE, []
+parse_cleanup : orig_line is 14, type is SEMICOLON, text() is ';'
+parse_cleanup : frm.stmt_count is 3, frm.expr_count is 3
+parse_cleanup : frm.stmt_count is 4, frm.expr_count is 4
+parse_cleanup : frm.stmt_count is 0, frm.expr_count is 0
+brace_cleanup : orig_line is 14, orig_col is 25, text() is ''
+brace_cleanup : pp_level is 0
+brace_cleanup : orig_line is 15, orig_col is 1, text() is '}'
+brace_cleanup : pp_level is 0
+parse_cleanup : orig_line is 15, orig_col is 1, type is BRACE_CLOSE, tos is 1, TOS.type is BRACE_OPEN, TOS.stage is NONE, []
+parse_cleanup : orig_line is 15, type is BRACE_CLOSE, text() is '}'
+parse_cleanup : frm.stmt_count is 0, frm.expr_count is 0
+parse_cleanup : frm.stmt_count is 1, frm.expr_count is 1
+parse_cleanup : frm.stmt_count is 0, frm.expr_count is 0
+brace_cleanup : orig_line is 15, orig_col is 2, text() is ';'
+brace_cleanup : pp_level is 0
+parse_cleanup : orig_line is 15, orig_col is 2, type is SEMICOLON, tos is 0, TOS.type is EOF, TOS.stage is NONE, []
+parse_cleanup : orig_line is 15, type is SEMICOLON, text() is ';'
+parse_cleanup : frm.stmt_count is 0, frm.expr_count is 0
+parse_cleanup : frm.stmt_count is 1, frm.expr_count is 1
+parse_cleanup : frm.stmt_count is 0, frm.expr_count is 0
+brace_cleanup : orig_line is 15, orig_col is 3, text() is ''
+brace_cleanup : pp_level is 0
+parameter_pack_cleanup : orig_line is 1, orig_col is 1, text() is 'struct'
+parameter_pack_cleanup : orig_line is 1, orig_col is 8, text() is 'TelegramIndex'
+parameter_pack_cleanup : orig_line is 1, orig_col is 21, text() is ''
+parameter_pack_cleanup : orig_line is 2, orig_col is 1, text() is '{'
+parameter_pack_cleanup : orig_line is 2, orig_col is 2, text() is ''
+parameter_pack_cleanup : orig_line is 3, orig_col is 1, text() is 'TelegramIndex'
+parameter_pack_cleanup : orig_line is 3, orig_col is 14, text() is '('
+parameter_pack_cleanup : orig_line is 3, orig_col is 15, text() is 'const'
+parameter_pack_cleanup : orig_line is 3, orig_col is 21, text() is 'char'
+parameter_pack_cleanup : orig_line is 3, orig_col is 25, text() is '*'
+parameter_pack_cleanup : orig_line is 3, orig_col is 27, text() is 'pN'
+parameter_pack_cleanup : orig_line is 3, orig_col is 29, text() is ','
+parameter_pack_cleanup : orig_line is 3, orig_col is 31, text() is 'unsigned'
+parameter_pack_cleanup : orig_line is 3, orig_col is 40, text() is 'long'
+parameter_pack_cleanup : orig_line is 3, orig_col is 45, text() is 'nI'
+parameter_pack_cleanup : orig_line is 3, orig_col is 47, text() is ')'
+parameter_pack_cleanup : orig_line is 3, orig_col is 49, text() is ':'
+parameter_pack_cleanup : orig_line is 3, orig_col is 50, text() is ''
+parameter_pack_cleanup : orig_line is 4, orig_col is 1, text() is 'pTelName'
+parameter_pack_cleanup : orig_line is 4, orig_col is 9, text() is '('
+parameter_pack_cleanup : orig_line is 4, orig_col is 10, text() is 'pN'
+parameter_pack_cleanup : orig_line is 4, orig_col is 12, text() is ')'
+parameter_pack_cleanup : orig_line is 4, orig_col is 13, text() is ','
+parameter_pack_cleanup : orig_line is 4, orig_col is 14, text() is ''
+parameter_pack_cleanup : orig_line is 5, orig_col is 1, text() is 'nTelIndex'
+parameter_pack_cleanup : orig_line is 5, orig_col is 10, text() is '('
+parameter_pack_cleanup : orig_line is 5, orig_col is 11, text() is 'n'
+parameter_pack_cleanup : orig_line is 5, orig_col is 12, text() is ')'
+parameter_pack_cleanup : orig_line is 5, orig_col is 13, text() is ''
+parameter_pack_cleanup : orig_line is 6, orig_col is 1, text() is '{'
+parameter_pack_cleanup : orig_line is 6, orig_col is 2, text() is ''
+parameter_pack_cleanup : orig_line is 7, orig_col is 1, text() is '}'
+parameter_pack_cleanup : orig_line is 7, orig_col is 2, text() is ''
+parameter_pack_cleanup : orig_line is 9, orig_col is 1, text() is '~'
+parameter_pack_cleanup : orig_line is 9, orig_col is 2, text() is 'TelegramIndex'
+parameter_pack_cleanup : orig_line is 9, orig_col is 15, text() is '('
+parameter_pack_cleanup : orig_line is 9, orig_col is 16, text() is ')'
+parameter_pack_cleanup : orig_line is 9, orig_col is 17, text() is ''
+parameter_pack_cleanup : orig_line is 10, orig_col is 1, text() is '{'
+parameter_pack_cleanup : orig_line is 10, orig_col is 2, text() is ''
+parameter_pack_cleanup : orig_line is 11, orig_col is 1, text() is '}'
+parameter_pack_cleanup : orig_line is 11, orig_col is 2, text() is ''
+parameter_pack_cleanup : orig_line is 13, orig_col is 1, text() is 'const'
+parameter_pack_cleanup : orig_line is 13, orig_col is 7, text() is 'char'
+parameter_pack_cleanup : orig_line is 13, orig_col is 11, text() is '*'
+parameter_pack_cleanup : orig_line is 13, orig_col is 13, text() is 'const'
+parameter_pack_cleanup : orig_line is 13, orig_col is 19, text() is 'pTelName'
+parameter_pack_cleanup : orig_line is 13, orig_col is 27, text() is ';'
+parameter_pack_cleanup : orig_line is 13, orig_col is 28, text() is ''
+parameter_pack_cleanup : orig_line is 14, orig_col is 1, text() is 'unsigned'
+parameter_pack_cleanup : orig_line is 14, orig_col is 10, text() is 'long'
+parameter_pack_cleanup : orig_line is 14, orig_col is 15, text() is 'nTelIndex'
+parameter_pack_cleanup : orig_line is 14, orig_col is 24, text() is ';'
+parameter_pack_cleanup : orig_line is 14, orig_col is 25, text() is ''
+parameter_pack_cleanup : orig_line is 15, orig_col is 1, text() is '}'
+parameter_pack_cleanup : orig_line is 15, orig_col is 2, text() is ';'
+parameter_pack_cleanup : orig_line is 15, orig_col is 3, text() is ''
+log_rule(enum_cleanup : rule is 'mod_enum_last_comma'
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/31.txt b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/31.txt
new file mode 100644
index 00000000..a890e117
--- /dev/null
+++ b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/31.txt
@@ -0,0 +1,600 @@
+indent_text : orig_line is 1, orig_col is 1, column is 1, for 'struct'
+ []
+indent_text : frm.pse_tos is 0, ...indent_tmp is 1
+indent_text : frm.pse_tos is 0, ...indent_tmp is 1
+reindent_line : orig_line is 1, orig_col is 1, on 'struct' [STRUCT/NONE] => 1
+ [CallStack]
+indent_text : orig_line is 1, orig_col is 8, column is 8, for 'TelegramIndex'
+ []
+indent_text : frm.pse_tos is 0, ...indent_tmp is 1
+indent_text : frm.pse_tos is 0, ...indent_tmp is 1
+indent_text : orig_line is 1, <Newline>
+indent_text : frm.pse_tos is 0, ...indent_tmp is 1
+indent_text : frm.pse_tos is 0, ...indent_tmp is 1
+indent_text : frm.pse_tos is 0, ...indent is 1
+indent_text : frm.pse_tos is 0, ...indent_tmp is 1
+indent_text : orig_line is 2, orig_col is 1, column is 1, for '{'
+ []
+indent_text : frm.pse_tos is 0, ...indent_tmp is 1
+indent_text : frm.pse_tos is 0, ...indent_tmp is 1
+indent_text : frm.pse_tos is 1, ... indent is 9
+indent_text : orig_line is 2, orig_col is 1, text() is '{', parent_type is STRUCT
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+reindent_line : orig_line is 2, orig_col is 1, on '{' [BRACE_OPEN/STRUCT] => 1
+ [CallStack]
+indent_text : orig_line is 2, <Newline>
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : frm.pse_tos is 1, ...indent is 9
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : orig_line is 3, orig_col is 1, column is 1, for 'TelegramIndex'
+ []
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+reindent_line : orig_line is 3, orig_col is 1, on 'TelegramIndex' [FUNC_CLASS_DEF/NONE] => 9
+ [CallStack]
+indent_text : orig_line is 3, orig_col is 14, column is 22, for '('
+ []
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : frm.pse_tos is 2, ...indent is 23
+indent_text : frm.pse_tos is 2, ...indent is 23
+indent_text : frm.pse_tos is 2, ...indent_tmp is 23
+indent_text : orig_line is 3, orig_col is 15, column is 23, for 'const'
+ []
+indent_text : frm.pse_tos is 2, ...indent_tmp is 23
+indent_text : frm.pse_tos is 2, ...indent_tmp is 23
+indent_text : orig_line is 3, orig_col is 21, column is 29, for 'char'
+ []
+indent_text : frm.pse_tos is 2, ...indent_tmp is 23
+indent_text : frm.pse_tos is 2, ...indent_tmp is 23
+indent_text : orig_line is 3, orig_col is 25, column is 33, for '*'
+ []
+indent_text : frm.pse_tos is 2, ...indent_tmp is 23
+indent_text : frm.pse_tos is 2, ...indent_tmp is 23
+indent_text : orig_line is 3, orig_col is 27, column is 35, for 'pN'
+ []
+indent_text : frm.pse_tos is 2, ...indent_tmp is 23
+indent_text : frm.pse_tos is 2, ...indent_tmp is 23
+indent_text : orig_line is 3, orig_col is 29, column is 37, for ','
+ []
+indent_text : frm.pse_tos is 2, ...indent_tmp is 23
+indent_text : frm.pse_tos is 2, ...indent_tmp is 23
+indent_text : orig_line is 3, orig_col is 31, column is 39, for 'unsigned'
+ []
+indent_text : frm.pse_tos is 2, ...indent_tmp is 23
+indent_text : frm.pse_tos is 2, ...indent_tmp is 23
+indent_text : orig_line is 3, orig_col is 40, column is 48, for 'long'
+ []
+indent_text : frm.pse_tos is 2, ...indent_tmp is 23
+indent_text : frm.pse_tos is 2, ...indent_tmp is 23
+indent_text : orig_line is 3, orig_col is 45, column is 53, for 'nI'
+ []
+indent_text : frm.pse_tos is 2, ...indent_tmp is 23
+indent_text : frm.pse_tos is 2, ...indent_tmp is 23
+indent_text : orig_line is 3, orig_col is 47, column is 55, for ')'
+ []
+indent_text : frm.pse_tos is 2, ...indent_tmp is 23
+indent_text : pc->orig_line is 3, orig_col is 47, text() is ')', type is FPAREN_CLOSE
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : orig_line is 3, orig_col is 49, column is 57, for ':'
+ []
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : frm.pse_tos is 2, ...indent is 17
+indent_text : frm.pse_tos is 2, ...indent_tmp is 17
+indent_text : orig_line is 3, <Newline>
+indent_text : frm.pse_tos is 2, ...indent_tmp is 17
+indent_text : frm.pse_tos is 2, ...indent_tmp is 17
+indent_text : frm.pse_tos is 2, ...indent is 17
+indent_text : frm.pse_tos is 2, ...indent_tmp is 17
+indent_text : orig_line is 4, orig_col is 1, column is 1, for 'pTelName'
+ []
+indent_text : frm.pse_tos is 2, ...indent_tmp is 17
+indent_text : frm.pse_tos is 2, ...indent_tmp is 17
+reindent_line : orig_line is 4, orig_col is 1, on 'pTelName' [FUNC_CTOR_VAR/NONE] => 17
+ [CallStack]
+indent_text : orig_line is 4, orig_col is 9, column is 25, for '('
+ []
+indent_text : frm.pse_tos is 2, ...indent_tmp is 17
+indent_text : frm.pse_tos is 2, ...indent_tmp is 17
+indent_text : frm.pse_tos is 3, ...indent is 26
+indent_text : frm.pse_tos is 3, ...indent is 26
+indent_text : frm.pse_tos is 3, ...indent_tmp is 26
+indent_text : orig_line is 4, orig_col is 10, column is 26, for 'pN'
+ []
+indent_text : frm.pse_tos is 3, ...indent_tmp is 26
+indent_text : frm.pse_tos is 3, ...indent_tmp is 26
+indent_text : orig_line is 4, orig_col is 12, column is 28, for ')'
+ []
+indent_text : frm.pse_tos is 3, ...indent_tmp is 26
+indent_text : pc->orig_line is 4, orig_col is 12, text() is ')', type is FPAREN_CLOSE
+indent_text : frm.pse_tos is 2, ...indent_tmp is 17
+indent_text : orig_line is 4, orig_col is 13, column is 29, for ','
+ []
+indent_text : frm.pse_tos is 2, ...indent_tmp is 17
+indent_text : frm.pse_tos is 2, ...indent_tmp is 17
+indent_text : orig_line is 4, <Newline>
+indent_text : frm.pse_tos is 2, ...indent_tmp is 17
+indent_text : frm.pse_tos is 2, ...indent_tmp is 17
+indent_text : frm.pse_tos is 2, ...indent is 17
+indent_text : frm.pse_tos is 2, ...indent_tmp is 17
+indent_text : orig_line is 5, orig_col is 1, column is 1, for 'nTelIndex'
+ []
+indent_text : frm.pse_tos is 2, ...indent_tmp is 17
+indent_text : frm.pse_tos is 2, ...indent_tmp is 17
+reindent_line : orig_line is 5, orig_col is 1, on 'nTelIndex' [FUNC_CTOR_VAR/NONE] => 17
+ [CallStack]
+indent_text : orig_line is 5, orig_col is 10, column is 26, for '('
+ []
+indent_text : frm.pse_tos is 2, ...indent_tmp is 17
+indent_text : frm.pse_tos is 2, ...indent_tmp is 17
+indent_text : frm.pse_tos is 3, ...indent is 27
+indent_text : frm.pse_tos is 3, ...indent is 27
+indent_text : frm.pse_tos is 3, ...indent_tmp is 27
+indent_text : orig_line is 5, orig_col is 11, column is 27, for 'n'
+ []
+indent_text : frm.pse_tos is 3, ...indent_tmp is 27
+indent_text : frm.pse_tos is 3, ...indent_tmp is 27
+indent_text : orig_line is 5, orig_col is 12, column is 28, for ')'
+ []
+indent_text : frm.pse_tos is 3, ...indent_tmp is 27
+indent_text : pc->orig_line is 5, orig_col is 12, text() is ')', type is FPAREN_CLOSE
+indent_text : frm.pse_tos is 2, ...indent_tmp is 17
+indent_text : orig_line is 5, <Newline>
+indent_text : frm.pse_tos is 2, ...indent_tmp is 17
+indent_text : frm.pse_tos is 2, ...indent_tmp is 17
+indent_text : frm.pse_tos is 2, ...indent is 17
+indent_text : frm.pse_tos is 2, ...indent_tmp is 17
+indent_text : orig_line is 6, orig_col is 1, column is 1, for '{'
+ []
+indent_text : frm.pse_tos is 2, ...indent_tmp is 17
+indent_text : pc->orig_line is 6, orig_col is 1, text() is '{', type is BRACE_OPEN
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : frm.pse_tos is 2, ... indent is 17
+indent_text : orig_line is 6, orig_col is 1, text() is '{', parent_type is FUNC_CLASS_DEF
+indent_text : frm.pse_tos is 2, ...indent_tmp is 17
+reindent_line : orig_line is 6, orig_col is 1, on '{' [BRACE_OPEN/FUNC_CLASS_DEF] => 9
+ [CallStack]
+indent_text : orig_line is 6, <Newline>
+indent_text : frm.pse_tos is 2, ...indent_tmp is 17
+indent_text : frm.pse_tos is 2, ...indent_tmp is 17
+indent_text : frm.pse_tos is 2, ...indent is 17
+indent_text : frm.pse_tos is 2, ...indent_tmp is 17
+indent_text : orig_line is 7, orig_col is 1, column is 1, for '}'
+ []
+indent_text : frm.pse_tos is 2, ...indent_tmp is 17
+indent_text : frm.pse_tos is 2, ...indent_tmp is 17
+indent_text : pc->orig_line is 7, orig_col is 1, text() is '}', type is BRACE_CLOSE
+reindent_line : orig_line is 7, orig_col is 1, on '}' [BRACE_CLOSE/FUNC_CLASS_DEF] => 9
+ [CallStack]
+indent_text : orig_line is 7, <Newline>
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : frm.pse_tos is 1, ...indent is 9
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : orig_line is 9, orig_col is 1, column is 1, for '~'
+ []
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+reindent_line : orig_line is 9, orig_col is 1, on '~' [DESTRUCTOR/FUNC_CLASS_DEF] => 9
+ [CallStack]
+indent_text : orig_line is 9, orig_col is 2, column is 10, for 'TelegramIndex'
+ []
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : orig_line is 9, orig_col is 15, column is 23, for '('
+ []
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : frm.pse_tos is 2, ...indent is 24
+indent_text : frm.pse_tos is 2, ...indent is 24
+indent_text : frm.pse_tos is 2, ...indent_tmp is 24
+indent_text : orig_line is 9, orig_col is 16, column is 24, for ')'
+ []
+indent_text : frm.pse_tos is 2, ...indent_tmp is 24
+indent_text : pc->orig_line is 9, orig_col is 16, text() is ')', type is FPAREN_CLOSE
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : orig_line is 9, <Newline>
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : frm.pse_tos is 1, ...indent is 9
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : orig_line is 10, orig_col is 1, column is 1, for '{'
+ []
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : frm.pse_tos is 2, ... indent is 17
+indent_text : orig_line is 10, orig_col is 1, text() is '{', parent_type is FUNC_CLASS_DEF
+indent_text : frm.pse_tos is 2, ...indent_tmp is 17
+reindent_line : orig_line is 10, orig_col is 1, on '{' [BRACE_OPEN/FUNC_CLASS_DEF] => 9
+ [CallStack]
+indent_text : orig_line is 10, <Newline>
+indent_text : frm.pse_tos is 2, ...indent_tmp is 17
+indent_text : frm.pse_tos is 2, ...indent_tmp is 17
+indent_text : frm.pse_tos is 2, ...indent is 17
+indent_text : frm.pse_tos is 2, ...indent_tmp is 17
+indent_text : orig_line is 11, orig_col is 1, column is 1, for '}'
+ []
+indent_text : frm.pse_tos is 2, ...indent_tmp is 17
+indent_text : frm.pse_tos is 2, ...indent_tmp is 17
+indent_text : pc->orig_line is 11, orig_col is 1, text() is '}', type is BRACE_CLOSE
+reindent_line : orig_line is 11, orig_col is 1, on '}' [BRACE_CLOSE/FUNC_CLASS_DEF] => 9
+ [CallStack]
+indent_text : orig_line is 11, <Newline>
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : frm.pse_tos is 1, ...indent is 9
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : orig_line is 13, orig_col is 1, column is 1, for 'const'
+ []
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+reindent_line : orig_line is 13, orig_col is 1, on 'const' [QUALIFIER/NONE] => 9
+ [CallStack]
+indent_text : orig_line is 13, orig_col is 7, column is 15, for 'char'
+ []
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : orig_line is 13, orig_col is 11, column is 19, for '*'
+ []
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : orig_line is 13, orig_col is 13, column is 21, for 'const'
+ []
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : orig_line is 13, orig_col is 19, column is 27, for 'pTelName'
+ []
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : orig_line is 13, orig_col is 27, column is 35, for ';'
+ []
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : orig_line is 13, <Newline>
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : frm.pse_tos is 1, ...indent is 9
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : orig_line is 14, orig_col is 1, column is 1, for 'unsigned'
+ []
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+reindent_line : orig_line is 14, orig_col is 1, on 'unsigned' [TYPE/NONE] => 9
+ [CallStack]
+indent_text : orig_line is 14, orig_col is 10, column is 18, for 'long'
+ []
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : orig_line is 14, orig_col is 15, column is 23, for 'nTelIndex'
+ []
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : orig_line is 14, orig_col is 24, column is 32, for ';'
+ []
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : orig_line is 14, <Newline>
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : frm.pse_tos is 1, ...indent is 9
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : orig_line is 15, orig_col is 1, column is 1, for '}'
+ []
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : pc->orig_line is 15, orig_col is 1, text() is '}', type is BRACE_CLOSE
+reindent_line : orig_line is 15, orig_col is 1, on '}' [BRACE_CLOSE/STRUCT] => 1
+ [CallStack]
+indent_text : orig_line is 15, orig_col is 2, column is 2, for ';'
+ []
+indent_text : frm.pse_tos is 0, ...indent_tmp is 1
+indent_text : frm.pse_tos is 0, ...indent_tmp is 1
+indent_text : orig_line is 15, <Newline>
+indent_text : frm.pse_tos is 0, ...indent_tmp is 1
+indent_text : frm.pse_tos is 0, ...indent_tmp is 1
+indent_text : frm.pse_tos is 0, ...indent is 1
+indent_text : frm.pse_tos is 0, ...indent_tmp is 1
+indent_text : before quick_align_again
+indent_text : after quick_align_again
+indent_text : orig_line is 1, orig_col is 1, column is 1, for 'struct'
+ []
+indent_text : frm.pse_tos is 0, ...indent_tmp is 1
+indent_text : frm.pse_tos is 0, ...indent_tmp is 1
+reindent_line : orig_line is 1, orig_col is 1, on 'struct' [STRUCT/NONE] => 1
+ [CallStack]
+indent_text : orig_line is 1, orig_col is 8, column is 8, for 'TelegramIndex'
+ []
+indent_text : frm.pse_tos is 0, ...indent_tmp is 1
+indent_text : frm.pse_tos is 0, ...indent_tmp is 1
+indent_text : orig_line is 1, <Newline>
+indent_text : frm.pse_tos is 0, ...indent_tmp is 1
+indent_text : frm.pse_tos is 0, ...indent_tmp is 1
+indent_text : frm.pse_tos is 0, ...indent is 1
+indent_text : frm.pse_tos is 0, ...indent_tmp is 1
+indent_text : orig_line is 2, orig_col is 1, column is 1, for '{'
+ []
+indent_text : frm.pse_tos is 0, ...indent_tmp is 1
+indent_text : frm.pse_tos is 0, ...indent_tmp is 1
+indent_text : frm.pse_tos is 1, ... indent is 9
+indent_text : orig_line is 2, orig_col is 1, text() is '{', parent_type is STRUCT
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+reindent_line : orig_line is 2, orig_col is 1, on '{' [BRACE_OPEN/STRUCT] => 1
+ [CallStack]
+indent_text : orig_line is 2, <Newline>
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : frm.pse_tos is 1, ...indent is 9
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : orig_line is 3, orig_col is 1, column is 9, for 'TelegramIndex'
+ []
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+reindent_line : orig_line is 3, orig_col is 1, on 'TelegramIndex' [FUNC_CLASS_DEF/NONE] => 9
+ [CallStack]
+indent_text : orig_line is 3, orig_col is 14, column is 22, for '('
+ []
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : frm.pse_tos is 2, ...indent is 23
+indent_text : frm.pse_tos is 2, ...indent is 23
+indent_text : frm.pse_tos is 2, ...indent_tmp is 23
+indent_text : orig_line is 3, orig_col is 15, column is 23, for 'const'
+ []
+indent_text : frm.pse_tos is 2, ...indent_tmp is 23
+indent_text : frm.pse_tos is 2, ...indent_tmp is 23
+indent_text : orig_line is 3, orig_col is 21, column is 29, for 'char'
+ []
+indent_text : frm.pse_tos is 2, ...indent_tmp is 23
+indent_text : frm.pse_tos is 2, ...indent_tmp is 23
+indent_text : orig_line is 3, orig_col is 25, column is 33, for '*'
+ []
+indent_text : frm.pse_tos is 2, ...indent_tmp is 23
+indent_text : frm.pse_tos is 2, ...indent_tmp is 23
+indent_text : orig_line is 3, orig_col is 27, column is 35, for 'pN'
+ []
+indent_text : frm.pse_tos is 2, ...indent_tmp is 23
+indent_text : frm.pse_tos is 2, ...indent_tmp is 23
+indent_text : orig_line is 3, orig_col is 29, column is 37, for ','
+ []
+indent_text : frm.pse_tos is 2, ...indent_tmp is 23
+indent_text : frm.pse_tos is 2, ...indent_tmp is 23
+indent_text : orig_line is 3, orig_col is 31, column is 39, for 'unsigned'
+ []
+indent_text : frm.pse_tos is 2, ...indent_tmp is 23
+indent_text : frm.pse_tos is 2, ...indent_tmp is 23
+indent_text : orig_line is 3, orig_col is 40, column is 48, for 'long'
+ []
+indent_text : frm.pse_tos is 2, ...indent_tmp is 23
+indent_text : frm.pse_tos is 2, ...indent_tmp is 23
+indent_text : orig_line is 3, orig_col is 45, column is 53, for 'nI'
+ []
+indent_text : frm.pse_tos is 2, ...indent_tmp is 23
+indent_text : frm.pse_tos is 2, ...indent_tmp is 23
+indent_text : orig_line is 3, orig_col is 47, column is 55, for ')'
+ []
+indent_text : frm.pse_tos is 2, ...indent_tmp is 23
+indent_text : pc->orig_line is 3, orig_col is 47, text() is ')', type is FPAREN_CLOSE
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : orig_line is 3, orig_col is 49, column is 57, for ':'
+ []
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : frm.pse_tos is 2, ...indent is 17
+indent_text : frm.pse_tos is 2, ...indent_tmp is 17
+indent_text : orig_line is 3, <Newline>
+indent_text : frm.pse_tos is 2, ...indent_tmp is 17
+indent_text : frm.pse_tos is 2, ...indent_tmp is 17
+indent_text : frm.pse_tos is 2, ...indent is 17
+indent_text : frm.pse_tos is 2, ...indent_tmp is 17
+indent_text : orig_line is 4, orig_col is 1, column is 17, for 'pTelName'
+ []
+indent_text : frm.pse_tos is 2, ...indent_tmp is 17
+indent_text : frm.pse_tos is 2, ...indent_tmp is 17
+reindent_line : orig_line is 4, orig_col is 1, on 'pTelName' [FUNC_CTOR_VAR/NONE] => 17
+ [CallStack]
+indent_text : orig_line is 4, orig_col is 9, column is 25, for '('
+ []
+indent_text : frm.pse_tos is 2, ...indent_tmp is 17
+indent_text : frm.pse_tos is 2, ...indent_tmp is 17
+indent_text : frm.pse_tos is 3, ...indent is 26
+indent_text : frm.pse_tos is 3, ...indent is 26
+indent_text : frm.pse_tos is 3, ...indent_tmp is 26
+indent_text : orig_line is 4, orig_col is 10, column is 26, for 'pN'
+ []
+indent_text : frm.pse_tos is 3, ...indent_tmp is 26
+indent_text : frm.pse_tos is 3, ...indent_tmp is 26
+indent_text : orig_line is 4, orig_col is 12, column is 28, for ')'
+ []
+indent_text : frm.pse_tos is 3, ...indent_tmp is 26
+indent_text : pc->orig_line is 4, orig_col is 12, text() is ')', type is FPAREN_CLOSE
+indent_text : frm.pse_tos is 2, ...indent_tmp is 17
+indent_text : orig_line is 4, orig_col is 13, column is 29, for ','
+ []
+indent_text : frm.pse_tos is 2, ...indent_tmp is 17
+indent_text : frm.pse_tos is 2, ...indent_tmp is 17
+indent_text : orig_line is 4, <Newline>
+indent_text : frm.pse_tos is 2, ...indent_tmp is 17
+indent_text : frm.pse_tos is 2, ...indent_tmp is 17
+indent_text : frm.pse_tos is 2, ...indent is 17
+indent_text : frm.pse_tos is 2, ...indent_tmp is 17
+indent_text : orig_line is 5, orig_col is 1, column is 17, for 'nTelIndex'
+ []
+indent_text : frm.pse_tos is 2, ...indent_tmp is 17
+indent_text : frm.pse_tos is 2, ...indent_tmp is 17
+reindent_line : orig_line is 5, orig_col is 1, on 'nTelIndex' [FUNC_CTOR_VAR/NONE] => 17
+ [CallStack]
+indent_text : orig_line is 5, orig_col is 10, column is 26, for '('
+ []
+indent_text : frm.pse_tos is 2, ...indent_tmp is 17
+indent_text : frm.pse_tos is 2, ...indent_tmp is 17
+indent_text : frm.pse_tos is 3, ...indent is 27
+indent_text : frm.pse_tos is 3, ...indent is 27
+indent_text : frm.pse_tos is 3, ...indent_tmp is 27
+indent_text : orig_line is 5, orig_col is 11, column is 27, for 'n'
+ []
+indent_text : frm.pse_tos is 3, ...indent_tmp is 27
+indent_text : frm.pse_tos is 3, ...indent_tmp is 27
+indent_text : orig_line is 5, orig_col is 12, column is 28, for ')'
+ []
+indent_text : frm.pse_tos is 3, ...indent_tmp is 27
+indent_text : pc->orig_line is 5, orig_col is 12, text() is ')', type is FPAREN_CLOSE
+indent_text : frm.pse_tos is 2, ...indent_tmp is 17
+indent_text : orig_line is 5, <Newline>
+indent_text : frm.pse_tos is 2, ...indent_tmp is 17
+indent_text : frm.pse_tos is 2, ...indent_tmp is 17
+indent_text : frm.pse_tos is 2, ...indent is 17
+indent_text : frm.pse_tos is 2, ...indent_tmp is 17
+indent_text : orig_line is 6, orig_col is 1, column is 9, for '{'
+ []
+indent_text : frm.pse_tos is 2, ...indent_tmp is 17
+indent_text : pc->orig_line is 6, orig_col is 1, text() is '{', type is BRACE_OPEN
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : frm.pse_tos is 2, ... indent is 17
+indent_text : orig_line is 6, orig_col is 1, text() is '{', parent_type is FUNC_CLASS_DEF
+indent_text : frm.pse_tos is 2, ...indent_tmp is 17
+reindent_line : orig_line is 6, orig_col is 1, on '{' [BRACE_OPEN/FUNC_CLASS_DEF] => 9
+ [CallStack]
+indent_text : orig_line is 6, <Newline>
+indent_text : frm.pse_tos is 2, ...indent_tmp is 17
+indent_text : frm.pse_tos is 2, ...indent_tmp is 17
+indent_text : frm.pse_tos is 2, ...indent is 17
+indent_text : frm.pse_tos is 2, ...indent_tmp is 17
+indent_text : orig_line is 7, orig_col is 1, column is 9, for '}'
+ []
+indent_text : frm.pse_tos is 2, ...indent_tmp is 17
+indent_text : frm.pse_tos is 2, ...indent_tmp is 17
+indent_text : pc->orig_line is 7, orig_col is 1, text() is '}', type is BRACE_CLOSE
+reindent_line : orig_line is 7, orig_col is 1, on '}' [BRACE_CLOSE/FUNC_CLASS_DEF] => 9
+ [CallStack]
+indent_text : orig_line is 7, <Newline>
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : frm.pse_tos is 1, ...indent is 9
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : orig_line is 9, orig_col is 1, column is 9, for '~'
+ []
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+reindent_line : orig_line is 9, orig_col is 1, on '~' [DESTRUCTOR/FUNC_CLASS_DEF] => 9
+ [CallStack]
+indent_text : orig_line is 9, orig_col is 2, column is 10, for 'TelegramIndex'
+ []
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : orig_line is 9, orig_col is 15, column is 23, for '('
+ []
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : frm.pse_tos is 2, ...indent is 24
+indent_text : frm.pse_tos is 2, ...indent is 24
+indent_text : frm.pse_tos is 2, ...indent_tmp is 24
+indent_text : orig_line is 9, orig_col is 16, column is 24, for ')'
+ []
+indent_text : frm.pse_tos is 2, ...indent_tmp is 24
+indent_text : pc->orig_line is 9, orig_col is 16, text() is ')', type is FPAREN_CLOSE
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : orig_line is 9, <Newline>
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : frm.pse_tos is 1, ...indent is 9
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : orig_line is 10, orig_col is 1, column is 9, for '{'
+ []
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : frm.pse_tos is 2, ... indent is 17
+indent_text : orig_line is 10, orig_col is 1, text() is '{', parent_type is FUNC_CLASS_DEF
+indent_text : frm.pse_tos is 2, ...indent_tmp is 17
+reindent_line : orig_line is 10, orig_col is 1, on '{' [BRACE_OPEN/FUNC_CLASS_DEF] => 9
+ [CallStack]
+indent_text : orig_line is 10, <Newline>
+indent_text : frm.pse_tos is 2, ...indent_tmp is 17
+indent_text : frm.pse_tos is 2, ...indent_tmp is 17
+indent_text : frm.pse_tos is 2, ...indent is 17
+indent_text : frm.pse_tos is 2, ...indent_tmp is 17
+indent_text : orig_line is 11, orig_col is 1, column is 9, for '}'
+ []
+indent_text : frm.pse_tos is 2, ...indent_tmp is 17
+indent_text : frm.pse_tos is 2, ...indent_tmp is 17
+indent_text : pc->orig_line is 11, orig_col is 1, text() is '}', type is BRACE_CLOSE
+reindent_line : orig_line is 11, orig_col is 1, on '}' [BRACE_CLOSE/FUNC_CLASS_DEF] => 9
+ [CallStack]
+indent_text : orig_line is 11, <Newline>
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : frm.pse_tos is 1, ...indent is 9
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : orig_line is 13, orig_col is 1, column is 9, for 'const'
+ []
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+reindent_line : orig_line is 13, orig_col is 1, on 'const' [QUALIFIER/NONE] => 9
+ [CallStack]
+indent_text : orig_line is 13, orig_col is 7, column is 15, for 'char'
+ []
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : orig_line is 13, orig_col is 11, column is 19, for '*'
+ []
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : orig_line is 13, orig_col is 13, column is 21, for 'const'
+ []
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : orig_line is 13, orig_col is 19, column is 27, for 'pTelName'
+ []
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : orig_line is 13, orig_col is 27, column is 35, for ';'
+ []
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : orig_line is 13, <Newline>
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : frm.pse_tos is 1, ...indent is 9
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : orig_line is 14, orig_col is 1, column is 9, for 'unsigned'
+ []
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+reindent_line : orig_line is 14, orig_col is 1, on 'unsigned' [TYPE/NONE] => 9
+ [CallStack]
+indent_text : orig_line is 14, orig_col is 10, column is 18, for 'long'
+ []
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : orig_line is 14, orig_col is 15, column is 23, for 'nTelIndex'
+ []
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : orig_line is 14, orig_col is 24, column is 32, for ';'
+ []
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : orig_line is 14, <Newline>
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : frm.pse_tos is 1, ...indent is 9
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : orig_line is 15, orig_col is 1, column is 1, for '}'
+ []
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : frm.pse_tos is 1, ...indent_tmp is 9
+indent_text : pc->orig_line is 15, orig_col is 1, text() is '}', type is BRACE_CLOSE
+reindent_line : orig_line is 15, orig_col is 1, on '}' [BRACE_CLOSE/STRUCT] => 1
+ [CallStack]
+indent_text : orig_line is 15, orig_col is 2, column is 2, for ';'
+ []
+indent_text : frm.pse_tos is 0, ...indent_tmp is 1
+indent_text : frm.pse_tos is 0, ...indent_tmp is 1
+indent_text : orig_line is 15, <Newline>
+indent_text : frm.pse_tos is 0, ...indent_tmp is 1
+indent_text : frm.pse_tos is 0, ...indent_tmp is 1
+indent_text : frm.pse_tos is 0, ...indent is 1
+indent_text : frm.pse_tos is 0, ...indent_tmp is 1
+indent_text : before quick_align_again
+indent_text : after quick_align_again
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/36.txt b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/36.txt
new file mode 100644
index 00000000..892f5af5
--- /dev/null
+++ b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/36.txt
@@ -0,0 +1,19 @@
+fix_fcn_def_params : text() '(', type is PAREN_OPEN, on orig_line 3, level is 1
+fix_fcn_def_params : looking at, text() 'const' on orig_line 3, level 2
+fix_fcn_def_params : looking at, text() 'char' on orig_line 3, level 2
+fix_fcn_def_params : looking at, text() '*' on orig_line 3, level 2
+fix_fcn_def_params : looking at, text() 'pN' on orig_line 3, level 2
+fix_fcn_def_params : looking at, text() ',' on orig_line 3, level 2
+mark_variable_stack : parameter on orig_line 3, orig_col 27:
+mark_variable_stack : parameter on orig_line 3, orig_col 27: <char> as TYPE
+mark_variable_stack : parameter on orig_line 3, orig_col 27: <pN> as VAR
+fix_fcn_def_params : looking at, text() 'unsigned' on orig_line 3, level 2
+fix_fcn_def_params : looking at, text() 'long' on orig_line 3, level 2
+fix_fcn_def_params : looking at, text() 'nI' on orig_line 3, level 2
+fix_fcn_def_params : bailed on text() ')', on orig_line 3
+mark_variable_stack : parameter on orig_line 3, orig_col 45:
+mark_variable_stack : parameter on orig_line 3, orig_col 45: <long> as TYPE
+mark_variable_stack : parameter on orig_line 3, orig_col 45: <unsigned> as TYPE
+mark_variable_stack : parameter on orig_line 3, orig_col 45: <nI> as VAR
+fix_fcn_def_params : text() '(', type is PAREN_OPEN, on orig_line 9, level is 1
+fix_fcn_def_params : bailed on text() ')', on orig_line 9
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/66.txt b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/66.txt
new file mode 100644
index 00000000..71b7804d
--- /dev/null
+++ b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/66.txt
@@ -0,0 +1,741 @@
+space_text : orig_line is 1, orig_col is 1, 'struct' type is STRUCT
+space_text : back-to-back words need a space: pc->text() 'struct', next->text() 'TelegramIndex'
+space_text : orig_line is 1, orig_col is 1, pc-text() 'struct', type is STRUCT
+do_space : orig_line is 1, orig_col is 1, first->text() 'struct', type is STRUCT
+do_space : first->orig_line is 1, first->orig_col is 1, first->text() is 'struct', [STRUCT/NONE] <===>
+ second->orig_line is 1, second->orig_col is 8, second->text() is 'TelegramIndex', [TYPE/STRUCT] : rule ADD from add_space_table[ ]
+ensure_force_space : <force between 'struct' and 'TelegramIndex'> rule = ADD @ 1 => 8
+space_text : orig_line is 1, orig_col is 8, 'TelegramIndex' type is TYPE
+space_text : orig_line is 1, orig_col is 8, pc-text() 'TelegramIndex', type is TYPE
+do_space : orig_line is 1, orig_col is 8, first->text() 'TelegramIndex', type is TYPE
+ rule = REMOVE @ 0 => 21
+space_text : orig_line is 1, orig_col is 21, <Newline>, nl is 1
+space_text : orig_line is 2, orig_col is 1, '{' type is BRACE_OPEN
+space_text : orig_line is 2, orig_col is 1, pc-text() '{', type is BRACE_OPEN
+do_space : orig_line is 2, orig_col is 1, first->text() '{', type is BRACE_OPEN
+ rule = REMOVE @ 0 => 2
+space_text : orig_line is 2, orig_col is 2, <Newline>, nl is 1
+space_text : orig_line is 3, orig_col is 1, 'TelegramIndex' type is FUNC_CLASS_DEF
+space_text : orig_line is 3, orig_col is 1, pc-text() 'TelegramIndex', type is FUNC_CLASS_DEF
+do_space : orig_line is 3, orig_col is 1, first->text() 'TelegramIndex', type is FUNC_CLASS_DEF
+do_space : first->orig_line is 3, first->orig_col is 1, first->text() is 'TelegramIndex', [FUNC_CLASS_DEF/NONE] <===>
+ second->orig_line is 3, second->orig_col is 14, second->text() is '(', [FPAREN_OPEN/FUNC_CLASS_DEF] : rule sp_func_class_paren[ ]
+ rule = IGNORE @ 0 => 14
+space_text : orig_line is 3, orig_col is 14, '(' type is FPAREN_OPEN
+space_text : orig_line is 3, orig_col is 14, pc-text() '(', type is FPAREN_OPEN
+do_space : orig_line is 3, orig_col is 14, first->text() '(', type is FPAREN_OPEN
+do_space : first->orig_line is 3, first->orig_col is 14, first->text() is '(', [FPAREN_OPEN/FUNC_CLASS_DEF] <===>
+ second->orig_line is 3, second->orig_col is 15, second->text() is 'const', [QUALIFIER/NONE] : rule sp_inside_fparen[ ]
+ rule = IGNORE @ 0 => 15
+space_text : orig_line is 3, orig_col is 15, 'const' type is QUALIFIER
+space_text : back-to-back words need a space: pc->text() 'const', next->text() 'char'
+space_text : orig_line is 3, orig_col is 15, pc-text() 'const', type is QUALIFIER
+do_space : orig_line is 3, orig_col is 15, first->text() 'const', type is QUALIFIER
+do_space : first->orig_line is 3, first->orig_col is 15, first->text() is 'const', [QUALIFIER/NONE] <===>
+ second->orig_line is 3, second->orig_col is 21, second->text() is 'char', [TYPE/NONE] : rule sp_after_type[ ]
+ensure_force_space : <force between 'const' and 'char'> rule = FORCE @ 1 => 21
+space_text : orig_line is 3, orig_col is 21, 'char' type is TYPE
+space_text : orig_line is 3, orig_col is 21, pc-text() 'char', type is TYPE
+do_space : orig_line is 3, orig_col is 21, first->text() 'char', type is TYPE
+do_space : first->orig_line is 3, first->orig_col is 21, first->text() is 'char', [TYPE/NONE] <===>
+ second->orig_line is 3, second->orig_col is 25, second->text() is '*', [PTR_TYPE/NONE] : rule IGNORE[ ]
+ rule = IGNORE @ 0 => 25
+space_text : orig_line is 3, orig_col is 25, '*' type is PTR_TYPE
+space_text : orig_line is 3, orig_col is 25, pc-text() '*', type is PTR_TYPE
+do_space : orig_line is 3, orig_col is 25, first->text() '*', type is PTR_TYPE
+do_space : first->orig_line is 3, first->orig_col is 25, first->text() is '*', [PTR_TYPE/NONE] <===>
+ second->orig_line is 3, second->orig_col is 27, second->text() is 'pN', [WORD/NONE] : rule sp_after_ptr_star[ ]
+ rule = IGNORE @ 1 => 27
+space_text : orig_line is 3, orig_col is 27, 'pN' type is WORD
+space_text : orig_line is 3, orig_col is 27, pc-text() 'pN', type is WORD
+do_space : orig_line is 3, orig_col is 27, first->text() 'pN', type is WORD
+do_space : first->orig_line is 3, first->orig_col is 27, first->text() is 'pN', [WORD/NONE] <===>
+ second->orig_line is 3, second->orig_col is 29, second->text() is ',', [COMMA/NONE] : rule sp_before_comma[ ]
+ rule = REMOVE @ 0 => 29
+space_text : orig_line is 3, orig_col is 29, ',' type is COMMA
+space_text : orig_line is 3, orig_col is 29, pc-text() ',', type is COMMA
+do_space : orig_line is 3, orig_col is 29, first->text() ',', type is COMMA
+do_space : first->orig_line is 3, first->orig_col is 29, first->text() is ',', [COMMA/NONE] <===>
+ second->orig_line is 3, second->orig_col is 31, second->text() is 'unsigned', [TYPE/NONE] : rule sp_after_comma[ ]
+ rule = IGNORE @ 1 => 31
+space_text : orig_line is 3, orig_col is 31, 'unsigned' type is TYPE
+space_text : back-to-back words need a space: pc->text() 'unsigned', next->text() 'long'
+space_text : orig_line is 3, orig_col is 31, pc-text() 'unsigned', type is TYPE
+do_space : orig_line is 3, orig_col is 31, first->text() 'unsigned', type is TYPE
+do_space : first->orig_line is 3, first->orig_col is 31, first->text() is 'unsigned', [TYPE/NONE] <===>
+ second->orig_line is 3, second->orig_col is 40, second->text() is 'long', [TYPE/NONE] : rule sp_after_type[ ]
+ensure_force_space : <force between 'unsigned' and 'long'> rule = FORCE @ 1 => 40
+space_text : orig_line is 3, orig_col is 40, 'long' type is TYPE
+space_text : back-to-back words need a space: pc->text() 'long', next->text() 'nI'
+space_text : orig_line is 3, orig_col is 40, pc-text() 'long', type is TYPE
+do_space : orig_line is 3, orig_col is 40, first->text() 'long', type is TYPE
+do_space : first->orig_line is 3, first->orig_col is 40, first->text() is 'long', [TYPE/NONE] <===>
+ second->orig_line is 3, second->orig_col is 45, second->text() is 'nI', [WORD/NONE] : rule sp_after_type[ ]
+ensure_force_space : <force between 'long' and 'nI'> rule = FORCE @ 1 => 45
+space_text : orig_line is 3, orig_col is 45, 'nI' type is WORD
+space_text : orig_line is 3, orig_col is 45, pc-text() 'nI', type is WORD
+do_space : orig_line is 3, orig_col is 45, first->text() 'nI', type is WORD
+do_space : first->orig_line is 3, first->orig_col is 45, first->text() is 'nI', [WORD/NONE] <===>
+ second->orig_line is 3, second->orig_col is 47, second->text() is ')', [FPAREN_CLOSE/FUNC_CLASS_DEF] : rule sp_inside_fparen[ ]
+ rule = IGNORE @ 0 => 47
+space_text : orig_line is 3, orig_col is 47, ')' type is FPAREN_CLOSE
+space_text : orig_line is 3, orig_col is 47, pc-text() ')', type is FPAREN_CLOSE
+do_space : orig_line is 3, orig_col is 47, first->text() ')', type is FPAREN_CLOSE
+do_space : first->orig_line is 3, first->orig_col is 47, first->text() is ')', [FPAREN_CLOSE/FUNC_CLASS_DEF] <===>
+ second->orig_line is 3, second->orig_col is 49, second->text() is ':', [CONSTR_COLON/NONE] : rule sp_before_constr_colon[ ]
+ rule = ADD @ 1 => 49
+space_text : orig_line is 3, orig_col is 49, ':' type is CONSTR_COLON
+space_text : orig_line is 3, orig_col is 49, pc-text() ':', type is CONSTR_COLON
+do_space : orig_line is 3, orig_col is 49, first->text() ':', type is CONSTR_COLON
+ rule = REMOVE @ 0 => 50
+space_text : orig_line is 3, orig_col is 50, <Newline>, nl is 1
+space_text : orig_line is 4, orig_col is 1, 'pTelName' type is FUNC_CTOR_VAR
+space_text : orig_line is 4, orig_col is 1, pc-text() 'pTelName', type is FUNC_CTOR_VAR
+do_space : orig_line is 4, orig_col is 1, first->text() 'pTelName', type is FUNC_CTOR_VAR
+do_space : first->orig_line is 4, first->orig_col is 1, first->text() is 'pTelName', [FUNC_CTOR_VAR/NONE] <===>
+ second->orig_line is 4, second->orig_col is 9, second->text() is '(', [FPAREN_OPEN/FUNC_CTOR_VAR] : rule sp_func_call_paren[ ]
+ rule = IGNORE @ 0 => 9
+space_text : orig_line is 4, orig_col is 9, '(' type is FPAREN_OPEN
+space_text : orig_line is 4, orig_col is 9, pc-text() '(', type is FPAREN_OPEN
+do_space : orig_line is 4, orig_col is 9, first->text() '(', type is FPAREN_OPEN
+do_space : first->orig_line is 4, first->orig_col is 9, first->text() is '(', [FPAREN_OPEN/FUNC_CTOR_VAR] <===>
+ second->orig_line is 4, second->orig_col is 10, second->text() is 'pN', [WORD/NONE] : rule sp_inside_fparen[ ]
+ rule = IGNORE @ 0 => 10
+space_text : orig_line is 4, orig_col is 10, 'pN' type is WORD
+space_text : orig_line is 4, orig_col is 10, pc-text() 'pN', type is WORD
+do_space : orig_line is 4, orig_col is 10, first->text() 'pN', type is WORD
+do_space : first->orig_line is 4, first->orig_col is 10, first->text() is 'pN', [WORD/NONE] <===>
+ second->orig_line is 4, second->orig_col is 12, second->text() is ')', [FPAREN_CLOSE/FUNC_CTOR_VAR] : rule sp_inside_fparen[ ]
+ rule = IGNORE @ 0 => 12
+space_text : orig_line is 4, orig_col is 12, ')' type is FPAREN_CLOSE
+space_text : orig_line is 4, orig_col is 12, pc-text() ')', type is FPAREN_CLOSE
+do_space : orig_line is 4, orig_col is 12, first->text() ')', type is FPAREN_CLOSE
+do_space : first->orig_line is 4, first->orig_col is 12, first->text() is ')', [FPAREN_CLOSE/FUNC_CTOR_VAR] <===>
+ second->orig_line is 4, second->orig_col is 13, second->text() is ',', [COMMA/NONE] : rule sp_before_comma[ ]
+ rule = REMOVE @ 0 => 13
+space_text : orig_line is 4, orig_col is 13, ',' type is COMMA
+space_text : orig_line is 4, orig_col is 13, pc-text() ',', type is COMMA
+do_space : orig_line is 4, orig_col is 13, first->text() ',', type is COMMA
+ rule = REMOVE @ 0 => 14
+space_text : orig_line is 4, orig_col is 14, <Newline>, nl is 1
+space_text : orig_line is 5, orig_col is 1, 'nTelIndex' type is FUNC_CTOR_VAR
+space_text : orig_line is 5, orig_col is 1, pc-text() 'nTelIndex', type is FUNC_CTOR_VAR
+do_space : orig_line is 5, orig_col is 1, first->text() 'nTelIndex', type is FUNC_CTOR_VAR
+do_space : first->orig_line is 5, first->orig_col is 1, first->text() is 'nTelIndex', [FUNC_CTOR_VAR/NONE] <===>
+ second->orig_line is 5, second->orig_col is 10, second->text() is '(', [FPAREN_OPEN/FUNC_CTOR_VAR] : rule sp_func_call_paren[ ]
+ rule = IGNORE @ 0 => 10
+space_text : orig_line is 5, orig_col is 10, '(' type is FPAREN_OPEN
+space_text : orig_line is 5, orig_col is 10, pc-text() '(', type is FPAREN_OPEN
+do_space : orig_line is 5, orig_col is 10, first->text() '(', type is FPAREN_OPEN
+do_space : first->orig_line is 5, first->orig_col is 10, first->text() is '(', [FPAREN_OPEN/FUNC_CTOR_VAR] <===>
+ second->orig_line is 5, second->orig_col is 11, second->text() is 'n', [WORD/NONE] : rule sp_inside_fparen[ ]
+ rule = IGNORE @ 0 => 11
+space_text : orig_line is 5, orig_col is 11, 'n' type is WORD
+space_text : orig_line is 5, orig_col is 11, pc-text() 'n', type is WORD
+do_space : orig_line is 5, orig_col is 11, first->text() 'n', type is WORD
+do_space : first->orig_line is 5, first->orig_col is 11, first->text() is 'n', [WORD/NONE] <===>
+ second->orig_line is 5, second->orig_col is 12, second->text() is ')', [FPAREN_CLOSE/FUNC_CTOR_VAR] : rule sp_inside_fparen[ ]
+ rule = IGNORE @ 0 => 12
+space_text : orig_line is 5, orig_col is 12, ')' type is FPAREN_CLOSE
+space_text : orig_line is 5, orig_col is 12, pc-text() ')', type is FPAREN_CLOSE
+do_space : orig_line is 5, orig_col is 12, first->text() ')', type is FPAREN_CLOSE
+ rule = REMOVE @ 0 => 13
+space_text : orig_line is 5, orig_col is 13, <Newline>, nl is 1
+space_text : orig_line is 6, orig_col is 1, '{' type is BRACE_OPEN
+space_text : orig_line is 6, orig_col is 1, pc-text() '{', type is BRACE_OPEN
+do_space : orig_line is 6, orig_col is 1, first->text() '{', type is BRACE_OPEN
+ rule = REMOVE @ 0 => 2
+space_text : orig_line is 6, orig_col is 2, <Newline>, nl is 1
+space_text : orig_line is 7, orig_col is 1, '}' type is BRACE_CLOSE
+space_text : orig_line is 7, orig_col is 1, pc-text() '}', type is BRACE_CLOSE
+do_space : orig_line is 7, orig_col is 1, first->text() '}', type is BRACE_CLOSE
+ rule = REMOVE @ 0 => 2
+space_text : orig_line is 7, orig_col is 2, <Newline>, nl is 2
+space_text : orig_line is 9, orig_col is 1, '~' type is DESTRUCTOR
+space_text : orig_line is 9, orig_col is 1, pc-text() '~', type is DESTRUCTOR
+do_space : orig_line is 9, orig_col is 1, first->text() '~', type is DESTRUCTOR
+do_space : first->orig_line is 9, first->orig_col is 1, first->text() is '~', [DESTRUCTOR/FUNC_CLASS_DEF] <===>
+ second->orig_line is 9, second->orig_col is 2, second->text() is 'TelegramIndex', [FUNC_CLASS_DEF/DESTRUCTOR] : rule REMOVE[ ]
+ rule = REMOVE @ 0 => 2
+space_text : orig_line is 9, orig_col is 2, 'TelegramIndex' type is FUNC_CLASS_DEF
+space_text : orig_line is 9, orig_col is 2, pc-text() 'TelegramIndex', type is FUNC_CLASS_DEF
+do_space : orig_line is 9, orig_col is 2, first->text() 'TelegramIndex', type is FUNC_CLASS_DEF
+do_space : first->orig_line is 9, first->orig_col is 2, first->text() is 'TelegramIndex', [FUNC_CLASS_DEF/DESTRUCTOR] <===>
+ second->orig_line is 9, second->orig_col is 15, second->text() is '(', [FPAREN_OPEN/FUNC_CLASS_DEF] : rule sp_func_class_paren[ ]
+ rule = IGNORE @ 0 => 15
+space_text : orig_line is 9, orig_col is 15, '(' type is FPAREN_OPEN
+space_text : orig_line is 9, orig_col is 15, pc-text() '(', type is FPAREN_OPEN
+do_space : orig_line is 9, orig_col is 15, first->text() '(', type is FPAREN_OPEN
+do_space : first->orig_line is 9, first->orig_col is 15, first->text() is '(', [FPAREN_OPEN/FUNC_CLASS_DEF] <===>
+ second->orig_line is 9, second->orig_col is 16, second->text() is ')', [FPAREN_CLOSE/FUNC_CLASS_DEF] : rule sp_inside_fparens[ ]
+ rule = IGNORE @ 0 => 16
+space_text : orig_line is 9, orig_col is 16, ')' type is FPAREN_CLOSE
+space_text : orig_line is 9, orig_col is 16, pc-text() ')', type is FPAREN_CLOSE
+do_space : orig_line is 9, orig_col is 16, first->text() ')', type is FPAREN_CLOSE
+ rule = REMOVE @ 0 => 17
+space_text : orig_line is 9, orig_col is 17, <Newline>, nl is 1
+space_text : orig_line is 10, orig_col is 1, '{' type is BRACE_OPEN
+space_text : orig_line is 10, orig_col is 1, pc-text() '{', type is BRACE_OPEN
+do_space : orig_line is 10, orig_col is 1, first->text() '{', type is BRACE_OPEN
+ rule = REMOVE @ 0 => 2
+space_text : orig_line is 10, orig_col is 2, <Newline>, nl is 1
+space_text : orig_line is 11, orig_col is 1, '}' type is BRACE_CLOSE
+space_text : orig_line is 11, orig_col is 1, pc-text() '}', type is BRACE_CLOSE
+do_space : orig_line is 11, orig_col is 1, first->text() '}', type is BRACE_CLOSE
+ rule = REMOVE @ 0 => 2
+space_text : orig_line is 11, orig_col is 2, <Newline>, nl is 2
+space_text : orig_line is 13, orig_col is 1, 'const' type is QUALIFIER
+space_text : back-to-back words need a space: pc->text() 'const', next->text() 'char'
+space_text : orig_line is 13, orig_col is 1, pc-text() 'const', type is QUALIFIER
+do_space : orig_line is 13, orig_col is 1, first->text() 'const', type is QUALIFIER
+do_space : first->orig_line is 13, first->orig_col is 1, first->text() is 'const', [QUALIFIER/NONE] <===>
+ second->orig_line is 13, second->orig_col is 7, second->text() is 'char', [TYPE/NONE] : rule sp_after_type[ ]
+ensure_force_space : <force between 'const' and 'char'> rule = FORCE @ 1 => 7
+space_text : orig_line is 13, orig_col is 7, 'char' type is TYPE
+space_text : orig_line is 13, orig_col is 7, pc-text() 'char', type is TYPE
+do_space : orig_line is 13, orig_col is 7, first->text() 'char', type is TYPE
+do_space : first->orig_line is 13, first->orig_col is 7, first->text() is 'char', [TYPE/NONE] <===>
+ second->orig_line is 13, second->orig_col is 11, second->text() is '*', [PTR_TYPE/NONE] : rule IGNORE[ ]
+ rule = IGNORE @ 0 => 11
+space_text : orig_line is 13, orig_col is 11, '*' type is PTR_TYPE
+space_text : orig_line is 13, orig_col is 11, pc-text() '*', type is PTR_TYPE
+do_space : orig_line is 13, orig_col is 11, first->text() '*', type is PTR_TYPE
+do_space : first->orig_line is 13, first->orig_col is 11, first->text() is '*', [PTR_TYPE/NONE] <===>
+ second->orig_line is 13, second->orig_col is 13, second->text() is 'const', [QUALIFIER/NONE] : rule sp_after_ptr_star_qualifier[ ]
+ rule = IGNORE @ 1 => 13
+space_text : orig_line is 13, orig_col is 13, 'const' type is QUALIFIER
+space_text : back-to-back words need a space: pc->text() 'const', next->text() 'pTelName'
+space_text : orig_line is 13, orig_col is 13, pc-text() 'const', type is QUALIFIER
+do_space : orig_line is 13, orig_col is 13, first->text() 'const', type is QUALIFIER
+do_space : first->orig_line is 13, first->orig_col is 13, first->text() is 'const', [QUALIFIER/NONE] <===>
+ second->orig_line is 13, second->orig_col is 19, second->text() is 'pTelName', [WORD/NONE] : rule sp_after_type[ ]
+ensure_force_space : <force between 'const' and 'pTelName'> rule = FORCE @ 1 => 19
+space_text : orig_line is 13, orig_col is 19, 'pTelName' type is WORD
+space_text : orig_line is 13, orig_col is 19, pc-text() 'pTelName', type is WORD
+do_space : orig_line is 13, orig_col is 19, first->text() 'pTelName', type is WORD
+do_space : first->orig_line is 13, first->orig_col is 19, first->text() is 'pTelName', [WORD/NONE] <===>
+ second->orig_line is 13, second->orig_col is 27, second->text() is ';', [SEMICOLON/NONE] : rule sp_before_semi[ ]
+ rule = REMOVE @ 0 => 27
+space_text : orig_line is 13, orig_col is 27, ';' type is SEMICOLON
+space_text : orig_line is 13, orig_col is 27, pc-text() ';', type is SEMICOLON
+do_space : orig_line is 13, orig_col is 27, first->text() ';', type is SEMICOLON
+ rule = REMOVE @ 0 => 28
+space_text : orig_line is 13, orig_col is 28, <Newline>, nl is 1
+space_text : orig_line is 14, orig_col is 1, 'unsigned' type is TYPE
+space_text : back-to-back words need a space: pc->text() 'unsigned', next->text() 'long'
+space_text : orig_line is 14, orig_col is 1, pc-text() 'unsigned', type is TYPE
+do_space : orig_line is 14, orig_col is 1, first->text() 'unsigned', type is TYPE
+do_space : first->orig_line is 14, first->orig_col is 1, first->text() is 'unsigned', [TYPE/NONE] <===>
+ second->orig_line is 14, second->orig_col is 10, second->text() is 'long', [TYPE/NONE] : rule sp_after_type[ ]
+ensure_force_space : <force between 'unsigned' and 'long'> rule = FORCE @ 1 => 10
+space_text : orig_line is 14, orig_col is 10, 'long' type is TYPE
+space_text : back-to-back words need a space: pc->text() 'long', next->text() 'nTelIndex'
+space_text : orig_line is 14, orig_col is 10, pc-text() 'long', type is TYPE
+do_space : orig_line is 14, orig_col is 10, first->text() 'long', type is TYPE
+do_space : first->orig_line is 14, first->orig_col is 10, first->text() is 'long', [TYPE/NONE] <===>
+ second->orig_line is 14, second->orig_col is 15, second->text() is 'nTelIndex', [WORD/NONE] : rule sp_after_type[ ]
+ensure_force_space : <force between 'long' and 'nTelIndex'> rule = FORCE @ 1 => 15
+space_text : orig_line is 14, orig_col is 15, 'nTelIndex' type is WORD
+space_text : orig_line is 14, orig_col is 15, pc-text() 'nTelIndex', type is WORD
+do_space : orig_line is 14, orig_col is 15, first->text() 'nTelIndex', type is WORD
+do_space : first->orig_line is 14, first->orig_col is 15, first->text() is 'nTelIndex', [WORD/NONE] <===>
+ second->orig_line is 14, second->orig_col is 24, second->text() is ';', [SEMICOLON/NONE] : rule sp_before_semi[ ]
+ rule = REMOVE @ 0 => 24
+space_text : orig_line is 14, orig_col is 24, ';' type is SEMICOLON
+space_text : orig_line is 14, orig_col is 24, pc-text() ';', type is SEMICOLON
+do_space : orig_line is 14, orig_col is 24, first->text() ';', type is SEMICOLON
+ rule = REMOVE @ 0 => 25
+space_text : orig_line is 14, orig_col is 25, <Newline>, nl is 1
+space_text : orig_line is 15, orig_col is 1, '}' type is BRACE_CLOSE
+space_text : orig_line is 15, orig_col is 1, pc-text() '}', type is BRACE_CLOSE
+do_space : orig_line is 15, orig_col is 1, first->text() '}', type is BRACE_CLOSE
+do_space : first->orig_line is 15, first->orig_col is 1, first->text() is '}', [BRACE_CLOSE/STRUCT] <===>
+ second->orig_line is 15, second->orig_col is 2, second->text() is ';', [SEMICOLON/STRUCT] : rule sp_before_semi[ ]
+ rule = REMOVE @ 0 => 2
+space_text : orig_line is 15, orig_col is 2, ';' type is SEMICOLON
+space_text : orig_line is 15, orig_col is 2, pc-text() ';', type is SEMICOLON
+do_space : orig_line is 15, orig_col is 2, first->text() ';', type is SEMICOLON
+ rule = REMOVE @ 0 => 3
+space_text : orig_line is 15, orig_col is 3, <Newline>, nl is 2
+space_col_align : first->orig_line is 3, orig_col is 1, [FUNC_CLASS_DEF/NONE], text() 'TelegramIndex' <==>
+space_col_align : second->orig_line is 3, orig_col is 14 [FPAREN_OPEN/FUNC_CLASS_DEF], text() '(', [CallStack]
+do_space : orig_line is 3, orig_col is 1, first->text() 'TelegramIndex', type is FUNC_CLASS_DEF
+do_space : first->orig_line is 3, first->orig_col is 1, first->text() is 'TelegramIndex', [FUNC_CLASS_DEF/NONE] <===>
+ second->orig_line is 3, second->orig_col is 14, second->text() is '(', [FPAREN_OPEN/FUNC_CLASS_DEF] : rule sp_func_class_paren[ ]
+space_col_align : av is ignore
+space_col_align : len is 13
+space_col_align : => coldiff is 13
+space_col_align : => av is IGNORE
+space_col_align : => first->orig_line is 3
+space_col_align : => second->orig_line is 3
+space_col_align : => first->text() is 'TelegramIndex'
+space_col_align : => second->text() is '('
+space_col_align : => first->orig_col is 1
+space_col_align : => second->orig_col is 14
+space_col_align : => first->len() is 13
+space_col_align : => coldiff is 13
+space_col_align : first->orig_line is 3, orig_col is 14, [FPAREN_OPEN/FUNC_CLASS_DEF], text() '(' <==>
+space_col_align : second->orig_line is 3, orig_col is 15 [QUALIFIER/NONE], text() 'const', [CallStack]
+do_space : orig_line is 3, orig_col is 14, first->text() '(', type is FPAREN_OPEN
+do_space : first->orig_line is 3, first->orig_col is 14, first->text() is '(', [FPAREN_OPEN/FUNC_CLASS_DEF] <===>
+ second->orig_line is 3, second->orig_col is 15, second->text() is 'const', [QUALIFIER/NONE] : rule sp_inside_fparen[ ]
+space_col_align : av is ignore
+space_col_align : len is 1
+space_col_align : => coldiff is 1
+space_col_align : => av is IGNORE
+space_col_align : => first->orig_line is 3
+space_col_align : => second->orig_line is 3
+space_col_align : => first->text() is '('
+space_col_align : => second->text() is 'const'
+space_col_align : => first->orig_col is 14
+space_col_align : => second->orig_col is 15
+space_col_align : => first->len() is 1
+space_col_align : => coldiff is 1
+space_col_align : first->orig_line is 3, orig_col is 15, [QUALIFIER/NONE], text() 'const' <==>
+space_col_align : second->orig_line is 3, orig_col is 21 [TYPE/NONE], text() 'char', [CallStack]
+do_space : orig_line is 3, orig_col is 15, first->text() 'const', type is QUALIFIER
+do_space : first->orig_line is 3, first->orig_col is 15, first->text() is 'const', [QUALIFIER/NONE] <===>
+ second->orig_line is 3, second->orig_col is 21, second->text() is 'char', [TYPE/NONE] : rule sp_after_type[ ]
+ensure_force_space : <force between 'const' and 'char'>space_col_align : av is force
+space_col_align : len is 5
+space_col_align : => coldiff is 5
+space_col_align : => av is FORCE
+space_col_align : => coldiff is 6
+space_col_align : first->orig_line is 3, orig_col is 21, [TYPE/NONE], text() 'char' <==>
+space_col_align : second->orig_line is 3, orig_col is 25 [PTR_TYPE/NONE], text() '*', [CallStack]
+do_space : orig_line is 3, orig_col is 21, first->text() 'char', type is TYPE
+do_space : first->orig_line is 3, first->orig_col is 21, first->text() is 'char', [TYPE/NONE] <===>
+ second->orig_line is 3, second->orig_col is 25, second->text() is '*', [PTR_TYPE/NONE] : rule IGNORE[ ]
+space_col_align : av is ignore
+space_col_align : len is 4
+space_col_align : => coldiff is 4
+space_col_align : => av is IGNORE
+space_col_align : => first->orig_line is 3
+space_col_align : => second->orig_line is 3
+space_col_align : => first->text() is 'char'
+space_col_align : => second->text() is '*'
+space_col_align : => first->orig_col is 21
+space_col_align : => second->orig_col is 25
+space_col_align : => first->len() is 4
+space_col_align : => coldiff is 4
+space_col_align : first->orig_line is 3, orig_col is 25, [PTR_TYPE/NONE], text() '*' <==>
+space_col_align : second->orig_line is 3, orig_col is 27 [WORD/NONE], text() 'pN', [CallStack]
+do_space : orig_line is 3, orig_col is 25, first->text() '*', type is PTR_TYPE
+do_space : first->orig_line is 3, first->orig_col is 25, first->text() is '*', [PTR_TYPE/NONE] <===>
+ second->orig_line is 3, second->orig_col is 27, second->text() is 'pN', [WORD/NONE] : rule sp_after_ptr_star[ ]
+space_col_align : av is ignore
+space_col_align : len is 1
+space_col_align : => coldiff is 1
+space_col_align : => av is IGNORE
+space_col_align : => first->orig_line is 3
+space_col_align : => second->orig_line is 3
+space_col_align : => first->text() is '*'
+space_col_align : => second->text() is 'pN'
+space_col_align : => first->orig_col is 25
+space_col_align : => second->orig_col is 27
+space_col_align : => first->len() is 1
+space_col_align : => coldiff is 2
+space_col_align : first->orig_line is 3, orig_col is 27, [WORD/NONE], text() 'pN' <==>
+space_col_align : second->orig_line is 3, orig_col is 29 [COMMA/NONE], text() ',', [CallStack]
+do_space : orig_line is 3, orig_col is 27, first->text() 'pN', type is WORD
+do_space : first->orig_line is 3, first->orig_col is 27, first->text() is 'pN', [WORD/NONE] <===>
+ second->orig_line is 3, second->orig_col is 29, second->text() is ',', [COMMA/NONE] : rule sp_before_comma[ ]
+space_col_align : av is remove
+space_col_align : len is 2
+space_col_align : => coldiff is 2
+space_col_align : => av is REMOVE
+space_col_align : => coldiff is 2
+space_col_align : first->orig_line is 3, orig_col is 29, [COMMA/NONE], text() ',' <==>
+space_col_align : second->orig_line is 3, orig_col is 31 [TYPE/NONE], text() 'unsigned', [CallStack]
+do_space : orig_line is 3, orig_col is 29, first->text() ',', type is COMMA
+do_space : first->orig_line is 3, first->orig_col is 29, first->text() is ',', [COMMA/NONE] <===>
+ second->orig_line is 3, second->orig_col is 31, second->text() is 'unsigned', [TYPE/NONE] : rule sp_after_comma[ ]
+space_col_align : av is ignore
+space_col_align : len is 1
+space_col_align : => coldiff is 1
+space_col_align : => av is IGNORE
+space_col_align : => first->orig_line is 3
+space_col_align : => second->orig_line is 3
+space_col_align : => first->text() is ','
+space_col_align : => second->text() is 'unsigned'
+space_col_align : => first->orig_col is 29
+space_col_align : => second->orig_col is 31
+space_col_align : => first->len() is 1
+space_col_align : => coldiff is 2
+space_col_align : first->orig_line is 3, orig_col is 31, [TYPE/NONE], text() 'unsigned' <==>
+space_col_align : second->orig_line is 3, orig_col is 40 [TYPE/NONE], text() 'long', [CallStack]
+do_space : orig_line is 3, orig_col is 31, first->text() 'unsigned', type is TYPE
+do_space : first->orig_line is 3, first->orig_col is 31, first->text() is 'unsigned', [TYPE/NONE] <===>
+ second->orig_line is 3, second->orig_col is 40, second->text() is 'long', [TYPE/NONE] : rule sp_after_type[ ]
+ensure_force_space : <force between 'unsigned' and 'long'>space_col_align : av is force
+space_col_align : len is 8
+space_col_align : => coldiff is 8
+space_col_align : => av is FORCE
+space_col_align : => coldiff is 9
+space_col_align : first->orig_line is 3, orig_col is 40, [TYPE/NONE], text() 'long' <==>
+space_col_align : second->orig_line is 3, orig_col is 45 [WORD/NONE], text() 'nI', [CallStack]
+do_space : orig_line is 3, orig_col is 40, first->text() 'long', type is TYPE
+do_space : first->orig_line is 3, first->orig_col is 40, first->text() is 'long', [TYPE/NONE] <===>
+ second->orig_line is 3, second->orig_col is 45, second->text() is 'nI', [WORD/NONE] : rule sp_after_type[ ]
+ensure_force_space : <force between 'long' and 'nI'>space_col_align : av is force
+space_col_align : len is 4
+space_col_align : => coldiff is 4
+space_col_align : => av is FORCE
+space_col_align : => coldiff is 5
+space_col_align : first->orig_line is 3, orig_col is 45, [WORD/NONE], text() 'nI' <==>
+space_col_align : second->orig_line is 3, orig_col is 47 [FPAREN_CLOSE/FUNC_CLASS_DEF], text() ')', [CallStack]
+do_space : orig_line is 3, orig_col is 45, first->text() 'nI', type is WORD
+do_space : first->orig_line is 3, first->orig_col is 45, first->text() is 'nI', [WORD/NONE] <===>
+ second->orig_line is 3, second->orig_col is 47, second->text() is ')', [FPAREN_CLOSE/FUNC_CLASS_DEF] : rule sp_inside_fparen[ ]
+space_col_align : av is ignore
+space_col_align : len is 2
+space_col_align : => coldiff is 2
+space_col_align : => av is IGNORE
+space_col_align : => first->orig_line is 3
+space_col_align : => second->orig_line is 3
+space_col_align : => first->text() is 'nI'
+space_col_align : => second->text() is ')'
+space_col_align : => first->orig_col is 45
+space_col_align : => second->orig_col is 47
+space_col_align : => first->len() is 2
+space_col_align : => coldiff is 2
+space_col_align : first->orig_line is 3, orig_col is 47, [FPAREN_CLOSE/FUNC_CLASS_DEF], text() ')' <==>
+space_col_align : second->orig_line is 3, orig_col is 49 [CONSTR_COLON/NONE], text() ':', [CallStack]
+do_space : orig_line is 3, orig_col is 47, first->text() ')', type is FPAREN_CLOSE
+do_space : first->orig_line is 3, first->orig_col is 47, first->text() is ')', [FPAREN_CLOSE/FUNC_CLASS_DEF] <===>
+ second->orig_line is 3, second->orig_col is 49, second->text() is ':', [CONSTR_COLON/NONE] : rule sp_before_constr_colon[ ]
+space_col_align : av is add
+space_col_align : len is 1
+space_col_align : => coldiff is 1
+space_col_align : => av is ADD
+space_col_align : => coldiff is 2
+space_col_align : first->orig_line is 3, orig_col is 49, [CONSTR_COLON/NONE], text() ':' <==>
+space_col_align : second->orig_line is 3, orig_col is 50 [NEWLINE/NONE], text() '', [CallStack]
+do_space : orig_line is 3, orig_col is 49, first->text() ':', type is CONSTR_COLON
+space_col_align : av is remove
+space_col_align : len is 1
+space_col_align : => coldiff is 1
+space_col_align : => av is REMOVE
+space_col_align : => coldiff is 1
+space_col_align : first->orig_line is 4, orig_col is 1, [FUNC_CTOR_VAR/NONE], text() 'pTelName' <==>
+space_col_align : second->orig_line is 4, orig_col is 9 [FPAREN_OPEN/FUNC_CTOR_VAR], text() '(', [CallStack]
+do_space : orig_line is 4, orig_col is 1, first->text() 'pTelName', type is FUNC_CTOR_VAR
+do_space : first->orig_line is 4, first->orig_col is 1, first->text() is 'pTelName', [FUNC_CTOR_VAR/NONE] <===>
+ second->orig_line is 4, second->orig_col is 9, second->text() is '(', [FPAREN_OPEN/FUNC_CTOR_VAR] : rule sp_func_call_paren[ ]
+space_col_align : av is ignore
+space_col_align : len is 8
+space_col_align : => coldiff is 8
+space_col_align : => av is IGNORE
+space_col_align : => first->orig_line is 4
+space_col_align : => second->orig_line is 4
+space_col_align : => first->text() is 'pTelName'
+space_col_align : => second->text() is '('
+space_col_align : => first->orig_col is 1
+space_col_align : => second->orig_col is 9
+space_col_align : => first->len() is 8
+space_col_align : => coldiff is 8
+space_col_align : first->orig_line is 4, orig_col is 9, [FPAREN_OPEN/FUNC_CTOR_VAR], text() '(' <==>
+space_col_align : second->orig_line is 4, orig_col is 10 [WORD/NONE], text() 'pN', [CallStack]
+do_space : orig_line is 4, orig_col is 9, first->text() '(', type is FPAREN_OPEN
+do_space : first->orig_line is 4, first->orig_col is 9, first->text() is '(', [FPAREN_OPEN/FUNC_CTOR_VAR] <===>
+ second->orig_line is 4, second->orig_col is 10, second->text() is 'pN', [WORD/NONE] : rule sp_inside_fparen[ ]
+space_col_align : av is ignore
+space_col_align : len is 1
+space_col_align : => coldiff is 1
+space_col_align : => av is IGNORE
+space_col_align : => first->orig_line is 4
+space_col_align : => second->orig_line is 4
+space_col_align : => first->text() is '('
+space_col_align : => second->text() is 'pN'
+space_col_align : => first->orig_col is 9
+space_col_align : => second->orig_col is 10
+space_col_align : => first->len() is 1
+space_col_align : => coldiff is 1
+space_col_align : first->orig_line is 4, orig_col is 10, [WORD/NONE], text() 'pN' <==>
+space_col_align : second->orig_line is 4, orig_col is 12 [FPAREN_CLOSE/FUNC_CTOR_VAR], text() ')', [CallStack]
+do_space : orig_line is 4, orig_col is 10, first->text() 'pN', type is WORD
+do_space : first->orig_line is 4, first->orig_col is 10, first->text() is 'pN', [WORD/NONE] <===>
+ second->orig_line is 4, second->orig_col is 12, second->text() is ')', [FPAREN_CLOSE/FUNC_CTOR_VAR] : rule sp_inside_fparen[ ]
+space_col_align : av is ignore
+space_col_align : len is 2
+space_col_align : => coldiff is 2
+space_col_align : => av is IGNORE
+space_col_align : => first->orig_line is 4
+space_col_align : => second->orig_line is 4
+space_col_align : => first->text() is 'pN'
+space_col_align : => second->text() is ')'
+space_col_align : => first->orig_col is 10
+space_col_align : => second->orig_col is 12
+space_col_align : => first->len() is 2
+space_col_align : => coldiff is 2
+space_col_align : first->orig_line is 4, orig_col is 12, [FPAREN_CLOSE/FUNC_CTOR_VAR], text() ')' <==>
+space_col_align : second->orig_line is 4, orig_col is 13 [COMMA/NONE], text() ',', [CallStack]
+do_space : orig_line is 4, orig_col is 12, first->text() ')', type is FPAREN_CLOSE
+do_space : first->orig_line is 4, first->orig_col is 12, first->text() is ')', [FPAREN_CLOSE/FUNC_CTOR_VAR] <===>
+ second->orig_line is 4, second->orig_col is 13, second->text() is ',', [COMMA/NONE] : rule sp_before_comma[ ]
+space_col_align : av is remove
+space_col_align : len is 1
+space_col_align : => coldiff is 1
+space_col_align : => av is REMOVE
+space_col_align : => coldiff is 1
+space_col_align : first->orig_line is 4, orig_col is 13, [COMMA/NONE], text() ',' <==>
+space_col_align : second->orig_line is 4, orig_col is 14 [NEWLINE/NONE], text() '', [CallStack]
+do_space : orig_line is 4, orig_col is 13, first->text() ',', type is COMMA
+space_col_align : av is remove
+space_col_align : len is 1
+space_col_align : => coldiff is 1
+space_col_align : => av is REMOVE
+space_col_align : => coldiff is 1
+space_col_align : first->orig_line is 5, orig_col is 1, [FUNC_CTOR_VAR/NONE], text() 'nTelIndex' <==>
+space_col_align : second->orig_line is 5, orig_col is 10 [FPAREN_OPEN/FUNC_CTOR_VAR], text() '(', [CallStack]
+do_space : orig_line is 5, orig_col is 1, first->text() 'nTelIndex', type is FUNC_CTOR_VAR
+do_space : first->orig_line is 5, first->orig_col is 1, first->text() is 'nTelIndex', [FUNC_CTOR_VAR/NONE] <===>
+ second->orig_line is 5, second->orig_col is 10, second->text() is '(', [FPAREN_OPEN/FUNC_CTOR_VAR] : rule sp_func_call_paren[ ]
+space_col_align : av is ignore
+space_col_align : len is 9
+space_col_align : => coldiff is 9
+space_col_align : => av is IGNORE
+space_col_align : => first->orig_line is 5
+space_col_align : => second->orig_line is 5
+space_col_align : => first->text() is 'nTelIndex'
+space_col_align : => second->text() is '('
+space_col_align : => first->orig_col is 1
+space_col_align : => second->orig_col is 10
+space_col_align : => first->len() is 9
+space_col_align : => coldiff is 9
+space_col_align : first->orig_line is 5, orig_col is 10, [FPAREN_OPEN/FUNC_CTOR_VAR], text() '(' <==>
+space_col_align : second->orig_line is 5, orig_col is 11 [WORD/NONE], text() 'n', [CallStack]
+do_space : orig_line is 5, orig_col is 10, first->text() '(', type is FPAREN_OPEN
+do_space : first->orig_line is 5, first->orig_col is 10, first->text() is '(', [FPAREN_OPEN/FUNC_CTOR_VAR] <===>
+ second->orig_line is 5, second->orig_col is 11, second->text() is 'n', [WORD/NONE] : rule sp_inside_fparen[ ]
+space_col_align : av is ignore
+space_col_align : len is 1
+space_col_align : => coldiff is 1
+space_col_align : => av is IGNORE
+space_col_align : => first->orig_line is 5
+space_col_align : => second->orig_line is 5
+space_col_align : => first->text() is '('
+space_col_align : => second->text() is 'n'
+space_col_align : => first->orig_col is 10
+space_col_align : => second->orig_col is 11
+space_col_align : => first->len() is 1
+space_col_align : => coldiff is 1
+space_col_align : first->orig_line is 5, orig_col is 11, [WORD/NONE], text() 'n' <==>
+space_col_align : second->orig_line is 5, orig_col is 12 [FPAREN_CLOSE/FUNC_CTOR_VAR], text() ')', [CallStack]
+do_space : orig_line is 5, orig_col is 11, first->text() 'n', type is WORD
+do_space : first->orig_line is 5, first->orig_col is 11, first->text() is 'n', [WORD/NONE] <===>
+ second->orig_line is 5, second->orig_col is 12, second->text() is ')', [FPAREN_CLOSE/FUNC_CTOR_VAR] : rule sp_inside_fparen[ ]
+space_col_align : av is ignore
+space_col_align : len is 1
+space_col_align : => coldiff is 1
+space_col_align : => av is IGNORE
+space_col_align : => first->orig_line is 5
+space_col_align : => second->orig_line is 5
+space_col_align : => first->text() is 'n'
+space_col_align : => second->text() is ')'
+space_col_align : => first->orig_col is 11
+space_col_align : => second->orig_col is 12
+space_col_align : => first->len() is 1
+space_col_align : => coldiff is 1
+space_col_align : first->orig_line is 5, orig_col is 12, [FPAREN_CLOSE/FUNC_CTOR_VAR], text() ')' <==>
+space_col_align : second->orig_line is 5, orig_col is 13 [NEWLINE/NONE], text() '', [CallStack]
+do_space : orig_line is 5, orig_col is 12, first->text() ')', type is FPAREN_CLOSE
+space_col_align : av is remove
+space_col_align : len is 1
+space_col_align : => coldiff is 1
+space_col_align : => av is REMOVE
+space_col_align : => coldiff is 1
+space_col_align : first->orig_line is 6, orig_col is 1, [BRACE_OPEN/FUNC_CLASS_DEF], text() '{' <==>
+space_col_align : second->orig_line is 6, orig_col is 2 [NEWLINE/NONE], text() '', [CallStack]
+do_space : orig_line is 6, orig_col is 1, first->text() '{', type is BRACE_OPEN
+space_col_align : av is remove
+space_col_align : len is 1
+space_col_align : => coldiff is 1
+space_col_align : => av is REMOVE
+space_col_align : => coldiff is 1
+space_col_align : first->orig_line is 7, orig_col is 1, [BRACE_CLOSE/FUNC_CLASS_DEF], text() '}' <==>
+space_col_align : second->orig_line is 7, orig_col is 2 [NEWLINE/NONE], text() '', [CallStack]
+do_space : orig_line is 7, orig_col is 1, first->text() '}', type is BRACE_CLOSE
+space_col_align : av is remove
+space_col_align : len is 1
+space_col_align : => coldiff is 1
+space_col_align : => av is REMOVE
+space_col_align : => coldiff is 1
+space_col_align : first->orig_line is 9, orig_col is 1, [DESTRUCTOR/FUNC_CLASS_DEF], text() '~' <==>
+space_col_align : second->orig_line is 9, orig_col is 2 [FUNC_CLASS_DEF/DESTRUCTOR], text() 'TelegramIndex', [CallStack]
+do_space : orig_line is 9, orig_col is 1, first->text() '~', type is DESTRUCTOR
+do_space : first->orig_line is 9, first->orig_col is 1, first->text() is '~', [DESTRUCTOR/FUNC_CLASS_DEF] <===>
+ second->orig_line is 9, second->orig_col is 2, second->text() is 'TelegramIndex', [FUNC_CLASS_DEF/DESTRUCTOR] : rule REMOVE[ ]
+space_col_align : av is remove
+space_col_align : len is 1
+space_col_align : => coldiff is 1
+space_col_align : => av is REMOVE
+space_col_align : => coldiff is 1
+space_col_align : first->orig_line is 9, orig_col is 2, [FUNC_CLASS_DEF/DESTRUCTOR], text() 'TelegramIndex' <==>
+space_col_align : second->orig_line is 9, orig_col is 15 [FPAREN_OPEN/FUNC_CLASS_DEF], text() '(', [CallStack]
+do_space : orig_line is 9, orig_col is 2, first->text() 'TelegramIndex', type is FUNC_CLASS_DEF
+do_space : first->orig_line is 9, first->orig_col is 2, first->text() is 'TelegramIndex', [FUNC_CLASS_DEF/DESTRUCTOR] <===>
+ second->orig_line is 9, second->orig_col is 15, second->text() is '(', [FPAREN_OPEN/FUNC_CLASS_DEF] : rule sp_func_class_paren[ ]
+space_col_align : av is ignore
+space_col_align : len is 13
+space_col_align : => coldiff is 13
+space_col_align : => av is IGNORE
+space_col_align : => first->orig_line is 9
+space_col_align : => second->orig_line is 9
+space_col_align : => first->text() is 'TelegramIndex'
+space_col_align : => second->text() is '('
+space_col_align : => first->orig_col is 2
+space_col_align : => second->orig_col is 15
+space_col_align : => first->len() is 13
+space_col_align : => coldiff is 13
+space_col_align : first->orig_line is 9, orig_col is 15, [FPAREN_OPEN/FUNC_CLASS_DEF], text() '(' <==>
+space_col_align : second->orig_line is 9, orig_col is 16 [FPAREN_CLOSE/FUNC_CLASS_DEF], text() ')', [CallStack]
+do_space : orig_line is 9, orig_col is 15, first->text() '(', type is FPAREN_OPEN
+do_space : first->orig_line is 9, first->orig_col is 15, first->text() is '(', [FPAREN_OPEN/FUNC_CLASS_DEF] <===>
+ second->orig_line is 9, second->orig_col is 16, second->text() is ')', [FPAREN_CLOSE/FUNC_CLASS_DEF] : rule sp_inside_fparens[ ]
+space_col_align : av is ignore
+space_col_align : len is 1
+space_col_align : => coldiff is 1
+space_col_align : => av is IGNORE
+space_col_align : => first->orig_line is 9
+space_col_align : => second->orig_line is 9
+space_col_align : => first->text() is '('
+space_col_align : => second->text() is ')'
+space_col_align : => first->orig_col is 15
+space_col_align : => second->orig_col is 16
+space_col_align : => first->len() is 1
+space_col_align : => coldiff is 1
+space_col_align : first->orig_line is 9, orig_col is 16, [FPAREN_CLOSE/FUNC_CLASS_DEF], text() ')' <==>
+space_col_align : second->orig_line is 9, orig_col is 17 [NEWLINE/NONE], text() '', [CallStack]
+do_space : orig_line is 9, orig_col is 16, first->text() ')', type is FPAREN_CLOSE
+space_col_align : av is remove
+space_col_align : len is 1
+space_col_align : => coldiff is 1
+space_col_align : => av is REMOVE
+space_col_align : => coldiff is 1
+space_col_align : first->orig_line is 10, orig_col is 1, [BRACE_OPEN/FUNC_CLASS_DEF], text() '{' <==>
+space_col_align : second->orig_line is 10, orig_col is 2 [NEWLINE/NONE], text() '', [CallStack]
+do_space : orig_line is 10, orig_col is 1, first->text() '{', type is BRACE_OPEN
+space_col_align : av is remove
+space_col_align : len is 1
+space_col_align : => coldiff is 1
+space_col_align : => av is REMOVE
+space_col_align : => coldiff is 1
+space_col_align : first->orig_line is 11, orig_col is 1, [BRACE_CLOSE/FUNC_CLASS_DEF], text() '}' <==>
+space_col_align : second->orig_line is 11, orig_col is 2 [NEWLINE/NONE], text() '', [CallStack]
+do_space : orig_line is 11, orig_col is 1, first->text() '}', type is BRACE_CLOSE
+space_col_align : av is remove
+space_col_align : len is 1
+space_col_align : => coldiff is 1
+space_col_align : => av is REMOVE
+space_col_align : => coldiff is 1
+space_col_align : first->orig_line is 13, orig_col is 1, [QUALIFIER/NONE], text() 'const' <==>
+space_col_align : second->orig_line is 13, orig_col is 7 [TYPE/NONE], text() 'char', [CallStack]
+do_space : orig_line is 13, orig_col is 1, first->text() 'const', type is QUALIFIER
+do_space : first->orig_line is 13, first->orig_col is 1, first->text() is 'const', [QUALIFIER/NONE] <===>
+ second->orig_line is 13, second->orig_col is 7, second->text() is 'char', [TYPE/NONE] : rule sp_after_type[ ]
+ensure_force_space : <force between 'const' and 'char'>space_col_align : av is force
+space_col_align : len is 5
+space_col_align : => coldiff is 5
+space_col_align : => av is FORCE
+space_col_align : => coldiff is 6
+space_col_align : first->orig_line is 13, orig_col is 7, [TYPE/NONE], text() 'char' <==>
+space_col_align : second->orig_line is 13, orig_col is 11 [PTR_TYPE/NONE], text() '*', [CallStack]
+do_space : orig_line is 13, orig_col is 7, first->text() 'char', type is TYPE
+do_space : first->orig_line is 13, first->orig_col is 7, first->text() is 'char', [TYPE/NONE] <===>
+ second->orig_line is 13, second->orig_col is 11, second->text() is '*', [PTR_TYPE/NONE] : rule IGNORE[ ]
+space_col_align : av is ignore
+space_col_align : len is 4
+space_col_align : => coldiff is 4
+space_col_align : => av is IGNORE
+space_col_align : => first->orig_line is 13
+space_col_align : => second->orig_line is 13
+space_col_align : => first->text() is 'char'
+space_col_align : => second->text() is '*'
+space_col_align : => first->orig_col is 7
+space_col_align : => second->orig_col is 11
+space_col_align : => first->len() is 4
+space_col_align : => coldiff is 4
+space_col_align : first->orig_line is 13, orig_col is 11, [PTR_TYPE/NONE], text() '*' <==>
+space_col_align : second->orig_line is 13, orig_col is 13 [QUALIFIER/NONE], text() 'const', [CallStack]
+do_space : orig_line is 13, orig_col is 11, first->text() '*', type is PTR_TYPE
+do_space : first->orig_line is 13, first->orig_col is 11, first->text() is '*', [PTR_TYPE/NONE] <===>
+ second->orig_line is 13, second->orig_col is 13, second->text() is 'const', [QUALIFIER/NONE] : rule sp_after_ptr_star_qualifier[ ]
+space_col_align : av is ignore
+space_col_align : len is 1
+space_col_align : => coldiff is 1
+space_col_align : => av is IGNORE
+space_col_align : => first->orig_line is 13
+space_col_align : => second->orig_line is 13
+space_col_align : => first->text() is '*'
+space_col_align : => second->text() is 'const'
+space_col_align : => first->orig_col is 11
+space_col_align : => second->orig_col is 13
+space_col_align : => first->len() is 1
+space_col_align : => coldiff is 2
+space_col_align : first->orig_line is 13, orig_col is 13, [QUALIFIER/NONE], text() 'const' <==>
+space_col_align : second->orig_line is 13, orig_col is 19 [WORD/NONE], text() 'pTelName', [CallStack]
+do_space : orig_line is 13, orig_col is 13, first->text() 'const', type is QUALIFIER
+do_space : first->orig_line is 13, first->orig_col is 13, first->text() is 'const', [QUALIFIER/NONE] <===>
+ second->orig_line is 13, second->orig_col is 19, second->text() is 'pTelName', [WORD/NONE] : rule sp_after_type[ ]
+ensure_force_space : <force between 'const' and 'pTelName'>space_col_align : av is force
+space_col_align : len is 5
+space_col_align : => coldiff is 5
+space_col_align : => av is FORCE
+space_col_align : => coldiff is 6
+space_col_align : first->orig_line is 13, orig_col is 19, [WORD/NONE], text() 'pTelName' <==>
+space_col_align : second->orig_line is 13, orig_col is 27 [SEMICOLON/NONE], text() ';', [CallStack]
+do_space : orig_line is 13, orig_col is 19, first->text() 'pTelName', type is WORD
+do_space : first->orig_line is 13, first->orig_col is 19, first->text() is 'pTelName', [WORD/NONE] <===>
+ second->orig_line is 13, second->orig_col is 27, second->text() is ';', [SEMICOLON/NONE] : rule sp_before_semi[ ]
+space_col_align : av is remove
+space_col_align : len is 8
+space_col_align : => coldiff is 8
+space_col_align : => av is REMOVE
+space_col_align : => coldiff is 8
+space_col_align : first->orig_line is 13, orig_col is 27, [SEMICOLON/NONE], text() ';' <==>
+space_col_align : second->orig_line is 13, orig_col is 28 [NEWLINE/NONE], text() '', [CallStack]
+do_space : orig_line is 13, orig_col is 27, first->text() ';', type is SEMICOLON
+space_col_align : av is remove
+space_col_align : len is 1
+space_col_align : => coldiff is 1
+space_col_align : => av is REMOVE
+space_col_align : => coldiff is 1
+space_col_align : first->orig_line is 14, orig_col is 1, [TYPE/NONE], text() 'unsigned' <==>
+space_col_align : second->orig_line is 14, orig_col is 10 [TYPE/NONE], text() 'long', [CallStack]
+do_space : orig_line is 14, orig_col is 1, first->text() 'unsigned', type is TYPE
+do_space : first->orig_line is 14, first->orig_col is 1, first->text() is 'unsigned', [TYPE/NONE] <===>
+ second->orig_line is 14, second->orig_col is 10, second->text() is 'long', [TYPE/NONE] : rule sp_after_type[ ]
+ensure_force_space : <force between 'unsigned' and 'long'>space_col_align : av is force
+space_col_align : len is 8
+space_col_align : => coldiff is 8
+space_col_align : => av is FORCE
+space_col_align : => coldiff is 9
+space_col_align : first->orig_line is 14, orig_col is 10, [TYPE/NONE], text() 'long' <==>
+space_col_align : second->orig_line is 14, orig_col is 15 [WORD/NONE], text() 'nTelIndex', [CallStack]
+do_space : orig_line is 14, orig_col is 10, first->text() 'long', type is TYPE
+do_space : first->orig_line is 14, first->orig_col is 10, first->text() is 'long', [TYPE/NONE] <===>
+ second->orig_line is 14, second->orig_col is 15, second->text() is 'nTelIndex', [WORD/NONE] : rule sp_after_type[ ]
+ensure_force_space : <force between 'long' and 'nTelIndex'>space_col_align : av is force
+space_col_align : len is 4
+space_col_align : => coldiff is 4
+space_col_align : => av is FORCE
+space_col_align : => coldiff is 5
+space_col_align : first->orig_line is 14, orig_col is 15, [WORD/NONE], text() 'nTelIndex' <==>
+space_col_align : second->orig_line is 14, orig_col is 24 [SEMICOLON/NONE], text() ';', [CallStack]
+do_space : orig_line is 14, orig_col is 15, first->text() 'nTelIndex', type is WORD
+do_space : first->orig_line is 14, first->orig_col is 15, first->text() is 'nTelIndex', [WORD/NONE] <===>
+ second->orig_line is 14, second->orig_col is 24, second->text() is ';', [SEMICOLON/NONE] : rule sp_before_semi[ ]
+space_col_align : av is remove
+space_col_align : len is 9
+space_col_align : => coldiff is 9
+space_col_align : => av is REMOVE
+space_col_align : => coldiff is 9
+space_col_align : first->orig_line is 14, orig_col is 24, [SEMICOLON/NONE], text() ';' <==>
+space_col_align : second->orig_line is 14, orig_col is 25 [NEWLINE/NONE], text() '', [CallStack]
+do_space : orig_line is 14, orig_col is 24, first->text() ';', type is SEMICOLON
+space_col_align : av is remove
+space_col_align : len is 1
+space_col_align : => coldiff is 1
+space_col_align : => av is REMOVE
+space_col_align : => coldiff is 1
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/9.txt b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/9.txt
new file mode 100644
index 00000000..98afe921
--- /dev/null
+++ b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/9.txt
@@ -0,0 +1 @@
+Using LF line endings
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/92.txt b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/92.txt
new file mode 100644
index 00000000..eb0d7c05
--- /dev/null
+++ b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/92.txt
@@ -0,0 +1,196 @@
+parse_word : orig_line is 1, orig_col is 1, pc->text() 'struct'
+ pc->type is NONE, pc->parent_type is NONE => *type is WORD, *parent_type is NONE
+parse_word : orig_line is 1, orig_col is 1, pc->text() 'struct'
+ pc->type is WORD, pc->parent_type is NONE => *type is STRUCT, *parent_type is NONE
+parse_whitespace : orig_line is 1, orig_col is 7, pc->text() ''
+ pc->type is NONE, pc->parent_type is NONE => *type is WHITESPACE, *parent_type is NONE
+parse_word : orig_line is 1, orig_col is 8, pc->text() 'TelegramIndex'
+ pc->type is NONE, pc->parent_type is NONE => *type is WORD, *parent_type is NONE
+parse_whitespace : orig_line is 1, orig_col is 21, pc->text() <Newline>
+ pc->type is NONE, pc->parent_type is NONE => *type is NEWLINE, *parent_type is NONE
+parse_next : orig_line is 2, orig_col is 1, pc->text() '{'
+ pc->type is NONE, pc->parent_type is NONE => *type is BRACE_OPEN, *parent_type is NONE
+parse_whitespace : orig_line is 2, orig_col is 2, pc->text() <Newline>
+ pc->type is NONE, pc->parent_type is NONE => *type is NEWLINE, *parent_type is NONE
+parse_word : orig_line is 3, orig_col is 1, pc->text() 'TelegramIndex'
+ pc->type is NONE, pc->parent_type is NONE => *type is WORD, *parent_type is NONE
+parse_next : orig_line is 3, orig_col is 14, pc->text() '('
+ pc->type is NONE, pc->parent_type is NONE => *type is PAREN_OPEN, *parent_type is NONE
+parse_word : orig_line is 3, orig_col is 15, pc->text() 'const'
+ pc->type is NONE, pc->parent_type is NONE => *type is WORD, *parent_type is NONE
+parse_word : orig_line is 3, orig_col is 15, pc->text() 'const'
+ pc->type is WORD, pc->parent_type is NONE => *type is QUALIFIER, *parent_type is NONE
+parse_whitespace : orig_line is 3, orig_col is 20, pc->text() ''
+ pc->type is NONE, pc->parent_type is NONE => *type is WHITESPACE, *parent_type is NONE
+parse_word : orig_line is 3, orig_col is 21, pc->text() 'char'
+ pc->type is NONE, pc->parent_type is NONE => *type is WORD, *parent_type is NONE
+parse_word : orig_line is 3, orig_col is 21, pc->text() 'char'
+ pc->type is WORD, pc->parent_type is NONE => *type is TYPE, *parent_type is NONE
+parse_next : orig_line is 3, orig_col is 25, pc->text() '*'
+ pc->type is NONE, pc->parent_type is NONE => *type is STAR, *parent_type is NONE
+parse_whitespace : orig_line is 3, orig_col is 26, pc->text() ''
+ pc->type is NONE, pc->parent_type is NONE => *type is WHITESPACE, *parent_type is NONE
+parse_word : orig_line is 3, orig_col is 27, pc->text() 'pN'
+ pc->type is NONE, pc->parent_type is NONE => *type is WORD, *parent_type is NONE
+parse_next : orig_line is 3, orig_col is 29, pc->text() ','
+ pc->type is NONE, pc->parent_type is NONE => *type is COMMA, *parent_type is NONE
+parse_whitespace : orig_line is 3, orig_col is 30, pc->text() ''
+ pc->type is NONE, pc->parent_type is NONE => *type is WHITESPACE, *parent_type is NONE
+parse_word : orig_line is 3, orig_col is 31, pc->text() 'unsigned'
+ pc->type is NONE, pc->parent_type is NONE => *type is WORD, *parent_type is NONE
+parse_word : orig_line is 3, orig_col is 31, pc->text() 'unsigned'
+ pc->type is WORD, pc->parent_type is NONE => *type is TYPE, *parent_type is NONE
+parse_whitespace : orig_line is 3, orig_col is 39, pc->text() ''
+ pc->type is NONE, pc->parent_type is NONE => *type is WHITESPACE, *parent_type is NONE
+parse_word : orig_line is 3, orig_col is 40, pc->text() 'long'
+ pc->type is NONE, pc->parent_type is NONE => *type is WORD, *parent_type is NONE
+parse_word : orig_line is 3, orig_col is 40, pc->text() 'long'
+ pc->type is WORD, pc->parent_type is NONE => *type is TYPE, *parent_type is NONE
+parse_whitespace : orig_line is 3, orig_col is 44, pc->text() ''
+ pc->type is NONE, pc->parent_type is NONE => *type is WHITESPACE, *parent_type is NONE
+parse_word : orig_line is 3, orig_col is 45, pc->text() 'nI'
+ pc->type is NONE, pc->parent_type is NONE => *type is WORD, *parent_type is NONE
+parse_next : orig_line is 3, orig_col is 47, pc->text() ')'
+ pc->type is NONE, pc->parent_type is NONE => *type is PAREN_CLOSE, *parent_type is NONE
+parse_whitespace : orig_line is 3, orig_col is 48, pc->text() ''
+ pc->type is NONE, pc->parent_type is NONE => *type is WHITESPACE, *parent_type is NONE
+parse_next : orig_line is 3, orig_col is 49, pc->text() ':'
+ pc->type is NONE, pc->parent_type is NONE => *type is COLON, *parent_type is NONE
+parse_whitespace : orig_line is 3, orig_col is 50, pc->text() <Newline>
+ pc->type is NONE, pc->parent_type is NONE => *type is NEWLINE, *parent_type is NONE
+parse_word : orig_line is 4, orig_col is 1, pc->text() 'pTelName'
+ pc->type is NONE, pc->parent_type is NONE => *type is WORD, *parent_type is NONE
+parse_next : orig_line is 4, orig_col is 9, pc->text() '('
+ pc->type is NONE, pc->parent_type is NONE => *type is PAREN_OPEN, *parent_type is NONE
+parse_word : orig_line is 4, orig_col is 10, pc->text() 'pN'
+ pc->type is NONE, pc->parent_type is NONE => *type is WORD, *parent_type is NONE
+parse_next : orig_line is 4, orig_col is 12, pc->text() ')'
+ pc->type is NONE, pc->parent_type is NONE => *type is PAREN_CLOSE, *parent_type is NONE
+parse_next : orig_line is 4, orig_col is 13, pc->text() ','
+ pc->type is NONE, pc->parent_type is NONE => *type is COMMA, *parent_type is NONE
+parse_whitespace : orig_line is 4, orig_col is 14, pc->text() <Newline>
+ pc->type is NONE, pc->parent_type is NONE => *type is NEWLINE, *parent_type is NONE
+parse_word : orig_line is 5, orig_col is 1, pc->text() 'nTelIndex'
+ pc->type is NONE, pc->parent_type is NONE => *type is WORD, *parent_type is NONE
+parse_next : orig_line is 5, orig_col is 10, pc->text() '('
+ pc->type is NONE, pc->parent_type is NONE => *type is PAREN_OPEN, *parent_type is NONE
+parse_word : orig_line is 5, orig_col is 11, pc->text() 'n'
+ pc->type is NONE, pc->parent_type is NONE => *type is WORD, *parent_type is NONE
+parse_next : orig_line is 5, orig_col is 12, pc->text() ')'
+ pc->type is NONE, pc->parent_type is NONE => *type is PAREN_CLOSE, *parent_type is NONE
+parse_whitespace : orig_line is 5, orig_col is 13, pc->text() <Newline>
+ pc->type is NONE, pc->parent_type is NONE => *type is NEWLINE, *parent_type is NONE
+parse_next : orig_line is 6, orig_col is 1, pc->text() '{'
+ pc->type is NONE, pc->parent_type is NONE => *type is BRACE_OPEN, *parent_type is NONE
+parse_whitespace : orig_line is 6, orig_col is 2, pc->text() <Newline>
+ pc->type is NONE, pc->parent_type is NONE => *type is NEWLINE, *parent_type is NONE
+parse_next : orig_line is 7, orig_col is 1, pc->text() '}'
+ pc->type is NONE, pc->parent_type is NONE => *type is BRACE_CLOSE, *parent_type is NONE
+parse_whitespace : orig_line is 7, orig_col is 2, pc->text() <Newline>
+ pc->type is NONE, pc->parent_type is NONE => *type is NEWLINE, *parent_type is NONE
+parse_next : orig_line is 9, orig_col is 1, pc->text() '~'
+ pc->type is NONE, pc->parent_type is NONE => *type is INV, *parent_type is NONE
+parse_word : orig_line is 9, orig_col is 2, pc->text() 'TelegramIndex'
+ pc->type is NONE, pc->parent_type is NONE => *type is WORD, *parent_type is NONE
+parse_next : orig_line is 9, orig_col is 15, pc->text() '('
+ pc->type is NONE, pc->parent_type is NONE => *type is PAREN_OPEN, *parent_type is NONE
+parse_next : orig_line is 9, orig_col is 16, pc->text() ')'
+ pc->type is NONE, pc->parent_type is NONE => *type is PAREN_CLOSE, *parent_type is NONE
+parse_whitespace : orig_line is 9, orig_col is 17, pc->text() <Newline>
+ pc->type is NONE, pc->parent_type is NONE => *type is NEWLINE, *parent_type is NONE
+parse_next : orig_line is 10, orig_col is 1, pc->text() '{'
+ pc->type is NONE, pc->parent_type is NONE => *type is BRACE_OPEN, *parent_type is NONE
+parse_whitespace : orig_line is 10, orig_col is 2, pc->text() <Newline>
+ pc->type is NONE, pc->parent_type is NONE => *type is NEWLINE, *parent_type is NONE
+parse_next : orig_line is 11, orig_col is 1, pc->text() '}'
+ pc->type is NONE, pc->parent_type is NONE => *type is BRACE_CLOSE, *parent_type is NONE
+parse_whitespace : orig_line is 11, orig_col is 2, pc->text() <Newline>
+ pc->type is NONE, pc->parent_type is NONE => *type is NEWLINE, *parent_type is NONE
+parse_word : orig_line is 13, orig_col is 1, pc->text() 'const'
+ pc->type is NONE, pc->parent_type is NONE => *type is WORD, *parent_type is NONE
+parse_word : orig_line is 13, orig_col is 1, pc->text() 'const'
+ pc->type is WORD, pc->parent_type is NONE => *type is QUALIFIER, *parent_type is NONE
+parse_whitespace : orig_line is 13, orig_col is 6, pc->text() ''
+ pc->type is NONE, pc->parent_type is NONE => *type is WHITESPACE, *parent_type is NONE
+parse_word : orig_line is 13, orig_col is 7, pc->text() 'char'
+ pc->type is NONE, pc->parent_type is NONE => *type is WORD, *parent_type is NONE
+parse_word : orig_line is 13, orig_col is 7, pc->text() 'char'
+ pc->type is WORD, pc->parent_type is NONE => *type is TYPE, *parent_type is NONE
+parse_next : orig_line is 13, orig_col is 11, pc->text() '*'
+ pc->type is NONE, pc->parent_type is NONE => *type is STAR, *parent_type is NONE
+parse_whitespace : orig_line is 13, orig_col is 12, pc->text() ''
+ pc->type is NONE, pc->parent_type is NONE => *type is WHITESPACE, *parent_type is NONE
+parse_word : orig_line is 13, orig_col is 13, pc->text() 'const'
+ pc->type is NONE, pc->parent_type is NONE => *type is WORD, *parent_type is NONE
+parse_word : orig_line is 13, orig_col is 13, pc->text() 'const'
+ pc->type is WORD, pc->parent_type is NONE => *type is QUALIFIER, *parent_type is NONE
+parse_whitespace : orig_line is 13, orig_col is 18, pc->text() ''
+ pc->type is NONE, pc->parent_type is NONE => *type is WHITESPACE, *parent_type is NONE
+parse_word : orig_line is 13, orig_col is 19, pc->text() 'pTelName'
+ pc->type is NONE, pc->parent_type is NONE => *type is WORD, *parent_type is NONE
+parse_next : orig_line is 13, orig_col is 27, pc->text() ';'
+ pc->type is NONE, pc->parent_type is NONE => *type is SEMICOLON, *parent_type is NONE
+parse_whitespace : orig_line is 13, orig_col is 28, pc->text() <Newline>
+ pc->type is NONE, pc->parent_type is NONE => *type is NEWLINE, *parent_type is NONE
+parse_word : orig_line is 14, orig_col is 1, pc->text() 'unsigned'
+ pc->type is NONE, pc->parent_type is NONE => *type is WORD, *parent_type is NONE
+parse_word : orig_line is 14, orig_col is 1, pc->text() 'unsigned'
+ pc->type is WORD, pc->parent_type is NONE => *type is TYPE, *parent_type is NONE
+parse_whitespace : orig_line is 14, orig_col is 9, pc->text() ''
+ pc->type is NONE, pc->parent_type is NONE => *type is WHITESPACE, *parent_type is NONE
+parse_word : orig_line is 14, orig_col is 10, pc->text() 'long'
+ pc->type is NONE, pc->parent_type is NONE => *type is WORD, *parent_type is NONE
+parse_word : orig_line is 14, orig_col is 10, pc->text() 'long'
+ pc->type is WORD, pc->parent_type is NONE => *type is TYPE, *parent_type is NONE
+parse_whitespace : orig_line is 14, orig_col is 14, pc->text() ''
+ pc->type is NONE, pc->parent_type is NONE => *type is WHITESPACE, *parent_type is NONE
+parse_word : orig_line is 14, orig_col is 15, pc->text() 'nTelIndex'
+ pc->type is NONE, pc->parent_type is NONE => *type is WORD, *parent_type is NONE
+parse_next : orig_line is 14, orig_col is 24, pc->text() ';'
+ pc->type is NONE, pc->parent_type is NONE => *type is SEMICOLON, *parent_type is NONE
+parse_whitespace : orig_line is 14, orig_col is 25, pc->text() <Newline>
+ pc->type is NONE, pc->parent_type is NONE => *type is NEWLINE, *parent_type is NONE
+parse_next : orig_line is 15, orig_col is 1, pc->text() '}'
+ pc->type is NONE, pc->parent_type is NONE => *type is BRACE_CLOSE, *parent_type is NONE
+parse_next : orig_line is 15, orig_col is 2, pc->text() ';'
+ pc->type is NONE, pc->parent_type is NONE => *type is SEMICOLON, *parent_type is NONE
+parse_whitespace : orig_line is 15, orig_col is 3, pc->text() <Newline>
+ pc->type is NONE, pc->parent_type is NONE => *type is NEWLINE, *parent_type is NONE
+tokenize_cleanup : orig_line is 1, orig_col is 8, pc->text() 'TelegramIndex'
+ pc->type is WORD, pc->parent_type is NONE => *type is TYPE, *parent_type is NONE
+tokenize_cleanup : orig_line is 3, orig_col is 25, pc->text() '*'
+ pc->type is STAR, pc->parent_type is NONE => *type is PTR_TYPE, *parent_type is NONE
+tokenize_cleanup : orig_line is 13, orig_col is 11, pc->text() '*'
+ pc->type is STAR, pc->parent_type is NONE => *type is PTR_TYPE, *parent_type is NONE
+try_find_end_chunk : orig_line is 1, orig_col is 8, pc->text() 'TelegramIndex'
+ pc->type is TYPE, pc->parent_type is NONE => *type is WORD, *parent_type is NONE
+make_type : orig_line is 1, orig_col is 8, pc->text() 'TelegramIndex'
+ pc->type is WORD, pc->parent_type is NONE => *type is TYPE, *parent_type is NONE
+mark_constructors : orig_line is 3, orig_col is 1, pc->text() 'TelegramIndex'
+ pc->type is WORD, pc->parent_type is NONE => *type is FUNC_CLASS_DEF, *parent_type is NONE
+flag_parens : orig_line is 3, orig_col is 14, pc->text() '('
+ pc->type is PAREN_OPEN, pc->parent_type is NONE => *type is FPAREN_OPEN, *parent_type is NONE
+flag_parens : orig_line is 3, orig_col is 47, pc->text() ')'
+ pc->type is PAREN_CLOSE, pc->parent_type is NONE => *type is FPAREN_CLOSE, *parent_type is NONE
+mark_cpp_constructor : orig_line is 3, orig_col is 49, pc->text() ':'
+ pc->type is COLON, pc->parent_type is NONE => *type is CONSTR_COLON, *parent_type is NONE
+mark_cpp_constructor : orig_line is 4, orig_col is 1, pc->text() 'pTelName'
+ pc->type is WORD, pc->parent_type is NONE => *type is FUNC_CTOR_VAR, *parent_type is NONE
+flag_parens : orig_line is 4, orig_col is 9, pc->text() '('
+ pc->type is PAREN_OPEN, pc->parent_type is NONE => *type is FPAREN_OPEN, *parent_type is NONE
+flag_parens : orig_line is 4, orig_col is 12, pc->text() ')'
+ pc->type is PAREN_CLOSE, pc->parent_type is NONE => *type is FPAREN_CLOSE, *parent_type is NONE
+mark_cpp_constructor : orig_line is 5, orig_col is 1, pc->text() 'nTelIndex'
+ pc->type is WORD, pc->parent_type is NONE => *type is FUNC_CTOR_VAR, *parent_type is NONE
+flag_parens : orig_line is 5, orig_col is 10, pc->text() '('
+ pc->type is PAREN_OPEN, pc->parent_type is NONE => *type is FPAREN_OPEN, *parent_type is NONE
+flag_parens : orig_line is 5, orig_col is 12, pc->text() ')'
+ pc->type is PAREN_CLOSE, pc->parent_type is NONE => *type is FPAREN_CLOSE, *parent_type is NONE
+mark_constructors : orig_line is 9, orig_col is 2, pc->text() 'TelegramIndex'
+ pc->type is WORD, pc->parent_type is NONE => *type is FUNC_CLASS_DEF, *parent_type is NONE
+mark_cpp_constructor : orig_line is 9, orig_col is 1, pc->text() '~'
+ pc->type is INV, pc->parent_type is NONE => *type is DESTRUCTOR, *parent_type is NONE
+flag_parens : orig_line is 9, orig_col is 15, pc->text() '('
+ pc->type is PAREN_OPEN, pc->parent_type is NONE => *type is FPAREN_OPEN, *parent_type is NONE
+flag_parens : orig_line is 9, orig_col is 16, pc->text() ')'
+ pc->type is PAREN_CLOSE, pc->parent_type is NONE => *type is FPAREN_CLOSE, *parent_type is NONE
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/Debug_tracking_space.html b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/Debug_tracking_space.html
new file mode 100644
index 00000000..b7adc237
--- /dev/null
+++ b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/Debug_tracking_space.html
@@ -0,0 +1,23 @@
+<html>
+<head>
+ <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
+ <title>Uncrustify: where do the Spaces options work</title>
+</head>
+<body lang="en-US">
+<p>
+</p>
+<pre>
+{<a title="1,REMOVE"><font color="red">M</font></a>
+ a<a title="2,sp_assign"><font color="red">M</font></a>=<a title="3,86,sp_assign"><font color="red">M</font></a>b<a title="4,87,93,sp_arith"><font color="red">M</font></a>+<a title="5,88,94,99,sp_arith"><font color="red">M</font></a>111<a title="6,89,95,100,104,sp_arith"><font color="red">M</font></a>-<a title="7,90,96,101,105,108,sp_arith"><font color="red">M</font></a>55<a title="8,91,97,102,106,109,111,sp_before_semi"><font color="red">M</font></a>;<a title="9,92,98,103,107,110,112,113,REMOVE"><font color="red">M</font></a>
+}<a title="10,REMOVE"><font color="red">M</font></a>
+template<a title="11,sp_before_angle"><font color="red">M</font></a>&lt;<a title="12,114,sp_inside_angle"><font color="red">M</font></a>typename<a title="13,115,123,ADD from add_space_table"><font color="red">M</font></a>...<a title="14,116,124,131,sp_ellipsis_parameter_pack"><font color="red">M</font></a>A<a title="15,117,125,132,138,sp_before_comma"><font color="red">M</font></a>,<a title="16,118,126,133,139,144,sp_after_comma"><font color="red">M</font></a>int<a title="17,119,127,134,140,145,149,sp_type_ellipsis"><font color="red">M</font></a>...<a title="18,120,128,135,141,146,150,153,FORCE"><font color="red">M</font></a>B<a title="19,121,129,136,142,147,151,154,156,sp_inside_angle"><font color="red">M</font></a>&gt;<a title="20,122,130,137,143,148,152,155,157,158,REMOVE"><font color="red">M</font></a>
+struct<a title="21,ADD from add_space_table"><font color="red">M</font></a>foo1<a title="22,159,sp_after_type"><font color="red">M</font></a>:<a title="23,160,177,ADD from add_space_table"><font color="red">M</font></a>foo1<a title="24,161,178,194,sp_before_angle"><font color="red">M</font></a>&lt;<a title="25,162,179,195,210,sp_inside_angle"><font color="red">M</font></a>A<a title="26,163,180,196,211,225,sp_parameter_pack_ellipsis"><font color="red">M</font></a>...<a title="27,164,181,197,212,226,239,sp_before_comma"><font color="red">M</font></a>,<a title="28,165,182,198,213,227,240,252,sp_after_comma"><font color="red">M</font></a>(<a title="29,166,183,199,214,228,241,253,264,sp_inside_paren"><font color="red">M</font></a>sizeof<a title="30,167,184,200,215,229,242,254,265,275,sp_sizeof_ellipsis"><font color="red">M</font></a>...<a title="31,168,185,201,216,230,243,255,266,276,285,sp_sizeof_ellipsis_paren"><font color="red">M</font></a>(<a title="32,169,186,202,217,231,244,256,267,277,286,294,sp_inside_paren"><font color="red">M</font></a>A<a title="33,170,187,203,218,232,245,257,268,278,287,295,302,sp_inside_paren"><font color="red">M</font></a>)<a title="34,171,188,204,219,233,246,258,269,279,288,296,303,309,sp_arith"><font color="red">M</font></a>+<a title="35,172,189,205,220,234,247,259,270,280,289,297,304,310,315,sp_arith"><font color="red">M</font></a>B<a title="36,173,190,206,221,235,248,260,271,281,290,298,305,311,316,320,sp_inside_paren"><font color="red">M</font></a>)<a title="37,174,191,207,222,236,249,261,272,282,291,299,306,312,317,321,324,sp_paren_ellipsis"><font color="red">M</font></a>...<a title="38,175,192,208,223,237,250,262,273,283,292,300,307,313,318,322,325,327,sp_inside_angle"><font color="red">M</font></a>&gt;<a title="39,176,193,209,224,238,251,263,274,284,293,301,308,314,319,323,326,328,329,REMOVE"><font color="red">M</font></a>
+{<a title="40,REMOVE"><font color="red">M</font></a>
+ foo1<a title="41,64,sp_func_class_paren"><font color="red">M</font></a>(<a title="42,65,330,sp_inside_fparens"><font color="red">M</font></a>)<a title="43,66,331,333,sp_fparen_brace"><font color="red">M</font></a>{<a title="44,67,332,334,335,REMOVE"><font color="red">M</font></a>
+ int<a title="45,68,sp_after_type"><font color="red">M</font></a>x<a title="46,69,336,sp_assign"><font color="red">M</font></a>=<a title="47,70,337,344,sp_assign"><font color="red">M</font></a>sizeof<a title="48,71,338,345,351,sp_sizeof_ellipsis"><font color="red">M</font></a>...<a title="49,72,339,346,352,357,sp_sizeof_ellipsis_paren"><font color="red">M</font></a>(<a title="50,73,340,347,353,358,362,sp_inside_paren"><font color="red">M</font></a>A<a title="51,74,341,348,354,359,363,366,sp_inside_paren"><font color="red">M</font></a>)<a title="52,75,342,349,355,360,364,367,369,sp_before_semi"><font color="red">M</font></a>;<a title="53,76,343,350,356,361,365,368,370,371,REMOVE"><font color="red">M</font></a>
+ bool<a title="54,77,sp_after_type"><font color="red">M</font></a>b<a title="55,78,372,sp_assign"><font color="red">M</font></a>=<a title="56,79,373,378,sp_assign"><font color="red">M</font></a>x<a title="57,80,374,379,383,sp_compare"><font color="red">M</font></a>><a title="58,81,375,380,384,387,sp_compare"><font color="red">M</font></a>1<a title="59,82,376,381,385,388,390,sp_before_semi"><font color="red">M</font></a>;<a title="60,83,377,382,386,389,391,392,REMOVE"><font color="red">M</font></a>
+ }<a title="61,84,REMOVE"><font color="red">M</font></a>
+}<a title="62,sp_before_semi"><font color="red">M</font></a>;<a title="63,393,REMOVE"><font color="red">M</font></a>
+</pre>
+</body>
+</html>
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/I-842.txt b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/I-842.txt
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/I-842.txt
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/backup.h b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/backup.h
new file mode 100644
index 00000000..210c6f7c
--- /dev/null
+++ b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/backup.h
@@ -0,0 +1,4 @@
+int main()
+{
+ a = b + c;
+}
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/class_enum_struct_union.csv b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/class_enum_struct_union.csv
new file mode 100644
index 00000000..3b5c4a4e
--- /dev/null
+++ b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/class_enum_struct_union.csv
@@ -0,0 +1,685 @@
+number of loops,1,
+language,CPP,
+Line,Tag,Parent_type,Type of the parent,Column,Orig Col Strt,Orig Col End,Orig Sp Before,Br,Lvl,pp,Flags,Nl Before,Nl After,Text,
+1,COMMENT_MULTI,COMMENT_WHOLE,PARENT_NOT_SET,1,4,7,3,0,0,0,"",9,0," /**␤ * the enum (and variable declarations thereof) could be of␤ * the following forms:␤ *␤ * ""enum type [: integral_type] { ... } [x, ...]""␤ * ""enum type [: integral_type]""␤ * ""enum class type [: integral_type] { ... } [x, ...]""␤ * ""enum class type [: integral_type]""␤ * ""enum [: integral_type] { ... } x, ...""␤ */"
+10,NEWLINE,NONE,PARENT_NOT_SET,7,7,4,0,0,0,0,"",2,0,
+12,COMMENT_MULTI,COMMENT_WHOLE,PARENT_NOT_SET,1,4,7,0,0,0,0,"",9,0," /**␤ * the class/struct (and variable declarations thereof) could be of␤ * the following forms:␤ *␤ * template<...> class/struct[<...>] [macros/attributes ...] type [: bases ...] { }␤ * template<...> class/struct[<...>] [macros/attributes ...] type␤ * class/struct[ [macros/attributes ...] type [: bases ...] { } [x, ...]␤ * class/struct [macros/attributes ...] type [x, ...]␤ * class/struct [macros/attributes ...] [: bases] { } x, ...␤ */"
+21,NEWLINE,NONE,PARENT_NOT_SET,7,7,1,0,0,0,0,"",2,0,
+23,PREPROC,PP_DEFINE,PARENT_NOT_SET,1,1,2,0,1,1,0,"IN_PREPROC,STMT_START,EXPR_START,DONT_INDENT,PUNCTUATOR",0,0," #"
+23,PP_DEFINE,NONE,PARENT_NOT_SET,2,2,8,0,1,1,0,"IN_PREPROC,FORCE_SPACE",0,0," define"
+23,MACRO_FUNC,NONE,PARENT_NOT_SET,9,9,16,1,1,1,0,"IN_PREPROC,EXPR_START",0,0," ALIGNAS"
+23,FPAREN_OPEN,MACRO_FUNC,PARENT_NOT_SET,16,16,17,0,1,1,0,"IN_PREPROC,PUNCTUATOR",0,0," ("
+23,WORD,NONE,PARENT_NOT_SET,17,17,31,0,1,2,0,"IN_PREPROC,IN_FCN_CALL,EXPR_START",0,0," byte_alignment"
+23,FPAREN_CLOSE,MACRO_FUNC,PARENT_NOT_SET,31,31,32,0,1,1,0,"IN_PREPROC,IN_FCN_CALL,PUNCTUATOR",0,0," )"
+23,ATTRIBUTE,NONE,PARENT_NOT_SET,33,33,46,1,1,1,0,"IN_PREPROC",0,0," __attribute__"
+23,FPAREN_OPEN,ATTRIBUTE,PARENT_NOT_SET,46,46,47,0,1,1,0,"IN_PREPROC,PUNCTUATOR",0,0," ("
+23,PAREN_OPEN,NONE,PARENT_NOT_SET,47,47,48,0,1,2,0,"IN_PREPROC,EXPR_START,PUNCTUATOR",0,0," ("
+23,FUNC_CALL,NONE,PARENT_NOT_SET,48,48,55,0,1,3,0,"IN_PREPROC,EXPR_START",0,0," aligned"
+23,FPAREN_OPEN,FUNC_CALL,PARENT_NOT_SET,55,55,56,0,1,3,0,"IN_PREPROC,PUNCTUATOR",0,0," ("
+23,WORD,NONE,PARENT_NOT_SET,56,56,70,0,1,4,0,"IN_PREPROC,IN_FCN_CALL,EXPR_START",0,0," byte_alignment"
+23,FPAREN_CLOSE,FUNC_CALL,PARENT_NOT_SET,70,70,71,0,1,3,0,"IN_PREPROC,IN_FCN_CALL,PUNCTUATOR",0,0," )"
+23,PAREN_CLOSE,NONE,PARENT_NOT_SET,71,71,72,0,1,2,0,"IN_PREPROC,PUNCTUATOR",0,0," )"
+23,FPAREN_CLOSE,ATTRIBUTE,PARENT_NOT_SET,72,72,73,0,1,1,0,"IN_PREPROC,PUNCTUATOR",0,0," )"
+23,NEWLINE,NONE,PARENT_NOT_SET,73,73,1,0,0,0,0,"",2,0,
+25,PREPROC,PP_IF,PARENT_NOT_SET,1,1,2,0,0,0,0,"IN_PREPROC,DONT_INDENT,PUNCTUATOR",0,0," #"
+25,PP_IF,NONE,PARENT_NOT_SET,2,2,4,0,0,0,1,"IN_PREPROC,FORCE_SPACE",0,0," if"
+25,PP_DEFINED,NONE,PARENT_NOT_SET,5,5,12,1,0,0,1,"IN_PREPROC,EXPR_START",0,0," defined"
+25,PAREN_OPEN,NONE,PARENT_NOT_SET,13,13,14,1,0,0,1,"IN_PREPROC,PUNCTUATOR",0,0," ("
+25,WORD,NONE,PARENT_NOT_SET,14,14,22,0,0,0,1,"IN_PREPROC,EXPR_START",0,0," __unix__"
+25,PAREN_CLOSE,NONE,PARENT_NOT_SET,22,22,23,0,0,0,1,"IN_PREPROC,PUNCTUATOR",0,0," )"
+25,BOOL,NONE,PARENT_NOT_SET,24,24,26,1,0,0,1,"IN_PREPROC,PUNCTUATOR",0,0," ||"
+25,PAREN_OPEN,NONE,PARENT_NOT_SET,27,27,28,1,0,0,1,"IN_PREPROC,PUNCTUATOR",0,0," ("
+25,PP_DEFINED,NONE,PARENT_NOT_SET,28,28,35,0,0,0,1,"IN_PREPROC,EXPR_START",0,0," defined"
+25,PAREN_OPEN,NONE,PARENT_NOT_SET,36,36,37,1,0,0,1,"IN_PREPROC,PUNCTUATOR",0,0," ("
+25,WORD,NONE,PARENT_NOT_SET,37,37,46,0,0,0,1,"IN_PREPROC,EXPR_START",0,0," __APPLE__"
+25,PAREN_CLOSE,NONE,PARENT_NOT_SET,46,46,47,0,0,0,1,"IN_PREPROC,PUNCTUATOR",0,0," )"
+25,BOOL,NONE,PARENT_NOT_SET,48,48,50,1,0,0,1,"IN_PREPROC,PUNCTUATOR",0,0," &&"
+25,PP_DEFINED,NONE,PARENT_NOT_SET,51,51,58,1,0,0,1,"IN_PREPROC",0,0," defined"
+25,PAREN_OPEN,NONE,PARENT_NOT_SET,59,59,60,1,0,0,1,"IN_PREPROC,PUNCTUATOR",0,0," ("
+25,WORD,NONE,PARENT_NOT_SET,60,60,68,0,0,0,1,"IN_PREPROC,EXPR_START",0,0," __MACH__"
+25,PAREN_CLOSE,NONE,PARENT_NOT_SET,68,68,69,0,0,0,1,"IN_PREPROC,PUNCTUATOR",0,0," )"
+25,PAREN_CLOSE,NONE,PARENT_NOT_SET,69,69,70,0,0,0,1,"IN_PREPROC,PUNCTUATOR",0,0," )"
+25,NEWLINE,NONE,PARENT_NOT_SET,70,70,1,0,0,0,1,"",1,0,
+26,PREPROC,PP_DEFINE,PARENT_NOT_SET,1,1,2,0,1,1,1,"IN_PREPROC,STMT_START,EXPR_START,DONT_INDENT,PUNCTUATOR",0,0," #"
+26,PP_DEFINE,NONE,PARENT_NOT_SET,2,2,8,0,1,1,1,"IN_PREPROC,FORCE_SPACE",0,0," define"
+26,MACRO,NONE,PARENT_NOT_SET,9,9,19,1,1,1,1,"IN_PREPROC,FORCE_SPACE",0,0," API_EXPORT"
+26,ATTRIBUTE,NONE,PARENT_NOT_SET,20,20,33,1,1,1,1,"IN_PREPROC,EXPR_START",0,0," __attribute__"
+26,FPAREN_OPEN,ATTRIBUTE,PARENT_NOT_SET,34,34,35,1,1,1,1,"IN_PREPROC,STMT_START,EXPR_START,PUNCTUATOR",0,0," ("
+26,PAREN_OPEN,NONE,PARENT_NOT_SET,35,35,36,0,1,2,1,"IN_PREPROC,EXPR_START,PUNCTUATOR",0,0," ("
+26,FUNC_CALL,NONE,PARENT_NOT_SET,36,36,46,0,1,3,1,"IN_PREPROC,EXPR_START",0,0," visibility"
+26,FPAREN_OPEN,FUNC_CALL,PARENT_NOT_SET,46,46,47,0,1,3,1,"IN_PREPROC,PUNCTUATOR",0,0," ("
+26,STRING,PP_INCLUDE,PARENT_NOT_SET,47,47,56,0,1,4,1,"IN_PREPROC,IN_FCN_CALL,EXPR_START",0,0," ""default"""
+26,FPAREN_CLOSE,FUNC_CALL,PARENT_NOT_SET,56,56,57,0,1,3,1,"IN_PREPROC,IN_FCN_CALL,PUNCTUATOR",0,0," )"
+26,PAREN_CLOSE,NONE,PARENT_NOT_SET,57,57,58,0,1,2,1,"IN_PREPROC,PUNCTUATOR",0,0," )"
+26,FPAREN_CLOSE,ATTRIBUTE,PARENT_NOT_SET,58,58,59,0,1,1,1,"IN_PREPROC,PUNCTUATOR",0,0," )"
+26,NEWLINE,NONE,PARENT_NOT_SET,59,59,1,0,0,0,1,"",1,0,
+27,PREPROC,PP_ELSE,PARENT_NOT_SET,1,1,2,0,0,0,0,"IN_PREPROC,DONT_INDENT,PUNCTUATOR",0,0," #"
+27,PP_ELSE,NONE,PP_IF,2,2,6,0,0,0,1,"IN_PREPROC,FORCE_SPACE",0,0," elif"
+27,PP_DEFINED,NONE,PARENT_NOT_SET,7,7,14,1,0,0,1,"IN_PREPROC,FORCE_SPACE,EXPR_START",0,0," defined"
+27,WORD,NONE,PARENT_NOT_SET,15,15,21,1,0,0,1,"IN_PREPROC",0,0," _WIN32"
+27,NEWLINE,NONE,PARENT_NOT_SET,21,21,1,0,0,0,1,"",1,0,
+28,PREPROC,PP_DEFINE,PARENT_NOT_SET,1,1,2,0,1,1,1,"IN_PREPROC,STMT_START,EXPR_START,DONT_INDENT,PUNCTUATOR",0,0," #"
+28,PP_DEFINE,NONE,PARENT_NOT_SET,2,2,8,0,1,1,1,"IN_PREPROC,FORCE_SPACE",0,0," define"
+28,MACRO,NONE,PARENT_NOT_SET,9,9,19,1,1,1,1,"IN_PREPROC,FORCE_SPACE",0,0," API_EXPORT"
+28,DECLSPEC,NONE,PARENT_NOT_SET,20,20,30,1,1,1,1,"IN_PREPROC,STMT_START,EXPR_START",0,0," __declspec"
+28,PAREN_OPEN,DECLSPEC,PARENT_NOT_SET,30,30,31,0,1,1,1,"IN_PREPROC,PUNCTUATOR",0,0," ("
+28,WORD,NONE,PARENT_NOT_SET,31,31,40,0,1,2,1,"IN_PREPROC,EXPR_START",0,0," dllexport"
+28,PAREN_CLOSE,DECLSPEC,PARENT_NOT_SET,40,40,41,0,1,1,1,"IN_PREPROC,PUNCTUATOR",0,0," )"
+28,NEWLINE,NONE,PARENT_NOT_SET,41,41,1,0,0,0,1,"",1,0,
+29,PREPROC,PP_ELSE,PARENT_NOT_SET,1,1,2,0,0,0,0,"IN_PREPROC,DONT_INDENT,PUNCTUATOR",0,0," #"
+29,PP_ELSE,NONE,PP_IF,2,2,6,0,0,0,1,"IN_PREPROC",0,0," else"
+29,NEWLINE,NONE,PARENT_NOT_SET,6,6,1,0,0,0,1,"",1,0,
+30,PREPROC,PP_DEFINE,PARENT_NOT_SET,1,1,2,0,1,1,1,"IN_PREPROC,STMT_START,EXPR_START,DONT_INDENT,PUNCTUATOR",0,0," #"
+30,PP_DEFINE,NONE,PARENT_NOT_SET,2,2,8,0,1,1,1,"IN_PREPROC,FORCE_SPACE",0,0," define"
+30,MACRO,NONE,PARENT_NOT_SET,9,9,19,1,1,1,1,"IN_PREPROC",0,0," API_EXPORT"
+30,NEWLINE,NONE,PARENT_NOT_SET,19,19,1,0,0,0,1,"",1,0,
+31,PREPROC,PP_ENDIF,PARENT_NOT_SET,1,1,2,0,0,0,0,"IN_PREPROC,DONT_INDENT,PUNCTUATOR",0,0," #"
+31,PP_ENDIF,NONE,PP_IF,2,2,7,0,0,0,0,"IN_PREPROC",0,0," endif"
+31,NEWLINE,NONE,PARENT_NOT_SET,7,7,1,0,0,0,0,"",2,0,
+33,NAMESPACE,NONE,PARENT_NOT_SET,1,1,10,0,0,0,0,"FORCE_SPACE,STMT_START,EXPR_START",0,0," namespace"
+33,WORD,NAMESPACE,PARENT_NOT_SET,11,11,26,1,0,0,0,"",0,0," outer_namespace"
+33,NEWLINE,NONE,PARENT_NOT_SET,26,26,1,0,0,0,0,"",1,0,
+34,BRACE_OPEN,NAMESPACE,PARENT_NOT_SET,1,1,2,0,0,0,0,"PUNCTUATOR",0,0," {"
+34,NEWLINE,NONE,PARENT_NOT_SET,2,2,1,0,1,1,0,"IN_NAMESPACE",2,0,
+36,NAMESPACE,NONE,PARENT_NOT_SET,1,1,10,0,1,1,0,"IN_NAMESPACE,FORCE_SPACE,STMT_START,EXPR_START",0,0," namespace"
+36,WORD,NAMESPACE,PARENT_NOT_SET,11,11,26,1,1,1,0,"IN_NAMESPACE",0,0," inner_namespace"
+36,NEWLINE,NONE,PARENT_NOT_SET,26,26,1,0,1,1,0,"IN_NAMESPACE",1,0,
+37,BRACE_OPEN,NAMESPACE,PARENT_NOT_SET,1,1,2,0,1,1,0,"IN_NAMESPACE,PUNCTUATOR",0,0," {"
+37,NEWLINE,NONE,PARENT_NOT_SET,2,2,1,0,2,2,0,"IN_NAMESPACE",2,0,
+39,CLASS,NONE,PARENT_NOT_SET,1,1,6,0,2,2,0,"IN_NAMESPACE,FORCE_SPACE,STMT_START,EXPR_START",0,0," class"
+39,TYPE,CLASS,PARENT_NOT_SET,7,7,12,1,2,2,0,"IN_NAMESPACE",0,0," Base1"
+39,BRACE_OPEN,CLASS,PARENT_NOT_SET,13,13,14,1,2,2,0,"IN_CLASS,IN_NAMESPACE,ONE_LINER,EMPTY_BODY,PUNCTUATOR",0,0," {"
+39,BRACE_CLOSE,CLASS,PARENT_NOT_SET,15,15,16,1,2,2,0,"IN_CLASS,IN_NAMESPACE,ONE_LINER,EMPTY_BODY,PUNCTUATOR",0,0," }"
+39,SEMICOLON,CLASS,PARENT_NOT_SET,16,16,17,0,2,2,0,"PUNCTUATOR",0,0," ;"
+39,NEWLINE,NONE,PARENT_NOT_SET,17,17,1,0,2,2,0,"",2,0,
+41,TEMPLATE,NONE,PARENT_NOT_SET,1,1,9,0,2,2,0,"STMT_START,EXPR_START",0,0," template"
+41,ANGLE_OPEN,TEMPLATE,PARENT_NOT_SET,9,9,10,0,2,2,0,"IN_TEMPLATE,PUNCTUATOR",0,0," <"
+41,TYPENAME,NONE,PARENT_NOT_SET,10,10,18,0,2,3,0,"IN_TEMPLATE,EXPR_START",0,0," typename"
+41,ANGLE_CLOSE,TEMPLATE,PARENT_NOT_SET,18,18,19,0,2,2,0,"IN_TEMPLATE,PUNCTUATOR",0,0," >"
+41,CLASS,TEMPLATE,PARENT_NOT_SET,20,20,25,1,2,2,0,"FORCE_SPACE,EXPR_START",0,0," class"
+41,TYPE,CLASS,PARENT_NOT_SET,26,26,31,1,2,2,0,"",0,0," Base2"
+41,BRACE_OPEN,CLASS,PARENT_NOT_SET,32,32,33,1,2,2,0,"IN_CLASS,ONE_LINER,EMPTY_BODY,PUNCTUATOR",0,0," {"
+41,BRACE_CLOSE,CLASS,PARENT_NOT_SET,34,34,35,1,2,2,0,"IN_CLASS,ONE_LINER,EMPTY_BODY,PUNCTUATOR",0,0," }"
+41,SEMICOLON,CLASS,PARENT_NOT_SET,35,35,36,0,2,2,0,"PUNCTUATOR",0,0," ;"
+41,NEWLINE,NONE,PARENT_NOT_SET,36,36,1,0,2,2,0,"",2,0,
+43,BRACE_CLOSE,NAMESPACE,PARENT_NOT_SET,1,1,2,0,1,1,0,"PUNCTUATOR",0,0," }"
+43,NEWLINE,NONE,PARENT_NOT_SET,2,2,1,0,1,1,0,"",2,0,
+45,BRACE_CLOSE,NAMESPACE,PARENT_NOT_SET,1,1,2,0,0,0,0,"PUNCTUATOR",0,0," }"
+45,NEWLINE,NONE,PARENT_NOT_SET,2,2,1,0,0,0,0,"",2,0,
+47,COMMENT_CPP,COMMENT_WHOLE,PARENT_NOT_SET,1,1,82,0,0,0,0,"",0,0," // template<...> class/struct[<...>] [macros/attributes ...] type : bases ... { }"
+47,NEWLINE,NONE,PARENT_NOT_SET,82,82,1,0,0,0,0,"",1,0,
+48,TEMPLATE,NONE,PARENT_NOT_SET,1,1,9,0,0,0,0,"STMT_START,EXPR_START",0,0," template"
+48,ANGLE_OPEN,TEMPLATE,PARENT_NOT_SET,9,9,10,0,0,0,0,"IN_TEMPLATE,PUNCTUATOR",0,0," <"
+48,TYPENAME,NONE,PARENT_NOT_SET,10,10,18,0,0,1,0,"IN_TEMPLATE,EXPR_START",0,0," typename"
+48,COMMA,NONE,PARENT_NOT_SET,18,18,19,0,0,1,0,"IN_TEMPLATE,PUNCTUATOR",0,0," ,"
+48,TYPENAME,NONE,PARENT_NOT_SET,20,20,28,1,0,1,0,"IN_TEMPLATE,EXPR_START",0,0," typename"
+48,ELLIPSIS,NONE,PARENT_NOT_SET,29,29,32,1,0,1,0,"IN_TEMPLATE,PUNCTUATOR",0,0," ..."
+48,ANGLE_CLOSE,TEMPLATE,PARENT_NOT_SET,32,32,33,0,0,0,0,"IN_TEMPLATE,PUNCTUATOR",0,0," >"
+48,NEWLINE,NONE,PARENT_NOT_SET,33,33,1,0,0,0,0,"",1,0,
+49,CLASS,TEMPLATE,PARENT_NOT_SET,1,1,6,0,0,0,0,"FORCE_SPACE,EXPR_START",0,0," class"
+49,WORD,NONE,PARENT_NOT_SET,7,7,17,1,0,0,0,"FORCE_SPACE",0,0," API_EXPORT"
+49,ATTRIBUTE,NONE,PARENT_NOT_SET,18,18,31,1,0,0,0,"",0,0," __attribute__"
+49,FPAREN_OPEN,ATTRIBUTE,PARENT_NOT_SET,31,31,32,0,0,0,0,"PUNCTUATOR",0,0," ("
+49,PAREN_OPEN,NONE,PARENT_NOT_SET,32,32,33,0,0,1,0,"EXPR_START,PUNCTUATOR",0,0," ("
+49,WORD,NONE,PARENT_NOT_SET,33,33,47,0,0,2,0,"EXPR_START",0,0," __deprecated__"
+49,PAREN_CLOSE,NONE,PARENT_NOT_SET,47,47,48,0,0,1,0,"PUNCTUATOR",0,0," )"
+49,FPAREN_CLOSE,ATTRIBUTE,PARENT_NOT_SET,48,48,49,0,0,0,0,"PUNCTUATOR",0,0," )"
+49,MACRO_FUNC_CALL,NONE,PARENT_NOT_SET,50,50,57,1,0,0,0,"",0,0," ALIGNAS"
+49,FPAREN_OPEN,MACRO_FUNC_CALL,PARENT_NOT_SET,57,57,58,0,0,0,0,"PUNCTUATOR",0,0," ("
+49,NUMBER,NONE,PARENT_NOT_SET,58,58,59,0,0,1,0,"EXPR_START",0,0," 4"
+49,FPAREN_CLOSE,MACRO_FUNC_CALL,PARENT_NOT_SET,59,59,60,0,0,0,0,"PUNCTUATOR",0,0," )"
+49,TYPE,CLASS,PARENT_NOT_SET,61,61,63,1,0,0,0,"",0,0," c1"
+49,NEWLINE,NONE,PARENT_NOT_SET,63,63,1,0,0,0,0,"",1,0,
+50,CLASS_COLON,CLASS,PARENT_NOT_SET,9,1,2,0,0,0,0,"IN_CLASS_BASE,PUNCTUATOR",0,0," :"
+50,QUALIFIER,NONE,PARENT_NOT_SET,11,3,9,1,0,0,0,"IN_CLASS_BASE,FORCE_SPACE,STMT_START,EXPR_START",0,0," public"
+50,TYPE,NONE,PARENT_NOT_SET,18,10,25,1,0,0,0,"IN_CLASS_BASE",0,0," outer_namespace"
+50,DC_MEMBER,NONE,PARENT_NOT_SET,33,25,27,0,0,0,0,"IN_CLASS_BASE,PUNCTUATOR",0,0," ::"
+50,TYPE,NONE,PARENT_NOT_SET,35,27,42,0,0,0,0,"IN_CLASS_BASE",0,0," inner_namespace"
+50,DC_MEMBER,NONE,PARENT_NOT_SET,50,42,44,0,0,0,0,"IN_CLASS_BASE,PUNCTUATOR",0,0," ::"
+50,TYPE,NONE,PARENT_NOT_SET,52,44,49,0,0,0,0,"IN_CLASS_BASE",0,0," Base1"
+50,COMMA,NONE,PARENT_NOT_SET,57,49,50,0,0,0,0,"IN_CLASS_BASE,PUNCTUATOR",0,0," ,"
+50,NEWLINE,NONE,PARENT_NOT_SET,58,50,3,0,0,0,0,"",1,0,
+51,QUALIFIER,NONE,PARENT_NOT_SET,9,3,9,0,0,0,0,"IN_CLASS_BASE,FORCE_SPACE,EXPR_START",0,0," public"
+51,TYPE,NONE,PARENT_NOT_SET,16,10,25,1,0,0,0,"IN_CLASS_BASE",0,0," outer_namespace"
+51,DC_MEMBER,NONE,PARENT_NOT_SET,31,25,27,0,0,0,0,"IN_CLASS_BASE,PUNCTUATOR",0,0," ::"
+51,TYPE,NONE,PARENT_NOT_SET,33,27,42,0,0,0,0,"IN_CLASS_BASE",0,0," inner_namespace"
+51,DC_MEMBER,NONE,PARENT_NOT_SET,48,42,44,0,0,0,0,"IN_CLASS_BASE,PUNCTUATOR",0,0," ::"
+51,TYPE,NONE,PARENT_NOT_SET,50,44,49,0,0,0,0,"IN_CLASS_BASE",0,0," Base2"
+51,ANGLE_OPEN,TEMPLATE,PARENT_NOT_SET,55,49,50,0,0,0,0,"IN_TEMPLATE,IN_CLASS_BASE,PUNCTUATOR",0,0," <"
+51,TYPE,NONE,PARENT_NOT_SET,56,50,65,0,0,1,0,"IN_TEMPLATE,IN_CLASS_BASE,EXPR_START",0,0," outer_namespace"
+51,DC_MEMBER,NONE,PARENT_NOT_SET,71,65,67,0,0,1,0,"IN_TEMPLATE,IN_CLASS_BASE,PUNCTUATOR",0,0," ::"
+51,TYPE,NONE,PARENT_NOT_SET,73,67,82,0,0,1,0,"IN_TEMPLATE,IN_CLASS_BASE",0,0," inner_namespace"
+51,DC_MEMBER,NONE,PARENT_NOT_SET,88,82,84,0,0,1,0,"IN_TEMPLATE,IN_CLASS_BASE,PUNCTUATOR",0,0," ::"
+51,TYPE,NONE,PARENT_NOT_SET,90,84,89,0,0,1,0,"IN_TEMPLATE,IN_CLASS_BASE",0,0," Base1"
+51,ANGLE_CLOSE,TEMPLATE,PARENT_NOT_SET,95,89,90,0,0,0,0,"IN_TEMPLATE,IN_CLASS_BASE,PUNCTUATOR",0,0," >"
+51,NEWLINE,NONE,PARENT_NOT_SET,96,90,1,0,0,0,0,"",1,0,
+52,BRACE_OPEN,CLASS,PARENT_NOT_SET,1,1,2,0,0,0,0,"IN_CLASS,EXPR_START,EMPTY_BODY,PUNCTUATOR",0,0," {"
+52,NEWLINE,NONE,PARENT_NOT_SET,2,2,1,0,1,1,0,"IN_CLASS",2,0,
+54,BRACE_CLOSE,CLASS,PARENT_NOT_SET,1,1,2,0,0,0,0,"IN_CLASS,EMPTY_BODY,PUNCTUATOR",0,0," }"
+54,SEMICOLON,CLASS,PARENT_NOT_SET,2,2,3,0,0,0,0,"PUNCTUATOR",0,0," ;"
+54,NEWLINE,NONE,PARENT_NOT_SET,3,3,1,0,0,0,0,"",2,0,
+56,COMMENT_CPP,COMMENT_WHOLE,PARENT_NOT_SET,1,1,70,0,0,0,0,"",0,0," // template<...> class/struct[<...>] [macros/attributes ...] type { }"
+56,NEWLINE,NONE,PARENT_NOT_SET,70,70,1,0,0,0,0,"",1,0,
+57,TEMPLATE,NONE,PARENT_NOT_SET,1,1,9,0,0,0,0,"STMT_START,EXPR_START",0,0," template"
+57,ANGLE_OPEN,TEMPLATE,PARENT_NOT_SET,9,9,10,0,0,0,0,"IN_TEMPLATE,PUNCTUATOR",0,0," <"
+57,TYPENAME,NONE,PARENT_NOT_SET,10,10,18,0,0,1,0,"IN_TEMPLATE,EXPR_START",0,0," typename"
+57,COMMA,NONE,PARENT_NOT_SET,18,18,19,0,0,1,0,"IN_TEMPLATE,PUNCTUATOR",0,0," ,"
+57,TYPENAME,NONE,PARENT_NOT_SET,20,20,28,1,0,1,0,"IN_TEMPLATE,EXPR_START",0,0," typename"
+57,ELLIPSIS,NONE,PARENT_NOT_SET,29,29,32,1,0,1,0,"IN_TEMPLATE,PUNCTUATOR",0,0," ..."
+57,ANGLE_CLOSE,TEMPLATE,PARENT_NOT_SET,32,32,33,0,0,0,0,"IN_TEMPLATE,PUNCTUATOR",0,0," >"
+57,NEWLINE,NONE,PARENT_NOT_SET,33,33,1,0,0,0,0,"",1,0,
+58,CLASS,TEMPLATE,PARENT_NOT_SET,1,1,6,0,0,0,0,"FORCE_SPACE,EXPR_START",0,0," class"
+58,WORD,NONE,PARENT_NOT_SET,7,7,17,1,0,0,0,"FORCE_SPACE",0,0," API_EXPORT"
+58,TYPE,CLASS,PARENT_NOT_SET,18,18,20,1,0,0,0,"",0,0," c2"
+58,NEWLINE,NONE,PARENT_NOT_SET,20,20,1,0,0,0,0,"",1,0,
+59,BRACE_OPEN,CLASS,PARENT_NOT_SET,1,1,2,0,0,0,0,"IN_CLASS,PUNCTUATOR",0,0," {"
+59,NEWLINE,NONE,PARENT_NOT_SET,2,2,1,0,1,1,0,"IN_CLASS",1,0,
+60,ACCESS,NONE,PARENT_NOT_SET,1,1,7,0,1,1,0,"IN_CLASS,STMT_START,EXPR_START",0,0," public"
+60,ACCESS_COLON,NONE,PARENT_NOT_SET,7,7,8,0,1,1,0,"IN_CLASS,PUNCTUATOR",0,0," :"
+60,NEWLINE,NONE,PARENT_NOT_SET,8,8,4,0,1,1,0,"IN_CLASS",2,0,
+62,TEMPLATE,NONE,PARENT_NOT_SET,1,4,12,0,1,1,0,"IN_CLASS,STMT_START,EXPR_START",0,0," template"
+62,ANGLE_OPEN,TEMPLATE,PARENT_NOT_SET,9,12,13,0,1,1,0,"IN_TEMPLATE,IN_CLASS,PUNCTUATOR",0,0," <"
+62,TYPENAME,NONE,PARENT_NOT_SET,10,13,21,0,1,2,0,"IN_TEMPLATE,IN_CLASS,FORCE_SPACE,EXPR_START",0,0," typename"
+62,TYPE,NONE,PARENT_NOT_SET,19,22,23,1,1,2,0,"IN_TEMPLATE,IN_CLASS",0,0," T"
+62,ANGLE_CLOSE,TEMPLATE,PARENT_NOT_SET,20,23,24,0,1,1,0,"IN_TEMPLATE,IN_CLASS,PUNCTUATOR",0,0," >"
+62,NEWLINE,NONE,PARENT_NOT_SET,21,24,4,0,1,1,0,"IN_CLASS",1,0,
+63,STRUCT,TEMPLATE,PARENT_NOT_SET,1,4,10,0,1,1,0,"IN_CLASS,FORCE_SPACE,EXPR_START",0,0," struct"
+63,TYPE,STRUCT,PARENT_NOT_SET,8,11,22,1,1,1,0,"IN_CLASS",0,0," inner_class"
+63,NEWLINE,NONE,PARENT_NOT_SET,19,22,4,0,1,1,0,"IN_CLASS",1,0,
+64,BRACE_OPEN,STRUCT,PARENT_NOT_SET,1,4,5,0,1,1,0,"IN_CLASS,PUNCTUATOR",0,0," {"
+64,NEWLINE,NONE,PARENT_NOT_SET,2,5,7,0,2,2,0,"IN_STRUCT,IN_CLASS",1,0,
+65,QUALIFIER,NONE,PARENT_NOT_SET,9,7,13,0,2,2,0,"IN_STRUCT,IN_CLASS,FORCE_SPACE,STMT_START,EXPR_START,VAR_TYPE",0,0," static"
+65,TYPE,NONE,PARENT_NOT_SET,16,14,25,1,2,2,0,"IN_STRUCT,IN_CLASS,VAR_TYPE",0,0," inner_class"
+65,ANGLE_OPEN,TEMPLATE,PARENT_NOT_SET,27,25,26,0,2,2,0,"IN_STRUCT,IN_TEMPLATE,IN_CLASS,PUNCTUATOR",0,0," <"
+65,TYPE,NONE,PARENT_NOT_SET,28,26,27,0,2,3,0,"IN_STRUCT,IN_TEMPLATE,IN_CLASS,EXPR_START",0,0," T"
+65,ANGLE_CLOSE,TEMPLATE,PARENT_NOT_SET,29,27,28,0,2,2,0,"IN_STRUCT,IN_TEMPLATE,IN_CLASS,PUNCTUATOR",0,0," >"
+65,PTR_TYPE,NONE,PARENT_NOT_SET,31,29,30,1,2,2,0,"IN_STRUCT,IN_CLASS,EXPR_START,VAR_TYPE,PUNCTUATOR",0,0," *"
+65,WORD,NONE,PARENT_NOT_SET,32,30,43,0,2,2,0,"IN_STRUCT,IN_CLASS,EXPR_START,VAR_DEF,VAR_1ST",0,0," m_inner_class"
+65,SEMICOLON,NONE,PARENT_NOT_SET,45,43,44,0,2,2,0,"IN_STRUCT,IN_CLASS,PUNCTUATOR",0,0," ;"
+65,NEWLINE,NONE,PARENT_NOT_SET,46,44,4,0,2,2,0,"IN_STRUCT,IN_CLASS",1,0,
+66,BRACE_CLOSE,STRUCT,PARENT_NOT_SET,1,4,5,0,1,1,0,"IN_STRUCT,IN_CLASS,PUNCTUATOR",0,0," }"
+66,SEMICOLON,STRUCT,PARENT_NOT_SET,2,5,6,0,1,1,0,"IN_CLASS,PUNCTUATOR",0,0," ;"
+66,NEWLINE,NONE,PARENT_NOT_SET,3,6,1,0,1,1,0,"IN_CLASS",1,0,
+67,BRACE_CLOSE,CLASS,PARENT_NOT_SET,1,1,2,0,0,0,0,"IN_CLASS,PUNCTUATOR",0,0," }"
+67,SEMICOLON,CLASS,PARENT_NOT_SET,2,2,3,0,0,0,0,"PUNCTUATOR",0,0," ;"
+67,NEWLINE,NONE,PARENT_NOT_SET,3,3,1,0,0,0,0,"",2,0,
+69,TEMPLATE,NONE,PARENT_NOT_SET,1,1,9,0,0,0,0,"STMT_START,EXPR_START",0,0," template"
+69,ANGLE_OPEN,TEMPLATE,PARENT_NOT_SET,9,9,10,0,0,0,0,"IN_TEMPLATE,PUNCTUATOR",0,0," <"
+69,ANGLE_CLOSE,TEMPLATE,PARENT_NOT_SET,10,10,11,0,0,0,0,"IN_TEMPLATE,EXPR_START,PUNCTUATOR",0,0," >"
+69,TEMPLATE,NONE,PARENT_NOT_SET,12,12,20,1,0,0,0,"EXPR_START",0,0," template"
+69,ANGLE_OPEN,TEMPLATE,PARENT_NOT_SET,20,20,21,0,0,0,0,"IN_TEMPLATE,PUNCTUATOR",0,0," <"
+69,ANGLE_CLOSE,TEMPLATE,PARENT_NOT_SET,21,21,22,0,0,0,0,"IN_TEMPLATE,EXPR_START,PUNCTUATOR",0,0," >"
+69,STRUCT,TEMPLATE,PARENT_NOT_SET,23,23,29,1,0,0,0,"FORCE_SPACE,EXPR_START",0,0," struct"
+69,WORD,NONE,PARENT_NOT_SET,30,30,40,1,0,0,0,"FORCE_SPACE",0,0," API_EXPORT"
+69,TYPE,NONE,PARENT_NOT_SET,41,41,43,1,0,0,0,"",0,0," c2"
+69,ANGLE_OPEN,TEMPLATE,PARENT_NOT_SET,43,43,44,0,0,0,0,"IN_TEMPLATE,PUNCTUATOR",0,0," <"
+69,TYPE,NONE,PARENT_NOT_SET,44,44,47,0,0,1,0,"IN_TEMPLATE,EXPR_START",0,0," int"
+69,ANGLE_CLOSE,TEMPLATE,PARENT_NOT_SET,47,47,48,0,0,0,0,"IN_TEMPLATE,PUNCTUATOR",0,0," >"
+69,DC_MEMBER,NONE,PARENT_NOT_SET,48,48,50,0,0,0,0,"EXPR_START,PUNCTUATOR",0,0," ::"
+69,TYPE,STRUCT,PARENT_NOT_SET,50,50,61,0,0,0,0,"VAR_TYPE",0,0," inner_class"
+69,ANGLE_OPEN,TEMPLATE,PARENT_NOT_SET,61,61,62,0,0,0,0,"IN_TEMPLATE,PUNCTUATOR",0,0," <"
+69,TYPE,NONE,PARENT_NOT_SET,62,62,65,0,0,1,0,"IN_TEMPLATE,EXPR_START",0,0," int"
+69,ANGLE_CLOSE,TEMPLATE,PARENT_NOT_SET,65,65,66,0,0,0,0,"IN_TEMPLATE,PUNCTUATOR",0,0," >"
+69,PTR_TYPE,NONE,PARENT_NOT_SET,67,67,68,1,0,0,0,"EXPR_START,PUNCTUATOR",0,0," *"
+69,TYPE,NONE,PARENT_NOT_SET,68,68,70,0,0,0,0,"EXPR_START",0,0," c2"
+69,ANGLE_OPEN,TEMPLATE,PARENT_NOT_SET,70,70,71,0,0,0,0,"IN_TEMPLATE,PUNCTUATOR",0,0," <"
+69,TYPE,NONE,PARENT_NOT_SET,71,71,74,0,0,1,0,"IN_TEMPLATE,EXPR_START",0,0," int"
+69,ANGLE_CLOSE,TEMPLATE,PARENT_NOT_SET,74,74,75,0,0,0,0,"IN_TEMPLATE,PUNCTUATOR",0,0," >"
+69,DC_MEMBER,NONE,PARENT_NOT_SET,75,75,77,0,0,0,0,"EXPR_START,PUNCTUATOR",0,0," ::"
+69,TYPE,NONE,PARENT_NOT_SET,77,77,88,0,0,0,0,"",0,0," inner_class"
+69,ANGLE_OPEN,TEMPLATE,PARENT_NOT_SET,88,88,89,0,0,0,0,"IN_TEMPLATE,PUNCTUATOR",0,0," <"
+69,TYPE,NONE,PARENT_NOT_SET,89,89,92,0,0,1,0,"IN_TEMPLATE,EXPR_START",0,0," int"
+69,ANGLE_CLOSE,TEMPLATE,PARENT_NOT_SET,92,92,93,0,0,0,0,"IN_TEMPLATE,PUNCTUATOR",0,0," >"
+69,DC_MEMBER,NONE,PARENT_NOT_SET,93,93,95,0,0,0,0,"EXPR_START,PUNCTUATOR",0,0," ::"
+69,WORD,NONE,PARENT_NOT_SET,95,95,108,0,0,0,0,"VAR_DEF,VAR_1ST,LVALUE",0,0," m_inner_class"
+69,ASSIGN,NONE,PARENT_NOT_SET,109,109,110,1,0,0,0,"PUNCTUATOR",0,0," ="
+69,WORD,NONE,PARENT_NOT_SET,111,111,118,1,0,0,0,"EXPR_START",0,0," nullptr"
+69,SEMICOLON,STRUCT,PARENT_NOT_SET,118,118,119,0,0,0,0,"PUNCTUATOR",0,0," ;"
+69,NEWLINE,NONE,PARENT_NOT_SET,119,119,1,0,0,0,0,"",2,0,
+71,COMMENT_CPP,COMMENT_WHOLE,PARENT_NOT_SET,1,1,66,0,0,0,0,"",0,0," // template<...> class/struct[<...>] [macros/attributes ...] type"
+71,NEWLINE,NONE,PARENT_NOT_SET,66,66,1,0,0,0,0,"",1,0,
+72,TEMPLATE,NONE,PARENT_NOT_SET,1,1,9,0,0,0,0,"STMT_START,EXPR_START",0,0," template"
+72,ANGLE_OPEN,TEMPLATE,PARENT_NOT_SET,9,9,10,0,0,0,0,"IN_TEMPLATE,PUNCTUATOR",0,0," <"
+72,TYPENAME,NONE,PARENT_NOT_SET,10,10,18,0,0,1,0,"IN_TEMPLATE,EXPR_START",0,0," typename"
+72,COMMA,NONE,PARENT_NOT_SET,18,18,19,0,0,1,0,"IN_TEMPLATE,PUNCTUATOR",0,0," ,"
+72,TYPENAME,NONE,PARENT_NOT_SET,20,20,28,1,0,1,0,"IN_TEMPLATE,EXPR_START",0,0," typename"
+72,ELLIPSIS,NONE,PARENT_NOT_SET,29,29,32,1,0,1,0,"IN_TEMPLATE,PUNCTUATOR",0,0," ..."
+72,ANGLE_CLOSE,TEMPLATE,PARENT_NOT_SET,32,32,33,0,0,0,0,"IN_TEMPLATE,PUNCTUATOR",0,0," >"
+72,NEWLINE,NONE,PARENT_NOT_SET,33,33,1,0,0,0,0,"",1,0,
+73,CLASS,TEMPLATE,PARENT_NOT_SET,1,1,6,0,0,0,0,"FORCE_SPACE,EXPR_START,INCOMPLETE",0,0," class"
+73,WORD,NONE,PARENT_NOT_SET,7,7,17,1,0,0,0,"FORCE_SPACE,INCOMPLETE",0,0," API_EXPORT"
+73,TYPE,CLASS,PARENT_NOT_SET,18,18,20,1,0,0,0,"INCOMPLETE",0,0," c2"
+73,SEMICOLON,CLASS,PARENT_NOT_SET,20,20,21,0,0,0,0,"PUNCTUATOR",0,0," ;"
+73,NEWLINE,NONE,PARENT_NOT_SET,21,21,1,0,0,0,0,"",2,0,
+75,COMMENT_CPP,COMMENT_WHOLE,PARENT_NOT_SET,1,1,68,0,0,0,0,"",0,0," // class/struct [macros/attributes ...] type : bases ... { } x, ..."
+75,NEWLINE,NONE,PARENT_NOT_SET,68,68,1,0,0,0,0,"",1,0,
+76,CLASS,NONE,PARENT_NOT_SET,1,1,6,0,0,0,0,"FORCE_SPACE,STMT_START,EXPR_START",0,0," class"
+76,WORD,NONE,PARENT_NOT_SET,7,7,17,1,0,0,0,"FORCE_SPACE",0,0," API_EXPORT"
+76,ATTRIBUTE,NONE,PARENT_NOT_SET,18,18,31,1,0,0,0,"",0,0," __attribute__"
+76,FPAREN_OPEN,ATTRIBUTE,PARENT_NOT_SET,31,31,32,0,0,0,0,"PUNCTUATOR",0,0," ("
+76,PAREN_OPEN,NONE,PARENT_NOT_SET,32,32,33,0,0,1,0,"EXPR_START,PUNCTUATOR",0,0," ("
+76,WORD,NONE,PARENT_NOT_SET,33,33,47,0,0,2,0,"EXPR_START",0,0," __deprecated__"
+76,PAREN_CLOSE,NONE,PARENT_NOT_SET,47,47,48,0,0,1,0,"PUNCTUATOR",0,0," )"
+76,FPAREN_CLOSE,ATTRIBUTE,PARENT_NOT_SET,48,48,49,0,0,0,0,"PUNCTUATOR",0,0," )"
+76,MACRO_FUNC_CALL,NONE,PARENT_NOT_SET,50,50,57,1,0,0,0,"",0,0," ALIGNAS"
+76,FPAREN_OPEN,MACRO_FUNC_CALL,PARENT_NOT_SET,57,57,58,0,0,0,0,"PUNCTUATOR",0,0," ("
+76,NUMBER,NONE,PARENT_NOT_SET,58,58,59,0,0,1,0,"EXPR_START",0,0," 4"
+76,FPAREN_CLOSE,MACRO_FUNC_CALL,PARENT_NOT_SET,59,59,60,0,0,0,0,"PUNCTUATOR",0,0," )"
+76,TYPE,CLASS,PARENT_NOT_SET,61,61,63,1,0,0,0,"VAR_TYPE",0,0," c3"
+76,NEWLINE,NONE,PARENT_NOT_SET,63,63,1,0,0,0,0,"",1,0,
+77,CLASS_COLON,CLASS,PARENT_NOT_SET,9,1,2,0,0,0,0,"IN_CLASS_BASE,PUNCTUATOR",0,0," :"
+77,QUALIFIER,NONE,PARENT_NOT_SET,11,3,9,1,0,0,0,"IN_CLASS_BASE,FORCE_SPACE,STMT_START,EXPR_START",0,0," public"
+77,TYPE,NONE,PARENT_NOT_SET,18,10,25,1,0,0,0,"IN_CLASS_BASE",0,0," outer_namespace"
+77,DC_MEMBER,NONE,PARENT_NOT_SET,33,25,27,0,0,0,0,"IN_CLASS_BASE,PUNCTUATOR",0,0," ::"
+77,TYPE,NONE,PARENT_NOT_SET,35,27,42,0,0,0,0,"IN_CLASS_BASE",0,0," inner_namespace"
+77,DC_MEMBER,NONE,PARENT_NOT_SET,50,42,44,0,0,0,0,"IN_CLASS_BASE,PUNCTUATOR",0,0," ::"
+77,TYPE,NONE,PARENT_NOT_SET,52,44,49,0,0,0,0,"IN_CLASS_BASE",0,0," Base2"
+77,ANGLE_OPEN,TEMPLATE,PARENT_NOT_SET,57,49,50,0,0,0,0,"IN_TEMPLATE,IN_CLASS_BASE,PUNCTUATOR",0,0," <"
+77,TYPE,NONE,PARENT_NOT_SET,58,50,53,0,0,1,0,"IN_TEMPLATE,IN_CLASS_BASE,EXPR_START",0,0," int"
+77,ANGLE_CLOSE,TEMPLATE,PARENT_NOT_SET,61,53,54,0,0,0,0,"IN_TEMPLATE,IN_CLASS_BASE,PUNCTUATOR",0,0," >"
+77,COMMA,NONE,PARENT_NOT_SET,62,54,55,0,0,0,0,"IN_CLASS_BASE,EXPR_START,PUNCTUATOR",0,0," ,"
+77,NEWLINE,NONE,PARENT_NOT_SET,63,55,3,0,0,0,0,"",1,0,
+78,QUALIFIER,NONE,PARENT_NOT_SET,9,3,9,0,0,0,0,"IN_CLASS_BASE,FORCE_SPACE,EXPR_START",0,0," public"
+78,TYPE,NONE,PARENT_NOT_SET,16,10,12,1,0,0,0,"IN_CLASS_BASE",0,0," c2"
+78,ANGLE_OPEN,TEMPLATE,PARENT_NOT_SET,18,12,13,0,0,0,0,"IN_TEMPLATE,IN_CLASS_BASE,PUNCTUATOR",0,0," <"
+78,TYPE,NONE,PARENT_NOT_SET,19,13,16,0,0,1,0,"IN_TEMPLATE,IN_CLASS_BASE,EXPR_START",0,0," int"
+78,ANGLE_CLOSE,TEMPLATE,PARENT_NOT_SET,22,16,17,0,0,0,0,"IN_TEMPLATE,IN_CLASS_BASE,PUNCTUATOR",0,0," >"
+78,DC_MEMBER,NONE,PARENT_NOT_SET,23,17,19,0,0,0,0,"IN_CLASS_BASE,EXPR_START,PUNCTUATOR",0,0," ::"
+78,TYPE,NONE,PARENT_NOT_SET,25,19,30,0,0,0,0,"IN_CLASS_BASE",0,0," inner_class"
+78,ANGLE_OPEN,TEMPLATE,PARENT_NOT_SET,36,30,31,0,0,0,0,"IN_TEMPLATE,IN_CLASS_BASE,PUNCTUATOR",0,0," <"
+78,TYPE,NONE,PARENT_NOT_SET,37,31,34,0,0,1,0,"IN_TEMPLATE,IN_CLASS_BASE,EXPR_START",0,0," int"
+78,ANGLE_CLOSE,TEMPLATE,PARENT_NOT_SET,40,34,35,0,0,0,0,"IN_TEMPLATE,IN_CLASS_BASE,PUNCTUATOR",0,0," >"
+78,NEWLINE,NONE,PARENT_NOT_SET,41,35,1,0,0,0,0,"",1,0,
+79,BRACE_OPEN,CLASS,PARENT_NOT_SET,1,1,2,0,0,0,0,"IN_CLASS,EXPR_START,PUNCTUATOR",0,0," {"
+79,NEWLINE,NONE,PARENT_NOT_SET,2,2,1,0,1,1,0,"IN_CLASS",1,0,
+80,ACCESS,NONE,PARENT_NOT_SET,1,1,7,0,1,1,0,"IN_CLASS,STMT_START,EXPR_START",0,0," public"
+80,ACCESS_COLON,NONE,PARENT_NOT_SET,7,7,8,0,1,1,0,"IN_CLASS,PUNCTUATOR",0,0," :"
+80,NEWLINE,NONE,PARENT_NOT_SET,8,8,4,0,1,1,0,"IN_CLASS",1,0,
+81,FUNC_CLASS_DEF,NONE,PARENT_NOT_SET,1,4,6,0,1,1,0,"IN_CLASS,STMT_START,EXPR_START",0,0," c3"
+81,FPAREN_OPEN,FUNC_CLASS_DEF,PARENT_NOT_SET,3,6,7,0,1,1,0,"IN_CONST_ARGS,IN_CLASS,PUNCTUATOR",0,0," ("
+81,TYPE,NONE,PARENT_NOT_SET,4,7,10,0,1,2,0,"IN_FCN_CALL,IN_CONST_ARGS,IN_CLASS,FORCE_SPACE,EXPR_START,VAR_TYPE,LVALUE",0,0," int"
+81,WORD,NONE,PARENT_NOT_SET,8,11,12,1,1,2,0,"IN_FCN_CALL,IN_CONST_ARGS,IN_CLASS,VAR_DEF,LVALUE",0,0," x"
+81,ASSIGN_DEFAULT_ARG,FUNC_PROTO,PARENT_NOT_SET,10,13,14,1,1,2,0,"IN_FCN_CALL,IN_CONST_ARGS,IN_CLASS,PUNCTUATOR",0,0," ="
+81,NUMBER,NONE,PARENT_NOT_SET,12,15,16,1,1,2,0,"IN_FCN_CALL,IN_CONST_ARGS,IN_CLASS,EXPR_START",0,0," 0"
+81,COMMA,NONE,PARENT_NOT_SET,13,16,17,0,1,2,0,"IN_FCN_CALL,IN_CONST_ARGS,IN_CLASS,PUNCTUATOR",0,0," ,"
+81,TYPE,NONE,PARENT_NOT_SET,15,18,21,1,1,2,0,"IN_FCN_CALL,IN_CONST_ARGS,IN_CLASS,FORCE_SPACE,EXPR_START,VAR_TYPE,LVALUE",0,0," int"
+81,WORD,NONE,PARENT_NOT_SET,19,22,23,1,1,2,0,"IN_FCN_CALL,IN_CONST_ARGS,IN_CLASS,VAR_DEF,LVALUE",0,0," y"
+81,ASSIGN_DEFAULT_ARG,FUNC_PROTO,PARENT_NOT_SET,21,24,25,1,1,2,0,"IN_FCN_CALL,IN_CONST_ARGS,IN_CLASS,PUNCTUATOR",0,0," ="
+81,NUMBER,NONE,PARENT_NOT_SET,23,26,27,1,1,2,0,"IN_FCN_CALL,IN_CONST_ARGS,IN_CLASS,EXPR_START",0,0," 0"
+81,COMMA,NONE,PARENT_NOT_SET,24,27,28,0,1,2,0,"IN_FCN_CALL,IN_CONST_ARGS,IN_CLASS,PUNCTUATOR",0,0," ,"
+81,TYPE,NONE,PARENT_NOT_SET,26,29,32,1,1,2,0,"IN_FCN_CALL,IN_CONST_ARGS,IN_CLASS,FORCE_SPACE,EXPR_START,VAR_TYPE,LVALUE",0,0," int"
+81,WORD,NONE,PARENT_NOT_SET,30,33,34,1,1,2,0,"IN_FCN_CALL,IN_CONST_ARGS,IN_CLASS,VAR_DEF,LVALUE",0,0," z"
+81,ASSIGN_DEFAULT_ARG,FUNC_PROTO,PARENT_NOT_SET,32,35,36,1,1,2,0,"IN_FCN_CALL,IN_CONST_ARGS,IN_CLASS,PUNCTUATOR",0,0," ="
+81,NUMBER,NONE,PARENT_NOT_SET,34,37,38,1,1,2,0,"IN_FCN_CALL,IN_CONST_ARGS,IN_CLASS,EXPR_START",0,0," 0"
+81,FPAREN_CLOSE,FUNC_CLASS_DEF,PARENT_NOT_SET,35,38,39,0,1,1,0,"IN_FCN_CALL,IN_CONST_ARGS,IN_CLASS,PUNCTUATOR",0,0," )"
+81,CONSTR_COLON,NONE,PARENT_NOT_SET,37,40,41,1,1,1,0,"IN_CONST_ARGS,IN_CLASS,PUNCTUATOR",0,0," :"
+81,FUNC_CTOR_VAR,NONE,PARENT_NOT_SET,39,42,45,1,1,1,0,"IN_CONST_ARGS,IN_CLASS,STMT_START,EXPR_START",0,0," m_x"
+81,FPAREN_OPEN,FUNC_CTOR_VAR,PARENT_NOT_SET,42,45,46,0,1,1,0,"IN_CONST_ARGS,IN_CLASS,PUNCTUATOR",0,0," ("
+81,WORD,NONE,PARENT_NOT_SET,43,46,47,0,1,2,0,"IN_FCN_CALL,IN_CONST_ARGS,IN_CLASS,EXPR_START",0,0," x"
+81,FPAREN_CLOSE,FUNC_CTOR_VAR,PARENT_NOT_SET,44,47,48,0,1,1,0,"IN_FCN_CALL,IN_CONST_ARGS,IN_CLASS,PUNCTUATOR",0,0," )"
+81,COMMA,NONE,PARENT_NOT_SET,45,48,49,0,1,1,0,"IN_CONST_ARGS,IN_CLASS,PUNCTUATOR",0,0," ,"
+81,FUNC_CTOR_VAR,NONE,PARENT_NOT_SET,47,50,53,1,1,1,0,"IN_CONST_ARGS,IN_CLASS,EXPR_START",0,0," m_y"
+81,FPAREN_OPEN,FUNC_CTOR_VAR,PARENT_NOT_SET,50,53,54,0,1,1,0,"IN_CONST_ARGS,IN_CLASS,PUNCTUATOR",0,0," ("
+81,WORD,NONE,PARENT_NOT_SET,51,54,55,0,1,2,0,"IN_FCN_CALL,IN_CONST_ARGS,IN_CLASS,EXPR_START",0,0," y"
+81,FPAREN_CLOSE,FUNC_CTOR_VAR,PARENT_NOT_SET,52,55,56,0,1,1,0,"IN_FCN_CALL,IN_CONST_ARGS,IN_CLASS,PUNCTUATOR",0,0," )"
+81,COMMA,NONE,PARENT_NOT_SET,53,56,57,0,1,1,0,"IN_CONST_ARGS,IN_CLASS,PUNCTUATOR",0,0," ,"
+81,FUNC_CTOR_VAR,NONE,PARENT_NOT_SET,55,58,61,1,1,1,0,"IN_CONST_ARGS,IN_CLASS,EXPR_START",0,0," m_z"
+81,FPAREN_OPEN,FUNC_CTOR_VAR,PARENT_NOT_SET,58,61,62,0,1,1,0,"IN_CONST_ARGS,IN_CLASS,PUNCTUATOR",0,0," ("
+81,WORD,NONE,PARENT_NOT_SET,59,62,63,0,1,2,0,"IN_FCN_CALL,IN_CONST_ARGS,IN_CLASS,EXPR_START",0,0," z"
+81,FPAREN_CLOSE,FUNC_CTOR_VAR,PARENT_NOT_SET,60,63,64,0,1,1,0,"IN_FCN_CALL,IN_CONST_ARGS,IN_CLASS,PUNCTUATOR",0,0," )"
+81,BRACE_OPEN,FUNC_CLASS_DEF,PARENT_NOT_SET,62,65,66,1,1,1,0,"IN_CLASS,EMPTY_BODY,PUNCTUATOR",0,0," {"
+81,NEWLINE,NONE,PARENT_NOT_SET,63,67,0,0,1,1,0,"IN_CLASS",1,0,
+81,BRACE_CLOSE,FUNC_CLASS_DEF,PARENT_NOT_SET,1,67,68,1,1,1,0,"IN_CLASS,EMPTY_BODY,PUNCTUATOR",0,0," }"
+81,NEWLINE,NONE,PARENT_NOT_SET,2,68,4,0,1,1,0,"IN_CLASS",2,0,
+83,TYPE,NONE,PARENT_NOT_SET,1,4,7,0,1,1,0,"IN_CLASS,FORCE_SPACE,STMT_START,EXPR_START,VAR_TYPE",0,0," int"
+83,WORD,NONE,PARENT_NOT_SET,5,8,11,1,1,1,0,"IN_CLASS,VAR_DEF,VAR_1ST",0,0," m_x"
+83,SEMICOLON,NONE,PARENT_NOT_SET,8,11,12,0,1,1,0,"IN_CLASS,PUNCTUATOR",0,0," ;"
+83,NEWLINE,NONE,PARENT_NOT_SET,9,12,4,0,1,1,0,"IN_CLASS",1,0,
+84,TYPE,NONE,PARENT_NOT_SET,1,4,7,0,1,1,0,"IN_CLASS,FORCE_SPACE,STMT_START,EXPR_START,VAR_TYPE",0,0," int"
+84,WORD,NONE,PARENT_NOT_SET,5,8,11,1,1,1,0,"IN_CLASS,VAR_DEF,VAR_1ST",0,0," m_y"
+84,SEMICOLON,NONE,PARENT_NOT_SET,8,11,12,0,1,1,0,"IN_CLASS,PUNCTUATOR",0,0," ;"
+84,NEWLINE,NONE,PARENT_NOT_SET,9,12,4,0,1,1,0,"IN_CLASS",1,0,
+85,TYPE,NONE,PARENT_NOT_SET,1,4,7,0,1,1,0,"IN_CLASS,FORCE_SPACE,STMT_START,EXPR_START,VAR_TYPE",0,0," int"
+85,WORD,NONE,PARENT_NOT_SET,5,8,11,1,1,1,0,"IN_CLASS,VAR_DEF,VAR_1ST",0,0," m_z"
+85,SEMICOLON,NONE,PARENT_NOT_SET,8,11,12,0,1,1,0,"IN_CLASS,PUNCTUATOR",0,0," ;"
+85,NEWLINE,NONE,PARENT_NOT_SET,9,12,1,0,1,1,0,"IN_CLASS",1,0,
+86,BRACE_CLOSE,CLASS,PARENT_NOT_SET,1,1,2,0,0,0,0,"IN_CLASS,PUNCTUATOR",0,0," }"
+86,WORD,NONE,PARENT_NOT_SET,3,3,6,1,0,0,0,"STMT_START,EXPR_START,VAR_DEF,VAR_1ST,VAR_INLINE",0,0," c31"
+86,COMMA,NONE,PARENT_NOT_SET,6,6,7,0,0,0,0,"PUNCTUATOR",0,0," ,"
+86,PTR_TYPE,CLASS,PARENT_NOT_SET,8,8,9,1,0,0,0,"EXPR_START,PUNCTUATOR",0,0," *"
+86,WORD,NONE,PARENT_NOT_SET,9,9,12,0,0,0,0,"EXPR_START,VAR_DEF,VAR_INLINE,LVALUE",0,0," c32"
+86,ASSIGN,NONE,PARENT_NOT_SET,13,13,14,1,0,0,0,"PUNCTUATOR",0,0," ="
+86,WORD,NONE,PARENT_NOT_SET,15,15,22,1,0,0,0,"EXPR_START",0,0," nullptr"
+86,COMMA,NONE,PARENT_NOT_SET,22,22,23,0,0,0,0,"PUNCTUATOR",0,0," ,"
+86,PTR_TYPE,CLASS,PARENT_NOT_SET,24,24,25,1,0,0,0,"EXPR_START,PUNCTUATOR",0,0," *"
+86,WORD,NONE,PARENT_NOT_SET,25,25,28,0,0,0,0,"EXPR_START,VAR_DEF,VAR_INLINE",0,0," c33"
+86,TSQUARE,NONE,PARENT_NOT_SET,28,28,30,0,0,0,0,"PUNCTUATOR",0,0," []"
+86,ASSIGN,NONE,PARENT_NOT_SET,31,31,32,1,0,0,0,"PUNCTUATOR",0,0," ="
+86,BRACE_OPEN,BRACED_INIT_LIST,PARENT_NOT_SET,33,33,34,1,0,0,0,"EXPR_START,ONE_LINER,PUNCTUATOR",0,0," {"
+86,WORD,NONE,PARENT_NOT_SET,35,35,42,1,1,1,0,"EXPR_START,ONE_LINER",0,0," nullptr"
+86,COMMA,NONE,PARENT_NOT_SET,42,42,43,0,1,1,0,"ONE_LINER,PUNCTUATOR",0,0," ,"
+86,WORD,NONE,PARENT_NOT_SET,44,44,51,1,1,1,0,"EXPR_START,ONE_LINER",0,0," nullptr"
+86,BRACE_CLOSE,BRACED_INIT_LIST,PARENT_NOT_SET,52,52,53,1,0,0,0,"ONE_LINER,PUNCTUATOR",0,0," }"
+86,COMMA,NONE,PARENT_NOT_SET,53,53,54,0,0,0,0,"PUNCTUATOR",0,0," ,"
+86,WORD,NONE,PARENT_NOT_SET,55,55,58,1,0,0,0,"EXPR_START,VAR_DEF,VAR_INLINE,LVALUE",0,0," c34"
+86,BRACE_OPEN,BRACED_INIT_LIST,PARENT_NOT_SET,58,58,59,0,0,0,0,"ONE_LINER,PUNCTUATOR",0,0," {"
+86,NUMBER,NONE,PARENT_NOT_SET,60,60,61,1,1,1,0,"STMT_START,EXPR_START,ONE_LINER",0,0," 0"
+86,COMMA,NONE,PARENT_NOT_SET,61,61,62,0,1,1,0,"ONE_LINER,PUNCTUATOR",0,0," ,"
+86,NUMBER,NONE,PARENT_NOT_SET,63,63,64,1,1,1,0,"EXPR_START,ONE_LINER",0,0," 1"
+86,COMMA,NONE,PARENT_NOT_SET,64,64,65,0,1,1,0,"ONE_LINER,PUNCTUATOR",0,0," ,"
+86,NUMBER,NONE,PARENT_NOT_SET,66,66,67,1,1,1,0,"EXPR_START,ONE_LINER",0,0," 2"
+86,BRACE_CLOSE,BRACED_INIT_LIST,PARENT_NOT_SET,67,67,68,0,0,0,0,"ONE_LINER,PUNCTUATOR",0,0," }"
+86,COMMA,NONE,PARENT_NOT_SET,68,68,69,0,0,0,0,"PUNCTUATOR",0,0," ,"
+86,PTR_TYPE,CLASS,PARENT_NOT_SET,70,70,71,1,0,0,0,"EXPR_START,PUNCTUATOR",0,0," *"
+86,QUALIFIER,NONE,PARENT_NOT_SET,72,72,77,1,0,0,0,"FORCE_SPACE,EXPR_START",0,0," const"
+86,FUNC_CALL,NONE,PARENT_NOT_SET,78,78,81,1,0,0,0,"VAR_DEF,VAR_INLINE",0,0," c35"
+86,FPAREN_OPEN,FUNC_CALL,PARENT_NOT_SET,81,81,82,0,0,0,0,"PUNCTUATOR",0,0," ("
+86,WORD,NONE,PARENT_NOT_SET,82,82,89,0,0,1,0,"IN_FCN_CALL,EXPR_START",0,0," nullptr"
+86,FPAREN_CLOSE,FUNC_CALL,PARENT_NOT_SET,89,89,90,0,0,0,0,"IN_FCN_CALL,PUNCTUATOR",0,0," )"
+86,COMMA,NONE,PARENT_NOT_SET,90,90,91,0,0,0,0,"PUNCTUATOR",0,0," ,"
+86,FUNC_CALL,NONE,PARENT_NOT_SET,92,92,95,1,0,0,0,"EXPR_START,VAR_DEF,VAR_INLINE",0,0," c16"
+86,FPAREN_OPEN,FUNC_CALL,PARENT_NOT_SET,95,95,96,0,0,0,0,"PUNCTUATOR",0,0," ("
+86,NUMBER,NONE,PARENT_NOT_SET,96,96,97,0,0,1,0,"IN_FCN_CALL,EXPR_START",0,0," 0"
+86,COMMA,NONE,PARENT_NOT_SET,97,97,98,0,0,1,0,"IN_FCN_CALL,PUNCTUATOR",0,0," ,"
+86,NUMBER,NONE,PARENT_NOT_SET,99,99,100,1,0,1,0,"IN_FCN_CALL,EXPR_START",0,0," 1"
+86,COMMA,NONE,PARENT_NOT_SET,100,100,101,0,0,1,0,"IN_FCN_CALL,PUNCTUATOR",0,0," ,"
+86,NUMBER,NONE,PARENT_NOT_SET,102,102,103,1,0,1,0,"IN_FCN_CALL,EXPR_START",0,0," 2"
+86,FPAREN_CLOSE,FUNC_CALL,PARENT_NOT_SET,103,103,104,0,0,0,0,"IN_FCN_CALL,PUNCTUATOR",0,0," )"
+86,SEMICOLON,CLASS,PARENT_NOT_SET,104,104,105,0,0,0,0,"PUNCTUATOR",0,0," ;"
+86,NEWLINE,NONE,PARENT_NOT_SET,105,105,1,0,0,0,0,"",2,0,
+88,COMMENT_CPP,COMMENT_WHOLE,PARENT_NOT_SET,1,1,52,0,0,0,0,"",0,0," // class/struct [macros/attributes ...] type x, ..."
+88,NEWLINE,NONE,PARENT_NOT_SET,52,52,1,0,0,0,0,"",1,0,
+89,CLASS,NONE,PARENT_NOT_SET,1,1,6,0,0,0,0,"FORCE_SPACE,STMT_START,EXPR_START",0,0," class"
+89,ATTRIBUTE,NONE,PARENT_NOT_SET,7,7,20,1,0,0,0,"",0,0," __attribute__"
+89,FPAREN_OPEN,ATTRIBUTE,PARENT_NOT_SET,20,20,21,0,0,0,0,"PUNCTUATOR",0,0," ("
+89,PAREN_OPEN,NONE,PARENT_NOT_SET,21,21,22,0,0,1,0,"EXPR_START,PUNCTUATOR",0,0," ("
+89,WORD,NONE,PARENT_NOT_SET,22,22,36,0,0,2,0,"EXPR_START",0,0," __deprecated__"
+89,PAREN_CLOSE,NONE,PARENT_NOT_SET,36,36,37,0,0,1,0,"PUNCTUATOR",0,0," )"
+89,FPAREN_CLOSE,ATTRIBUTE,PARENT_NOT_SET,37,37,38,0,0,0,0,"PUNCTUATOR",0,0," )"
+89,WORD,NONE,PARENT_NOT_SET,39,39,49,1,0,0,0,"FORCE_SPACE,STMT_START,EXPR_START",0,0," API_EXPORT"
+89,MACRO_FUNC_CALL,NONE,PARENT_NOT_SET,50,50,57,1,0,0,0,"",0,0," ALIGNAS"
+89,FPAREN_OPEN,MACRO_FUNC_CALL,PARENT_NOT_SET,57,57,58,0,0,0,0,"PUNCTUATOR",0,0," ("
+89,NUMBER,NONE,PARENT_NOT_SET,58,58,59,0,0,1,0,"EXPR_START",0,0," 4"
+89,FPAREN_CLOSE,MACRO_FUNC_CALL,PARENT_NOT_SET,59,59,60,0,0,0,0,"PUNCTUATOR",0,0," )"
+89,TYPE,CLASS,PARENT_NOT_SET,61,61,63,1,0,0,0,"FORCE_SPACE,VAR_TYPE",0,0," c3"
+89,WORD,NONE,PARENT_NOT_SET,64,64,67,1,0,0,0,"VAR_DEF,VAR_1ST",0,0," c41"
+89,COMMA,NONE,PARENT_NOT_SET,67,67,68,0,0,0,0,"PUNCTUATOR",0,0," ,"
+89,PTR_TYPE,CLASS,PARENT_NOT_SET,69,69,70,1,0,0,0,"EXPR_START,PUNCTUATOR",0,0," *"
+89,WORD,NONE,PARENT_NOT_SET,70,70,73,0,0,0,0,"EXPR_START,VAR_DEF,LVALUE",0,0," c42"
+89,ASSIGN,NONE,PARENT_NOT_SET,74,74,75,1,0,0,0,"PUNCTUATOR",0,0," ="
+89,WORD,NONE,PARENT_NOT_SET,76,76,79,1,0,0,0,"EXPR_START",0,0," c32"
+89,QUESTION,NONE,PARENT_NOT_SET,80,80,81,1,0,0,0,"PUNCTUATOR",0,0," ?"
+89,WORD,NONE,PARENT_NOT_SET,82,82,85,1,0,0,0,"EXPR_START",0,0," c32"
+89,COND_COLON,NONE,PARENT_NOT_SET,86,86,87,1,0,0,0,"PUNCTUATOR",0,0," :"
+89,WORD,NONE,PARENT_NOT_SET,88,88,95,1,0,0,0,"STMT_START,EXPR_START",0,0," nullptr"
+89,COMMA,NONE,PARENT_NOT_SET,95,95,96,0,0,0,0,"PUNCTUATOR",0,0," ,"
+89,PTR_TYPE,CLASS,PARENT_NOT_SET,97,97,98,1,0,0,0,"EXPR_START,PUNCTUATOR",0,0," *"
+89,WORD,NONE,PARENT_NOT_SET,98,98,101,0,0,0,0,"EXPR_START,VAR_DEF",0,0," c43"
+89,TSQUARE,NONE,PARENT_NOT_SET,101,101,103,0,0,0,0,"PUNCTUATOR",0,0," []"
+89,ASSIGN,NONE,PARENT_NOT_SET,104,104,105,1,0,0,0,"PUNCTUATOR",0,0," ="
+89,BRACE_OPEN,BRACED_INIT_LIST,PARENT_NOT_SET,106,106,107,1,0,0,0,"EXPR_START,ONE_LINER,PUNCTUATOR",0,0," {"
+89,WORD,NONE,PARENT_NOT_SET,108,108,115,1,1,1,0,"EXPR_START,ONE_LINER",0,0," nullptr"
+89,COMMA,NONE,PARENT_NOT_SET,115,115,116,0,1,1,0,"ONE_LINER,PUNCTUATOR",0,0," ,"
+89,WORD,NONE,PARENT_NOT_SET,117,117,124,1,1,1,0,"EXPR_START,ONE_LINER",0,0," nullptr"
+89,BRACE_CLOSE,BRACED_INIT_LIST,PARENT_NOT_SET,125,125,126,1,0,0,0,"ONE_LINER,PUNCTUATOR",0,0," }"
+89,COMMA,NONE,PARENT_NOT_SET,126,126,127,0,0,0,0,"PUNCTUATOR",0,0," ,"
+89,WORD,NONE,PARENT_NOT_SET,128,128,131,1,0,0,0,"EXPR_START,VAR_DEF,LVALUE",0,0," c44"
+89,BRACE_OPEN,BRACED_INIT_LIST,PARENT_NOT_SET,131,131,132,0,0,0,0,"ONE_LINER,PUNCTUATOR",0,0," {"
+89,NUMBER,NONE,PARENT_NOT_SET,133,133,134,1,1,1,0,"STMT_START,EXPR_START,ONE_LINER",0,0," 0"
+89,COMMA,NONE,PARENT_NOT_SET,134,134,135,0,1,1,0,"ONE_LINER,PUNCTUATOR",0,0," ,"
+89,NUMBER,NONE,PARENT_NOT_SET,136,136,137,1,1,1,0,"EXPR_START,ONE_LINER",0,0," 1"
+89,COMMA,NONE,PARENT_NOT_SET,137,137,138,0,1,1,0,"ONE_LINER,PUNCTUATOR",0,0," ,"
+89,NUMBER,NONE,PARENT_NOT_SET,139,139,140,1,1,1,0,"EXPR_START,ONE_LINER",0,0," 2"
+89,BRACE_CLOSE,BRACED_INIT_LIST,PARENT_NOT_SET,140,140,141,0,0,0,0,"ONE_LINER,PUNCTUATOR",0,0," }"
+89,COMMA,NONE,PARENT_NOT_SET,141,141,142,0,0,0,0,"PUNCTUATOR",0,0," ,"
+89,PTR_TYPE,CLASS,PARENT_NOT_SET,143,143,144,1,0,0,0,"EXPR_START,PUNCTUATOR",0,0," *"
+89,QUALIFIER,NONE,PARENT_NOT_SET,145,145,150,1,0,0,0,"FORCE_SPACE,EXPR_START",0,0," const"
+89,FUNC_CALL,NONE,PARENT_NOT_SET,151,151,154,1,0,0,0,"VAR_DEF",0,0," c45"
+89,FPAREN_OPEN,FUNC_CALL,PARENT_NOT_SET,154,154,155,0,0,0,0,"PUNCTUATOR",0,0," ("
+89,WORD,NONE,PARENT_NOT_SET,155,155,162,0,0,1,0,"IN_FCN_CALL,EXPR_START",0,0," nullptr"
+89,FPAREN_CLOSE,FUNC_CALL,PARENT_NOT_SET,162,162,163,0,0,0,0,"IN_FCN_CALL,PUNCTUATOR",0,0," )"
+89,COMMA,NONE,PARENT_NOT_SET,163,163,164,0,0,0,0,"PUNCTUATOR",0,0," ,"
+89,FUNC_CALL,NONE,PARENT_NOT_SET,165,165,168,1,0,0,0,"EXPR_START,VAR_DEF",0,0," c46"
+89,FPAREN_OPEN,FUNC_CALL,PARENT_NOT_SET,168,168,169,0,0,0,0,"PUNCTUATOR",0,0," ("
+89,NUMBER,NONE,PARENT_NOT_SET,169,169,170,0,0,1,0,"IN_FCN_CALL,EXPR_START",0,0," 0"
+89,COMMA,NONE,PARENT_NOT_SET,170,170,171,0,0,1,0,"IN_FCN_CALL,PUNCTUATOR",0,0," ,"
+89,NUMBER,NONE,PARENT_NOT_SET,172,172,173,1,0,1,0,"IN_FCN_CALL,EXPR_START",0,0," 1"
+89,COMMA,NONE,PARENT_NOT_SET,173,173,174,0,0,1,0,"IN_FCN_CALL,PUNCTUATOR",0,0," ,"
+89,NUMBER,NONE,PARENT_NOT_SET,175,175,176,1,0,1,0,"IN_FCN_CALL,EXPR_START",0,0," 2"
+89,FPAREN_CLOSE,FUNC_CALL,PARENT_NOT_SET,176,176,177,0,0,0,0,"IN_FCN_CALL,PUNCTUATOR",0,0," )"
+89,SEMICOLON,CLASS,PARENT_NOT_SET,177,177,178,0,0,0,0,"PUNCTUATOR",0,0," ;"
+89,NEWLINE,NONE,PARENT_NOT_SET,178,178,1,0,0,0,0,"",2,0,
+91,COMMENT_CPP,COMMENT_WHOLE,PARENT_NOT_SET,1,1,68,0,0,0,0,"",0,0," // class/struct [macros/attributes ...] type : bases ... { } x, ..."
+91,NEWLINE,NONE,PARENT_NOT_SET,68,68,1,0,0,0,0,"",1,0,
+92,CLASS,NONE,PARENT_NOT_SET,1,1,6,0,0,0,0,"FORCE_SPACE,STMT_START,EXPR_START",0,0," class"
+92,FUNC_CALL,NONE,PARENT_NOT_SET,7,7,14,1,0,0,0,"",0,0," ALIGNAS"
+92,FPAREN_OPEN,FUNC_CALL,PARENT_NOT_SET,14,14,15,0,0,0,0,"PUNCTUATOR",0,0," ("
+92,NUMBER,NONE,PARENT_NOT_SET,15,15,16,0,0,1,0,"IN_FCN_CALL,EXPR_START",0,0," 4"
+92,FPAREN_CLOSE,FUNC_CALL,PARENT_NOT_SET,16,16,17,0,0,0,0,"IN_FCN_CALL,PUNCTUATOR",0,0," )"
+92,WORD,NONE,PARENT_NOT_SET,18,18,28,1,0,0,0,"FORCE_SPACE",0,0," API_EXPORT"
+92,ATTRIBUTE,NONE,PARENT_NOT_SET,29,29,42,1,0,0,0,"",0,0," __attribute__"
+92,FPAREN_OPEN,ATTRIBUTE,PARENT_NOT_SET,42,42,43,0,0,0,0,"PUNCTUATOR",0,0," ("
+92,PAREN_OPEN,NONE,PARENT_NOT_SET,43,43,44,0,0,1,0,"EXPR_START,PUNCTUATOR",0,0," ("
+92,WORD,NONE,PARENT_NOT_SET,44,44,58,0,0,2,0,"EXPR_START",0,0," __deprecated__"
+92,PAREN_CLOSE,NONE,PARENT_NOT_SET,58,58,59,0,0,1,0,"PUNCTUATOR",0,0," )"
+92,FPAREN_CLOSE,ATTRIBUTE,PARENT_NOT_SET,59,59,60,0,0,0,0,"PUNCTUATOR",0,0," )"
+92,NEWLINE,NONE,PARENT_NOT_SET,60,60,1,0,0,0,0,"",1,0,
+93,CLASS_COLON,CLASS,PARENT_NOT_SET,9,1,2,0,0,0,0,"IN_CLASS_BASE,PUNCTUATOR",0,0," :"
+93,QUALIFIER,NONE,PARENT_NOT_SET,11,3,9,1,0,0,0,"IN_CLASS_BASE,FORCE_SPACE,STMT_START,EXPR_START",0,0," public"
+93,TYPE,NONE,PARENT_NOT_SET,18,10,25,1,0,0,0,"IN_CLASS_BASE",0,0," outer_namespace"
+93,DC_MEMBER,NONE,PARENT_NOT_SET,33,25,27,0,0,0,0,"IN_CLASS_BASE,PUNCTUATOR",0,0," ::"
+93,TYPE,NONE,PARENT_NOT_SET,35,27,42,0,0,0,0,"IN_CLASS_BASE",0,0," inner_namespace"
+93,DC_MEMBER,NONE,PARENT_NOT_SET,50,42,44,0,0,0,0,"IN_CLASS_BASE,PUNCTUATOR",0,0," ::"
+93,TYPE,NONE,PARENT_NOT_SET,52,44,49,0,0,0,0,"IN_CLASS_BASE",0,0," Base1"
+93,NEWLINE,NONE,PARENT_NOT_SET,57,49,1,0,0,0,0,"",1,0,
+94,BRACE_OPEN,CLASS,PARENT_NOT_SET,1,1,2,0,0,0,0,"PUNCTUATOR",0,0," {"
+94,NEWLINE,NONE,PARENT_NOT_SET,2,2,1,0,1,1,0,"IN_CLASS",1,0,
+95,ACCESS,NONE,PARENT_NOT_SET,1,1,7,0,1,1,0,"IN_CLASS,STMT_START,EXPR_START",0,0," public"
+95,ACCESS_COLON,NONE,PARENT_NOT_SET,7,7,8,0,1,1,0,"IN_CLASS,PUNCTUATOR",0,0," :"
+95,NEWLINE,NONE,PARENT_NOT_SET,8,8,4,0,1,1,0,"IN_CLASS",1,0,
+96,TYPE,NONE,PARENT_NOT_SET,1,4,7,0,1,1,0,"IN_CLASS,FORCE_SPACE,STMT_START,EXPR_START,VAR_TYPE",0,0," int"
+96,WORD,NONE,PARENT_NOT_SET,5,8,11,1,1,1,0,"IN_CLASS,VAR_DEF,VAR_1ST",0,0," m_x"
+96,SEMICOLON,NONE,PARENT_NOT_SET,8,11,12,0,1,1,0,"IN_CLASS,PUNCTUATOR",0,0," ;"
+96,NEWLINE,NONE,PARENT_NOT_SET,9,12,4,0,1,1,0,"IN_CLASS",1,0,
+97,TYPE,NONE,PARENT_NOT_SET,1,4,7,0,1,1,0,"IN_CLASS,FORCE_SPACE,STMT_START,EXPR_START,VAR_TYPE",0,0," int"
+97,WORD,NONE,PARENT_NOT_SET,5,8,11,1,1,1,0,"IN_CLASS,VAR_DEF,VAR_1ST",0,0," m_y"
+97,SEMICOLON,NONE,PARENT_NOT_SET,8,11,12,0,1,1,0,"IN_CLASS,PUNCTUATOR",0,0," ;"
+97,NEWLINE,NONE,PARENT_NOT_SET,9,12,4,0,1,1,0,"IN_CLASS",1,0,
+98,TYPE,NONE,PARENT_NOT_SET,1,4,7,0,1,1,0,"IN_CLASS,FORCE_SPACE,STMT_START,EXPR_START,VAR_TYPE",0,0," int"
+98,WORD,NONE,PARENT_NOT_SET,5,8,11,1,1,1,0,"IN_CLASS,VAR_DEF,VAR_1ST",0,0," m_z"
+98,SEMICOLON,NONE,PARENT_NOT_SET,8,11,12,0,1,1,0,"IN_CLASS,PUNCTUATOR",0,0," ;"
+98,NEWLINE,NONE,PARENT_NOT_SET,9,12,1,0,1,1,0,"IN_CLASS",1,0,
+99,BRACE_CLOSE,CLASS,PARENT_NOT_SET,1,1,2,0,0,0,0,"IN_CLASS,PUNCTUATOR",0,0," }"
+99,WORD,NONE,PARENT_NOT_SET,3,3,6,1,0,0,0,"STMT_START,EXPR_START,VAR_DEF,VAR_1ST,VAR_INLINE",0,0," c51"
+99,COMMA,NONE,PARENT_NOT_SET,6,6,7,0,0,0,0,"PUNCTUATOR",0,0," ,"
+99,PTR_TYPE,CLASS,PARENT_NOT_SET,8,8,9,1,0,0,0,"EXPR_START,PUNCTUATOR",0,0," *"
+99,WORD,NONE,PARENT_NOT_SET,9,9,12,0,0,0,0,"EXPR_START,VAR_DEF,VAR_INLINE,LVALUE",0,0," c52"
+99,ASSIGN,NONE,PARENT_NOT_SET,13,13,14,1,0,0,0,"PUNCTUATOR",0,0," ="
+99,WORD,NONE,PARENT_NOT_SET,15,15,22,1,0,0,0,"EXPR_START",0,0," nullptr"
+99,COMMA,NONE,PARENT_NOT_SET,22,22,23,0,0,0,0,"PUNCTUATOR",0,0," ,"
+99,PTR_TYPE,CLASS,PARENT_NOT_SET,24,24,25,1,0,0,0,"EXPR_START,PUNCTUATOR",0,0," *"
+99,WORD,NONE,PARENT_NOT_SET,25,25,28,0,0,0,0,"EXPR_START,VAR_DEF,VAR_INLINE",0,0," c53"
+99,TSQUARE,NONE,PARENT_NOT_SET,28,28,30,0,0,0,0,"PUNCTUATOR",0,0," []"
+99,ASSIGN,NONE,PARENT_NOT_SET,31,31,32,1,0,0,0,"PUNCTUATOR",0,0," ="
+99,BRACE_OPEN,BRACED_INIT_LIST,PARENT_NOT_SET,33,33,34,1,0,0,0,"EXPR_START,ONE_LINER,PUNCTUATOR",0,0," {"
+99,WORD,NONE,PARENT_NOT_SET,35,35,42,1,1,1,0,"EXPR_START,ONE_LINER",0,0," nullptr"
+99,COMMA,NONE,PARENT_NOT_SET,42,42,43,0,1,1,0,"ONE_LINER,PUNCTUATOR",0,0," ,"
+99,WORD,NONE,PARENT_NOT_SET,44,44,51,1,1,1,0,"EXPR_START,ONE_LINER",0,0," nullptr"
+99,BRACE_CLOSE,BRACED_INIT_LIST,PARENT_NOT_SET,52,52,53,1,0,0,0,"ONE_LINER,PUNCTUATOR",0,0," }"
+99,SEMICOLON,CLASS,PARENT_NOT_SET,53,53,54,0,0,0,0,"PUNCTUATOR",0,0," ;"
+99,NEWLINE,NONE,PARENT_NOT_SET,54,54,1,0,0,0,0,"",3,0,
+102,COMMENT_CPP,COMMENT_WHOLE,PARENT_NOT_SET,1,1,44,0,0,0,0,"",0,0," // enum type : integral_type { ... } x, ..."
+102,NEWLINE,NONE,PARENT_NOT_SET,44,44,1,0,0,0,0,"",1,0,
+103,ENUM,NONE,PARENT_NOT_SET,1,1,5,0,0,0,0,"FORCE_SPACE,STMT_START,EXPR_START",0,0," enum"
+103,TYPE,ENUM,PARENT_NOT_SET,6,6,8,1,0,0,0,"VAR_TYPE",0,0," e1"
+103,BIT_COLON,ENUM,PARENT_NOT_SET,9,9,10,1,0,0,0,"PUNCTUATOR",0,0," :"
+103,TYPE,BIT_COLON,PARENT_NOT_SET,11,11,15,1,0,0,0,"FORCE_SPACE,STMT_START,EXPR_START",0,0," long"
+103,TYPE,BIT_COLON,PARENT_NOT_SET,16,16,20,1,0,0,0,"",0,0," long"
+103,BRACE_OPEN,ENUM,PARENT_NOT_SET,21,21,22,1,0,0,0,"ONE_LINER,PUNCTUATOR",0,0," {"
+103,WORD,NONE,PARENT_NOT_SET,23,23,25,1,1,1,0,"IN_ENUM,STMT_START,EXPR_START,ONE_LINER",0,0," a1"
+103,COMMA,NONE,PARENT_NOT_SET,25,25,26,0,1,1,0,"IN_ENUM,ONE_LINER,PUNCTUATOR",0,0," ,"
+103,WORD,NONE,PARENT_NOT_SET,27,27,29,1,1,1,0,"IN_ENUM,EXPR_START,ONE_LINER",0,0," b1"
+103,COMMA,NONE,PARENT_NOT_SET,29,29,30,0,1,1,0,"IN_ENUM,ONE_LINER,PUNCTUATOR",0,0," ,"
+103,WORD,NONE,PARENT_NOT_SET,31,31,33,1,1,1,0,"IN_ENUM,EXPR_START,ONE_LINER",0,0," d1"
+103,BRACE_CLOSE,ENUM,PARENT_NOT_SET,34,34,35,1,0,0,0,"IN_ENUM,ONE_LINER,PUNCTUATOR",0,0," }"
+103,WORD,NONE,PARENT_NOT_SET,36,36,39,1,0,0,0,"STMT_START,EXPR_START,VAR_DEF,VAR_1ST,VAR_INLINE",0,0," e11"
+103,COMMA,NONE,PARENT_NOT_SET,39,39,40,0,0,0,0,"PUNCTUATOR",0,0," ,"
+103,WORD,NONE,PARENT_NOT_SET,41,41,44,1,0,0,0,"EXPR_START,VAR_DEF,VAR_INLINE",0,0," e12"
+103,COMMA,NONE,PARENT_NOT_SET,44,44,45,0,0,0,0,"PUNCTUATOR",0,0," ,"
+103,WORD,NONE,PARENT_NOT_SET,46,46,49,1,0,0,0,"EXPR_START,VAR_DEF,VAR_INLINE",0,0," e13"
+103,SEMICOLON,ENUM,PARENT_NOT_SET,49,49,50,0,0,0,0,"PUNCTUATOR",0,0," ;"
+103,NEWLINE,NONE,PARENT_NOT_SET,50,50,1,0,0,0,0,"",2,0,
+105,COMMENT_CPP,COMMENT_WHOLE,PARENT_NOT_SET,1,1,37,0,0,0,0,"",0,0," // enum type : integral_type { ... }"
+105,NEWLINE,NONE,PARENT_NOT_SET,37,37,1,0,0,0,0,"",1,0,
+106,ENUM,NONE,PARENT_NOT_SET,1,1,5,0,0,0,0,"FORCE_SPACE,STMT_START,EXPR_START",0,0," enum"
+106,TYPE,ENUM,PARENT_NOT_SET,6,6,8,1,0,0,0,"",0,0," e2"
+106,BIT_COLON,ENUM,PARENT_NOT_SET,9,9,10,1,0,0,0,"PUNCTUATOR",0,0," :"
+106,TYPE,BIT_COLON,PARENT_NOT_SET,11,11,19,1,0,0,0,"FORCE_SPACE,STMT_START,EXPR_START",0,0," unsigned"
+106,TYPE,BIT_COLON,PARENT_NOT_SET,20,20,23,1,0,0,0,"",0,0," int"
+106,BRACE_OPEN,ENUM,PARENT_NOT_SET,24,24,25,1,0,0,0,"ONE_LINER,PUNCTUATOR",0,0," {"
+106,WORD,NONE,PARENT_NOT_SET,26,26,28,1,1,1,0,"IN_ENUM,STMT_START,EXPR_START,ONE_LINER",0,0," a2"
+106,COMMA,NONE,PARENT_NOT_SET,28,28,29,0,1,1,0,"IN_ENUM,ONE_LINER,PUNCTUATOR",0,0," ,"
+106,WORD,NONE,PARENT_NOT_SET,30,30,32,1,1,1,0,"IN_ENUM,EXPR_START,ONE_LINER",0,0," b2"
+106,COMMA,NONE,PARENT_NOT_SET,32,32,33,0,1,1,0,"IN_ENUM,ONE_LINER,PUNCTUATOR",0,0," ,"
+106,WORD,NONE,PARENT_NOT_SET,34,34,36,1,1,1,0,"IN_ENUM,EXPR_START,ONE_LINER",0,0," d2"
+106,BRACE_CLOSE,ENUM,PARENT_NOT_SET,37,37,38,1,0,0,0,"IN_ENUM,ONE_LINER,PUNCTUATOR",0,0," }"
+106,SEMICOLON,ENUM,PARENT_NOT_SET,38,38,39,0,0,0,0,"PUNCTUATOR",0,0," ;"
+106,NEWLINE,NONE,PARENT_NOT_SET,39,39,1,0,0,0,0,"",2,0,
+108,COMMENT_CPP,COMMENT_WHOLE,PARENT_NOT_SET,1,1,29,0,0,0,0,"",0,0," // enum type : integral_type"
+108,NEWLINE,NONE,PARENT_NOT_SET,29,29,1,0,0,0,0,"",1,0,
+109,ENUM,NONE,PARENT_NOT_SET,1,1,5,0,0,0,0,"FORCE_SPACE,STMT_START,EXPR_START,INCOMPLETE",0,0," enum"
+109,TYPE,ENUM,PARENT_NOT_SET,6,6,8,1,0,0,0,"INCOMPLETE",0,0," e3"
+109,BIT_COLON,ENUM,PARENT_NOT_SET,9,9,10,1,0,0,0,"PUNCTUATOR",0,0," :"
+109,TYPE,BIT_COLON,PARENT_NOT_SET,11,11,16,1,0,0,0,"STMT_START,EXPR_START",0,0," short"
+109,SEMICOLON,ENUM,PARENT_NOT_SET,16,16,17,0,0,0,0,"PUNCTUATOR",0,0," ;"
+109,NEWLINE,NONE,PARENT_NOT_SET,17,17,1,0,0,0,0,"",2,0,
+111,COMMENT_CPP,COMMENT_WHOLE,PARENT_NOT_SET,1,1,20,0,0,0,0,"",0,0," // enum type x, ..."
+111,NEWLINE,NONE,PARENT_NOT_SET,20,20,1,0,0,0,0,"",1,0,
+112,ENUM,NONE,PARENT_NOT_SET,1,1,5,0,0,0,0,"FORCE_SPACE,STMT_START,EXPR_START",0,0," enum"
+112,TYPE,ENUM,PARENT_NOT_SET,6,6,8,1,0,0,0,"FORCE_SPACE,VAR_TYPE",0,0," e3"
+112,WORD,NONE,PARENT_NOT_SET,9,9,12,1,0,0,0,"VAR_DEF,VAR_1ST",0,0," e31"
+112,COMMA,NONE,PARENT_NOT_SET,12,12,13,0,0,0,0,"PUNCTUATOR",0,0," ,"
+112,WORD,NONE,PARENT_NOT_SET,14,14,17,1,0,0,0,"EXPR_START,VAR_DEF",0,0," e32"
+112,SEMICOLON,ENUM,PARENT_NOT_SET,17,17,18,0,0,0,0,"PUNCTUATOR",0,0," ;"
+112,NEWLINE,NONE,PARENT_NOT_SET,18,18,1,0,0,0,0,"",2,0,
+114,COMMENT_CPP,COMMENT_WHOLE,PARENT_NOT_SET,1,1,50,0,0,0,0,"",0,0," // enum class type : integral_type { ... } x, ..."
+114,NEWLINE,NONE,PARENT_NOT_SET,50,50,1,0,0,0,0,"",1,0,
+115,ENUM,NONE,PARENT_NOT_SET,1,1,5,0,0,0,0,"FORCE_SPACE,STMT_START,EXPR_START",0,0," enum"
+115,ENUM_CLASS,NONE,PARENT_NOT_SET,6,6,11,1,0,0,0,"FORCE_SPACE",0,0," class"
+115,TYPE,ENUM,PARENT_NOT_SET,12,12,14,1,0,0,0,"VAR_TYPE",0,0," e4"
+115,BIT_COLON,ENUM,PARENT_NOT_SET,15,15,16,1,0,0,0,"PUNCTUATOR",0,0," :"
+115,TYPE,BIT_COLON,PARENT_NOT_SET,17,17,21,1,0,0,0,"FORCE_SPACE,STMT_START,EXPR_START",0,0," long"
+115,TYPE,BIT_COLON,PARENT_NOT_SET,22,22,26,1,0,0,0,"",0,0," long"
+115,BRACE_OPEN,ENUM,PARENT_NOT_SET,27,27,28,1,0,0,0,"ONE_LINER,PUNCTUATOR",0,0," {"
+115,WORD,NONE,PARENT_NOT_SET,29,29,31,1,1,1,0,"IN_ENUM,STMT_START,EXPR_START,ONE_LINER",0,0," a4"
+115,COMMA,NONE,PARENT_NOT_SET,31,31,32,0,1,1,0,"IN_ENUM,ONE_LINER,PUNCTUATOR",0,0," ,"
+115,WORD,NONE,PARENT_NOT_SET,33,33,35,1,1,1,0,"IN_ENUM,EXPR_START,ONE_LINER",0,0," b4"
+115,COMMA,NONE,PARENT_NOT_SET,35,35,36,0,1,1,0,"IN_ENUM,ONE_LINER,PUNCTUATOR",0,0," ,"
+115,WORD,NONE,PARENT_NOT_SET,37,37,39,1,1,1,0,"IN_ENUM,EXPR_START,ONE_LINER",0,0," d4"
+115,BRACE_CLOSE,ENUM,PARENT_NOT_SET,40,40,41,1,0,0,0,"IN_ENUM,ONE_LINER,PUNCTUATOR",0,0," }"
+115,WORD,NONE,PARENT_NOT_SET,42,42,45,1,0,0,0,"STMT_START,EXPR_START,VAR_DEF,VAR_1ST,VAR_INLINE",0,0," e41"
+115,COMMA,NONE,PARENT_NOT_SET,45,45,46,0,0,0,0,"PUNCTUATOR",0,0," ,"
+115,WORD,NONE,PARENT_NOT_SET,47,47,50,1,0,0,0,"EXPR_START,VAR_DEF,VAR_INLINE",0,0," e42"
+115,COMMA,NONE,PARENT_NOT_SET,50,50,51,0,0,0,0,"PUNCTUATOR",0,0," ,"
+115,WORD,NONE,PARENT_NOT_SET,52,52,55,1,0,0,0,"EXPR_START,VAR_DEF,VAR_INLINE",0,0," e43"
+115,COMMA,NONE,PARENT_NOT_SET,55,55,56,0,0,0,0,"PUNCTUATOR",0,0," ,"
+115,WORD,NONE,PARENT_NOT_SET,57,57,60,1,0,0,0,"EXPR_START,VAR_DEF,VAR_INLINE",0,0," e44"
+115,SEMICOLON,ENUM,PARENT_NOT_SET,60,60,61,0,0,0,0,"PUNCTUATOR",0,0," ;"
+115,NEWLINE,NONE,PARENT_NOT_SET,61,61,1,0,0,0,0,"",2,0,
+117,COMMENT_CPP,COMMENT_WHOLE,PARENT_NOT_SET,1,1,43,0,0,0,0,"",0,0," // enum class type : integral_type { ... }"
+117,NEWLINE,NONE,PARENT_NOT_SET,43,43,1,0,0,0,0,"",1,0,
+118,ENUM,NONE,PARENT_NOT_SET,1,1,5,0,0,0,0,"FORCE_SPACE,STMT_START,EXPR_START",0,0," enum"
+118,ENUM_CLASS,NONE,PARENT_NOT_SET,6,6,11,1,0,0,0,"FORCE_SPACE",0,0," class"
+118,TYPE,ENUM,PARENT_NOT_SET,12,12,14,1,0,0,0,"",0,0," e5"
+118,BIT_COLON,ENUM,PARENT_NOT_SET,15,15,16,1,0,0,0,"PUNCTUATOR",0,0," :"
+118,TYPE,BIT_COLON,PARENT_NOT_SET,17,17,25,1,0,0,0,"FORCE_SPACE,STMT_START,EXPR_START",0,0," unsigned"
+118,TYPE,BIT_COLON,PARENT_NOT_SET,26,26,29,1,0,0,0,"",0,0," int"
+118,BRACE_OPEN,ENUM,PARENT_NOT_SET,30,30,31,1,0,0,0,"ONE_LINER,PUNCTUATOR",0,0," {"
+118,WORD,NONE,PARENT_NOT_SET,32,32,34,1,1,1,0,"IN_ENUM,STMT_START,EXPR_START,ONE_LINER",0,0," a5"
+118,COMMA,NONE,PARENT_NOT_SET,34,34,35,0,1,1,0,"IN_ENUM,ONE_LINER,PUNCTUATOR",0,0," ,"
+118,WORD,NONE,PARENT_NOT_SET,36,36,38,1,1,1,0,"IN_ENUM,EXPR_START,ONE_LINER",0,0," b5"
+118,COMMA,NONE,PARENT_NOT_SET,38,38,39,0,1,1,0,"IN_ENUM,ONE_LINER,PUNCTUATOR",0,0," ,"
+118,WORD,NONE,PARENT_NOT_SET,40,40,42,1,1,1,0,"IN_ENUM,EXPR_START,ONE_LINER",0,0," d5"
+118,BRACE_CLOSE,ENUM,PARENT_NOT_SET,43,43,44,1,0,0,0,"IN_ENUM,ONE_LINER,PUNCTUATOR",0,0," }"
+118,SEMICOLON,ENUM,PARENT_NOT_SET,44,44,45,0,0,0,0,"PUNCTUATOR",0,0," ;"
+118,NEWLINE,NONE,PARENT_NOT_SET,45,45,1,0,0,0,0,"",2,0,
+120,COMMENT_CPP,COMMENT_WHOLE,PARENT_NOT_SET,1,1,35,0,0,0,0,"",0,0," // enum class type : integral_type"
+120,NEWLINE,NONE,PARENT_NOT_SET,35,35,1,0,0,0,0,"",1,0,
+121,ENUM,NONE,PARENT_NOT_SET,1,1,5,0,0,0,0,"FORCE_SPACE,STMT_START,EXPR_START,INCOMPLETE",0,0," enum"
+121,ENUM_CLASS,NONE,PARENT_NOT_SET,6,6,11,1,0,0,0,"FORCE_SPACE,INCOMPLETE",0,0," class"
+121,TYPE,ENUM,PARENT_NOT_SET,12,12,14,1,0,0,0,"INCOMPLETE",0,0," e6"
+121,BIT_COLON,ENUM,PARENT_NOT_SET,15,15,16,1,0,0,0,"PUNCTUATOR",0,0," :"
+121,TYPE,BIT_COLON,PARENT_NOT_SET,17,17,22,1,0,0,0,"STMT_START,EXPR_START",0,0," short"
+121,SEMICOLON,ENUM,PARENT_NOT_SET,22,22,23,0,0,0,0,"PUNCTUATOR",0,0," ;"
+121,NEWLINE,NONE,PARENT_NOT_SET,23,23,1,0,0,0,0,"",2,0,
+123,COMMENT_CPP,COMMENT_WHOLE,PARENT_NOT_SET,1,1,19,0,0,0,0,"",0,0," // enum class type"
+123,NEWLINE,NONE,PARENT_NOT_SET,19,19,1,0,0,0,0,"",1,0,
+124,ENUM,NONE,PARENT_NOT_SET,1,1,5,0,0,0,0,"FORCE_SPACE,STMT_START,EXPR_START,INCOMPLETE",0,0," enum"
+124,ENUM_CLASS,NONE,PARENT_NOT_SET,6,6,11,1,0,0,0,"FORCE_SPACE,INCOMPLETE",0,0," class"
+124,TYPE,ENUM,PARENT_NOT_SET,12,12,14,1,0,0,0,"INCOMPLETE",0,0," e7"
+124,SEMICOLON,ENUM,PARENT_NOT_SET,14,14,15,0,0,0,0,"PUNCTUATOR",0,0," ;"
+124,NEWLINE,NONE,PARENT_NOT_SET,15,15,1,0,0,0,0,"",2,0,
+126,COMMENT_CPP,COMMENT_WHOLE,PARENT_NOT_SET,1,1,39,0,0,0,0,"",0,0," // enum : integral_type { ... } x, ..."
+126,NEWLINE,NONE,PARENT_NOT_SET,39,39,1,0,0,0,0,"",1,0,
+127,ENUM,NONE,PARENT_NOT_SET,1,1,5,0,0,0,0,"STMT_START,EXPR_START",0,0," enum"
+127,BIT_COLON,ENUM,PARENT_NOT_SET,6,6,7,1,0,0,0,"PUNCTUATOR",0,0," :"
+127,TYPE,BIT_COLON,PARENT_NOT_SET,8,8,12,1,0,0,0,"FORCE_SPACE,STMT_START,EXPR_START",0,0," long"
+127,TYPE,BIT_COLON,PARENT_NOT_SET,13,13,17,1,0,0,0,"",0,0," long"
+127,BRACE_OPEN,ENUM,PARENT_NOT_SET,18,18,19,1,0,0,0,"ONE_LINER,PUNCTUATOR",0,0," {"
+127,WORD,NONE,PARENT_NOT_SET,20,20,22,1,1,1,0,"IN_ENUM,STMT_START,EXPR_START,ONE_LINER",0,0," a8"
+127,COMMA,NONE,PARENT_NOT_SET,22,22,23,0,1,1,0,"IN_ENUM,ONE_LINER,PUNCTUATOR",0,0," ,"
+127,WORD,NONE,PARENT_NOT_SET,24,24,26,1,1,1,0,"IN_ENUM,EXPR_START,ONE_LINER",0,0," b8"
+127,COMMA,NONE,PARENT_NOT_SET,26,26,27,0,1,1,0,"IN_ENUM,ONE_LINER,PUNCTUATOR",0,0," ,"
+127,WORD,NONE,PARENT_NOT_SET,28,28,30,1,1,1,0,"IN_ENUM,EXPR_START,ONE_LINER",0,0," c8"
+127,BRACE_CLOSE,ENUM,PARENT_NOT_SET,31,31,32,1,0,0,0,"IN_ENUM,ONE_LINER,PUNCTUATOR",0,0," }"
+127,WORD,NONE,PARENT_NOT_SET,33,33,36,1,0,0,0,"STMT_START,EXPR_START,VAR_DEF,VAR_1ST,VAR_INLINE",0,0," e81"
+127,COMMA,NONE,PARENT_NOT_SET,36,36,37,0,0,0,0,"PUNCTUATOR",0,0," ,"
+127,WORD,NONE,PARENT_NOT_SET,38,38,41,1,0,0,0,"EXPR_START,VAR_DEF,VAR_INLINE",0,0," e82"
+127,SEMICOLON,ENUM,PARENT_NOT_SET,41,41,42,0,0,0,0,"PUNCTUATOR",0,0," ;"
+127,NEWLINE,NONE,PARENT_NOT_SET,42,42,1,0,0,0,0,"",2,0,
+129,COMMENT_CPP,COMMENT_WHOLE,PARENT_NOT_SET,1,1,23,0,0,0,0,"",0,0," // enum { ... } x, ..."
+129,NEWLINE,NONE,PARENT_NOT_SET,23,23,1,0,0,0,0,"",1,0,
+130,ENUM,NONE,PARENT_NOT_SET,1,1,5,0,0,0,0,"STMT_START,EXPR_START",0,0," enum"
+130,BRACE_OPEN,ENUM,PARENT_NOT_SET,6,6,7,1,0,0,0,"ONE_LINER,PUNCTUATOR",0,0," {"
+130,WORD,NONE,PARENT_NOT_SET,8,8,10,1,1,1,0,"IN_ENUM,STMT_START,EXPR_START,ONE_LINER",0,0," a9"
+130,COMMA,NONE,PARENT_NOT_SET,10,10,11,0,1,1,0,"IN_ENUM,ONE_LINER,PUNCTUATOR",0,0," ,"
+130,WORD,NONE,PARENT_NOT_SET,12,12,14,1,1,1,0,"IN_ENUM,EXPR_START,ONE_LINER",0,0," b9"
+130,COMMA,NONE,PARENT_NOT_SET,14,14,15,0,1,1,0,"IN_ENUM,ONE_LINER,PUNCTUATOR",0,0," ,"
+130,WORD,NONE,PARENT_NOT_SET,16,16,18,1,1,1,0,"IN_ENUM,EXPR_START,ONE_LINER",0,0," c9"
+130,BRACE_CLOSE,ENUM,PARENT_NOT_SET,19,19,20,1,0,0,0,"IN_ENUM,ONE_LINER,PUNCTUATOR",0,0," }"
+130,WORD,NONE,PARENT_NOT_SET,21,21,24,1,0,0,0,"STMT_START,EXPR_START,VAR_DEF,VAR_1ST,VAR_INLINE",0,0," e91"
+130,COMMA,NONE,PARENT_NOT_SET,24,24,25,0,0,0,0,"PUNCTUATOR",0,0," ,"
+130,WORD,NONE,PARENT_NOT_SET,26,26,29,1,0,0,0,"EXPR_START,VAR_DEF,VAR_INLINE",0,0," e92"
+130,SEMICOLON,ENUM,PARENT_NOT_SET,29,29,30,0,0,0,0,"PUNCTUATOR",0,0," ;"
+130,NEWLINE,NONE,PARENT_NOT_SET,30,30,1,0,0,0,0,"",2,0,
+132,UNION,NONE,PARENT_NOT_SET,1,1,6,0,0,0,0,"FORCE_SPACE,STMT_START,EXPR_START",0,0," union"
+132,WORD,NONE,PARENT_NOT_SET,7,7,17,1,0,0,0,"FORCE_SPACE",0,0," API_EXPORT"
+132,TYPE,UNION,PARENT_NOT_SET,18,18,20,1,0,0,0,"VAR_TYPE",0,0," u1"
+132,BRACE_OPEN,UNION,PARENT_NOT_SET,21,21,22,1,0,0,0,"ONE_LINER,PUNCTUATOR",0,0," {"
+132,TYPE,NONE,PARENT_NOT_SET,23,23,26,1,1,1,0,"FORCE_SPACE,STMT_START,EXPR_START,VAR_TYPE,ONE_LINER",0,0," int"
+132,WORD,NONE,PARENT_NOT_SET,27,27,28,1,1,1,0,"VAR_DEF,VAR_1ST,ONE_LINER",0,0," x"
+132,SEMICOLON,NONE,PARENT_NOT_SET,28,28,29,0,1,1,0,"ONE_LINER,PUNCTUATOR",0,0," ;"
+132,TYPE,NONE,PARENT_NOT_SET,30,30,34,1,1,1,0,"FORCE_SPACE,STMT_START,EXPR_START,VAR_TYPE,ONE_LINER",0,0," long"
+132,WORD,NONE,PARENT_NOT_SET,35,35,36,1,1,1,0,"VAR_DEF,VAR_1ST,ONE_LINER",0,0," y"
+132,SEMICOLON,NONE,PARENT_NOT_SET,36,36,37,0,1,1,0,"ONE_LINER,PUNCTUATOR",0,0," ;"
+132,BRACE_CLOSE,UNION,PARENT_NOT_SET,38,38,39,1,0,0,0,"ONE_LINER,PUNCTUATOR",0,0," }"
+132,WORD,NONE,PARENT_NOT_SET,40,40,43,1,0,0,0,"STMT_START,EXPR_START,VAR_DEF,VAR_1ST,VAR_INLINE",0,0," u11"
+132,COMMA,NONE,PARENT_NOT_SET,43,43,44,0,0,0,0,"PUNCTUATOR",0,0," ,"
+132,PTR_TYPE,UNION,PARENT_NOT_SET,45,45,46,1,0,0,0,"EXPR_START,PUNCTUATOR",0,0," *"
+132,WORD,NONE,PARENT_NOT_SET,46,46,49,0,0,0,0,"EXPR_START,VAR_DEF,VAR_INLINE,LVALUE",0,0," u12"
+132,ASSIGN,NONE,PARENT_NOT_SET,50,50,51,1,0,0,0,"PUNCTUATOR",0,0," ="
+132,WORD,NONE,PARENT_NOT_SET,52,52,59,1,0,0,0,"EXPR_START",0,0," nullptr"
+132,COMMA,NONE,PARENT_NOT_SET,59,59,60,0,0,0,0,"PUNCTUATOR",0,0," ,"
+132,PTR_TYPE,UNION,PARENT_NOT_SET,61,61,62,1,0,0,0,"EXPR_START,PUNCTUATOR",0,0," *"
+132,WORD,NONE,PARENT_NOT_SET,62,62,65,0,0,0,0,"EXPR_START,VAR_DEF,VAR_INLINE,LVALUE",0,0," u13"
+132,BRACE_OPEN,BRACED_INIT_LIST,PARENT_NOT_SET,65,65,66,0,0,0,0,"ONE_LINER,PUNCTUATOR",0,0," {"
+132,NUMBER,NONE,PARENT_NOT_SET,66,66,67,0,1,1,0,"STMT_START,EXPR_START,ONE_LINER",0,0," 0"
+132,BRACE_CLOSE,BRACED_INIT_LIST,PARENT_NOT_SET,67,67,68,0,0,0,0,"ONE_LINER,PUNCTUATOR",0,0," }"
+132,SEMICOLON,UNION,PARENT_NOT_SET,68,68,69,0,0,0,0,"PUNCTUATOR",0,0," ;"
+132,NEWLINE,NONE,PARENT_NOT_SET,69,69,1,0,0,0,0,"",2,0,
+134,UNION,NONE,PARENT_NOT_SET,1,1,6,0,0,0,0,"FORCE_SPACE,STMT_START,EXPR_START",0,0," union"
+134,WORD,NONE,PARENT_NOT_SET,7,7,17,1,0,0,0,"FORCE_SPACE",0,0," API_EXPORT"
+134,TYPE,UNION,PARENT_NOT_SET,18,18,20,1,0,0,0,"FORCE_SPACE,VAR_TYPE",0,0," u1"
+134,WORD,NONE,PARENT_NOT_SET,21,21,24,1,0,0,0,"VAR_DEF,VAR_1ST",0,0," u21"
+134,SEMICOLON,UNION,PARENT_NOT_SET,24,24,25,0,0,0,0,"PUNCTUATOR",0,0," ;"
+134,NEWLINE,NONE,PARENT_NOT_SET,25,25,1,0,0,0,0,"",1,0, \ No newline at end of file
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/class_enum_struct_union.txt b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/class_enum_struct_union.txt
new file mode 100644
index 00000000..4cf1a681
--- /dev/null
+++ b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/class_enum_struct_union.txt
@@ -0,0 +1,692 @@
+
+# option(s) with 'not default' value: 0
+#
+# -=====-
+# number of loops = 1
+# -=====-
+# language = CPP
+# -=====-
+# Line Tag Parent_type Type of the parent Columns Br/Lvl/pp Flag Nl Text
+# 1> COMMENT_MULTI| COMMENT_WHOLE| PARENT_NOT_SET[ 1/ 4/ 7/ 3][0/0/0][ 0][9-0] /**␤ * the enum (and variable declarations thereof) could be of␤ * the following forms:␤ *␤ * "enum type [: integral_type] { ... } [x, ...]"␤ * "enum type [: integral_type]"␤ * "enum class type [: integral_type] { ... } [x, ...]"␤ * "enum class type [: integral_type]"␤ * "enum [: integral_type] { ... } x, ..."␤ */
+# 10> NEWLINE| NONE| PARENT_NOT_SET[ 7/ 7/ 4/ 0][0/0/0][ 0][2-0]
+# 12> COMMENT_MULTI| COMMENT_WHOLE| PARENT_NOT_SET[ 1/ 4/ 7/ 0][0/0/0][ 0][9-0] /**␤ * the class/struct (and variable declarations thereof) could be of␤ * the following forms:␤ *␤ * template<...> class/struct[<...>] [macros/attributes ...] type [: bases ...] { }␤ * template<...> class/struct[<...>] [macros/attributes ...] type␤ * class/struct[ [macros/attributes ...] type [: bases ...] { } [x, ...]␤ * class/struct [macros/attributes ...] type [x, ...]␤ * class/struct [macros/attributes ...] [: bases] { } x, ...␤ */
+# 21> NEWLINE| NONE| PARENT_NOT_SET[ 7/ 7/ 1/ 0][0/0/0][ 0][2-0]
+# 23> PREPROC| PP_DEFINE| PARENT_NOT_SET[ 1/ 1/ 2/ 0][1/1/0][ 2001c0001][0-0] #
+# 23> PP_DEFINE| NONE| PARENT_NOT_SET[ 2/ 2/ 8/ 0][1/1/0][ 20001][0-0] define
+# 23> MACRO_FUNC| NONE| PARENT_NOT_SET[ 9/ 9/ 16/ 1][1/1/0][ 80001][0-0] ALIGNAS
+# 23> FPAREN_OPEN| MACRO_FUNC| PARENT_NOT_SET[ 16/ 16/ 17/ 0][1/1/0][ 200000001][0-0] (
+# 23> WORD| NONE| PARENT_NOT_SET[ 17/ 17/ 31/ 0][1/2/0][ 80011][0-0] byte_alignment
+# 23> FPAREN_CLOSE| MACRO_FUNC| PARENT_NOT_SET[ 31/ 31/ 32/ 0][1/1/0][ 200000011][0-0] )
+# 23> ATTRIBUTE| NONE| PARENT_NOT_SET[ 33/ 33/ 46/ 1][1/1/0][ 1][0-0] __attribute__
+# 23> FPAREN_OPEN| ATTRIBUTE| PARENT_NOT_SET[ 46/ 46/ 47/ 0][1/1/0][ 200000001][0-0] (
+# 23> PAREN_OPEN| NONE| PARENT_NOT_SET[ 47/ 47/ 48/ 0][1/2/0][ 200080001][0-0] (
+# 23> FUNC_CALL| NONE| PARENT_NOT_SET[ 48/ 48/ 55/ 0][1/3/0][ 80001][0-0] aligned
+# 23> FPAREN_OPEN| FUNC_CALL| PARENT_NOT_SET[ 55/ 55/ 56/ 0][1/3/0][ 200000001][0-0] (
+# 23> WORD| NONE| PARENT_NOT_SET[ 56/ 56/ 70/ 0][1/4/0][ 80011][0-0] byte_alignment
+# 23> FPAREN_CLOSE| FUNC_CALL| PARENT_NOT_SET[ 70/ 70/ 71/ 0][1/3/0][ 200000011][0-0] )
+# 23> PAREN_CLOSE| NONE| PARENT_NOT_SET[ 71/ 71/ 72/ 0][1/2/0][ 200000001][0-0] )
+# 23> FPAREN_CLOSE| ATTRIBUTE| PARENT_NOT_SET[ 72/ 72/ 73/ 0][1/1/0][ 200000001][0-0] )
+# 23> NEWLINE| NONE| PARENT_NOT_SET[ 73/ 73/ 1/ 0][0/0/0][ 0][2-0]
+# 25> PREPROC| PP_IF| PARENT_NOT_SET[ 1/ 1/ 2/ 0][0/0/0][ 200100001][0-0] #
+# 25> PP_IF| NONE| PARENT_NOT_SET[ 2/ 2/ 4/ 0][0/0/1][ 20001][0-0] if
+# 25> PP_DEFINED| NONE| PARENT_NOT_SET[ 5/ 5/ 12/ 1][0/0/1][ 80001][0-0] defined
+# 25> PAREN_OPEN| NONE| PARENT_NOT_SET[ 13/ 13/ 14/ 1][0/0/1][ 200000001][0-0] (
+# 25> WORD| NONE| PARENT_NOT_SET[ 14/ 14/ 22/ 0][0/0/1][ 80001][0-0] __unix__
+# 25> PAREN_CLOSE| NONE| PARENT_NOT_SET[ 22/ 22/ 23/ 0][0/0/1][ 200000001][0-0] )
+# 25> BOOL| NONE| PARENT_NOT_SET[ 24/ 24/ 26/ 1][0/0/1][ 200000001][0-0] ||
+# 25> PAREN_OPEN| NONE| PARENT_NOT_SET[ 27/ 27/ 28/ 1][0/0/1][ 200000001][0-0] (
+# 25> PP_DEFINED| NONE| PARENT_NOT_SET[ 28/ 28/ 35/ 0][0/0/1][ 80001][0-0] defined
+# 25> PAREN_OPEN| NONE| PARENT_NOT_SET[ 36/ 36/ 37/ 1][0/0/1][ 200000001][0-0] (
+# 25> WORD| NONE| PARENT_NOT_SET[ 37/ 37/ 46/ 0][0/0/1][ 80001][0-0] __APPLE__
+# 25> PAREN_CLOSE| NONE| PARENT_NOT_SET[ 46/ 46/ 47/ 0][0/0/1][ 200000001][0-0] )
+# 25> BOOL| NONE| PARENT_NOT_SET[ 48/ 48/ 50/ 1][0/0/1][ 200000001][0-0] &&
+# 25> PP_DEFINED| NONE| PARENT_NOT_SET[ 51/ 51/ 58/ 1][0/0/1][ 1][0-0] defined
+# 25> PAREN_OPEN| NONE| PARENT_NOT_SET[ 59/ 59/ 60/ 1][0/0/1][ 200000001][0-0] (
+# 25> WORD| NONE| PARENT_NOT_SET[ 60/ 60/ 68/ 0][0/0/1][ 80001][0-0] __MACH__
+# 25> PAREN_CLOSE| NONE| PARENT_NOT_SET[ 68/ 68/ 69/ 0][0/0/1][ 200000001][0-0] )
+# 25> PAREN_CLOSE| NONE| PARENT_NOT_SET[ 69/ 69/ 70/ 0][0/0/1][ 200000001][0-0] )
+# 25> NEWLINE| NONE| PARENT_NOT_SET[ 70/ 70/ 1/ 0][0/0/1][ 0][1-0]
+# 26> PREPROC| PP_DEFINE| PARENT_NOT_SET[ 1/ 1/ 2/ 0][1/1/1][ 2001c0001][0-0] #
+# 26> PP_DEFINE| NONE| PARENT_NOT_SET[ 2/ 2/ 8/ 0][1/1/1][ 20001][0-0] define
+# 26> MACRO| NONE| PARENT_NOT_SET[ 9/ 9/ 19/ 1][1/1/1][ 20001][0-0] API_EXPORT
+# 26> ATTRIBUTE| NONE| PARENT_NOT_SET[ 20/ 20/ 33/ 1][1/1/1][ 80001][0-0] __attribute__
+# 26> FPAREN_OPEN| ATTRIBUTE| PARENT_NOT_SET[ 34/ 34/ 35/ 1][1/1/1][ 2000c0001][0-0] (
+# 26> PAREN_OPEN| NONE| PARENT_NOT_SET[ 35/ 35/ 36/ 0][1/2/1][ 200080001][0-0] (
+# 26> FUNC_CALL| NONE| PARENT_NOT_SET[ 36/ 36/ 46/ 0][1/3/1][ 80001][0-0] visibility
+# 26> FPAREN_OPEN| FUNC_CALL| PARENT_NOT_SET[ 46/ 46/ 47/ 0][1/3/1][ 200000001][0-0] (
+# 26> STRING| PP_INCLUDE| PARENT_NOT_SET[ 47/ 47/ 56/ 0][1/4/1][ 80011][0-0] "default"
+# 26> FPAREN_CLOSE| FUNC_CALL| PARENT_NOT_SET[ 56/ 56/ 57/ 0][1/3/1][ 200000011][0-0] )
+# 26> PAREN_CLOSE| NONE| PARENT_NOT_SET[ 57/ 57/ 58/ 0][1/2/1][ 200000001][0-0] )
+# 26> FPAREN_CLOSE| ATTRIBUTE| PARENT_NOT_SET[ 58/ 58/ 59/ 0][1/1/1][ 200000001][0-0] )
+# 26> NEWLINE| NONE| PARENT_NOT_SET[ 59/ 59/ 1/ 0][0/0/1][ 0][1-0]
+# 27> PREPROC| PP_ELSE| PARENT_NOT_SET[ 1/ 1/ 2/ 0][0/0/0][ 200100001][0-0] #
+# 27> PP_ELSE| NONE| PP_IF[ 2/ 2/ 6/ 0][0/0/1][ 20001][0-0] elif
+# 27> PP_DEFINED| NONE| PARENT_NOT_SET[ 7/ 7/ 14/ 1][0/0/1][ a0001][0-0] defined
+# 27> WORD| NONE| PARENT_NOT_SET[ 15/ 15/ 21/ 1][0/0/1][ 1][0-0] _WIN32
+# 27> NEWLINE| NONE| PARENT_NOT_SET[ 21/ 21/ 1/ 0][0/0/1][ 0][1-0]
+# 28> PREPROC| PP_DEFINE| PARENT_NOT_SET[ 1/ 1/ 2/ 0][1/1/1][ 2001c0001][0-0] #
+# 28> PP_DEFINE| NONE| PARENT_NOT_SET[ 2/ 2/ 8/ 0][1/1/1][ 20001][0-0] define
+# 28> MACRO| NONE| PARENT_NOT_SET[ 9/ 9/ 19/ 1][1/1/1][ 20001][0-0] API_EXPORT
+# 28> DECLSPEC| NONE| PARENT_NOT_SET[ 20/ 20/ 30/ 1][1/1/1][ c0001][0-0] __declspec
+# 28> PAREN_OPEN| DECLSPEC| PARENT_NOT_SET[ 30/ 30/ 31/ 0][1/1/1][ 200000001][0-0] (
+# 28> WORD| NONE| PARENT_NOT_SET[ 31/ 31/ 40/ 0][1/2/1][ 80001][0-0] dllexport
+# 28> PAREN_CLOSE| DECLSPEC| PARENT_NOT_SET[ 40/ 40/ 41/ 0][1/1/1][ 200000001][0-0] )
+# 28> NEWLINE| NONE| PARENT_NOT_SET[ 41/ 41/ 1/ 0][0/0/1][ 0][1-0]
+# 29> PREPROC| PP_ELSE| PARENT_NOT_SET[ 1/ 1/ 2/ 0][0/0/0][ 200100001][0-0] #
+# 29> PP_ELSE| NONE| PP_IF[ 2/ 2/ 6/ 0][0/0/1][ 1][0-0] else
+# 29> NEWLINE| NONE| PARENT_NOT_SET[ 6/ 6/ 1/ 0][0/0/1][ 0][1-0]
+# 30> PREPROC| PP_DEFINE| PARENT_NOT_SET[ 1/ 1/ 2/ 0][1/1/1][ 2001c0001][0-0] #
+# 30> PP_DEFINE| NONE| PARENT_NOT_SET[ 2/ 2/ 8/ 0][1/1/1][ 20001][0-0] define
+# 30> MACRO| NONE| PARENT_NOT_SET[ 9/ 9/ 19/ 1][1/1/1][ 1][0-0] API_EXPORT
+# 30> NEWLINE| NONE| PARENT_NOT_SET[ 19/ 19/ 1/ 0][0/0/1][ 0][1-0]
+# 31> PREPROC| PP_ENDIF| PARENT_NOT_SET[ 1/ 1/ 2/ 0][0/0/0][ 200100001][0-0] #
+# 31> PP_ENDIF| NONE| PP_IF[ 2/ 2/ 7/ 0][0/0/0][ 1][0-0] endif
+# 31> NEWLINE| NONE| PARENT_NOT_SET[ 7/ 7/ 1/ 0][0/0/0][ 0][2-0]
+# 33> NAMESPACE| NONE| PARENT_NOT_SET[ 1/ 1/ 10/ 0][0/0/0][ e0000][0-0] namespace
+# 33> WORD| NAMESPACE| PARENT_NOT_SET[ 11/ 11/ 26/ 1][0/0/0][ 0][0-0] outer_namespace
+# 33> NEWLINE| NONE| PARENT_NOT_SET[ 26/ 26/ 1/ 0][0/0/0][ 0][1-0]
+# 34> BRACE_OPEN| NAMESPACE| PARENT_NOT_SET[ 1/ 1/ 2/ 0][0/0/0][ 200000000][0-0] {
+# 34> NEWLINE| NONE| PARENT_NOT_SET[ 2/ 2/ 1/ 0][1/1/0][ 1000][2-0]
+# 36> NAMESPACE| NONE| PARENT_NOT_SET[ 1/ 1/ 10/ 0][1/1/0][ e1000][0-0] namespace
+# 36> WORD| NAMESPACE| PARENT_NOT_SET[ 11/ 11/ 26/ 1][1/1/0][ 1000][0-0] inner_namespace
+# 36> NEWLINE| NONE| PARENT_NOT_SET[ 26/ 26/ 1/ 0][1/1/0][ 1000][1-0]
+# 37> BRACE_OPEN| NAMESPACE| PARENT_NOT_SET[ 1/ 1/ 2/ 0][1/1/0][ 200001000][0-0] {
+# 37> NEWLINE| NONE| PARENT_NOT_SET[ 2/ 2/ 1/ 0][2/2/0][ 1000][2-0]
+# 39> CLASS| NONE| PARENT_NOT_SET[ 1/ 1/ 6/ 0][2/2/0][ e1000][0-0] class
+# 39> TYPE| CLASS| PARENT_NOT_SET[ 7/ 7/ 12/ 1][2/2/0][ 1000][0-0] Base1
+# 39> BRACE_OPEN| CLASS| PARENT_NOT_SET[ 13/ 13/ 14/ 1][2/2/0][ 2c0001400][0-0] {
+# 39> BRACE_CLOSE| CLASS| PARENT_NOT_SET[ 15/ 15/ 16/ 1][2/2/0][ 2c0001400][0-0] }
+# 39> SEMICOLON| CLASS| PARENT_NOT_SET[ 16/ 16/ 17/ 0][2/2/0][ 200000000][0-0] ;
+# 39> NEWLINE| NONE| PARENT_NOT_SET[ 17/ 17/ 1/ 0][2/2/0][ 0][2-0]
+# 41> TEMPLATE| NONE| PARENT_NOT_SET[ 1/ 1/ 9/ 0][2/2/0][ c0000][0-0] template
+# 41> ANGLE_OPEN| TEMPLATE| PARENT_NOT_SET[ 9/ 9/ 10/ 0][2/2/0][ 200000040][0-0] <
+# 41> TYPENAME| NONE| PARENT_NOT_SET[ 10/ 10/ 18/ 0][2/3/0][ 80040][0-0] typename
+# 41> ANGLE_CLOSE| TEMPLATE| PARENT_NOT_SET[ 18/ 18/ 19/ 0][2/2/0][ 200000040][0-0] >
+# 41> CLASS| TEMPLATE| PARENT_NOT_SET[ 20/ 20/ 25/ 1][2/2/0][ a0000][0-0] class
+# 41> TYPE| CLASS| PARENT_NOT_SET[ 26/ 26/ 31/ 1][2/2/0][ 0][0-0] Base2
+# 41> BRACE_OPEN| CLASS| PARENT_NOT_SET[ 32/ 32/ 33/ 1][2/2/0][ 2c0000400][0-0] {
+# 41> BRACE_CLOSE| CLASS| PARENT_NOT_SET[ 34/ 34/ 35/ 1][2/2/0][ 2c0000400][0-0] }
+# 41> SEMICOLON| CLASS| PARENT_NOT_SET[ 35/ 35/ 36/ 0][2/2/0][ 200000000][0-0] ;
+# 41> NEWLINE| NONE| PARENT_NOT_SET[ 36/ 36/ 1/ 0][2/2/0][ 0][2-0]
+# 43> BRACE_CLOSE| NAMESPACE| PARENT_NOT_SET[ 1/ 1/ 2/ 0][1/1/0][ 200000000][0-0] }
+# 43> NEWLINE| NONE| PARENT_NOT_SET[ 2/ 2/ 1/ 0][1/1/0][ 0][2-0]
+# 45> BRACE_CLOSE| NAMESPACE| PARENT_NOT_SET[ 1/ 1/ 2/ 0][0/0/0][ 200000000][0-0] }
+# 45> NEWLINE| NONE| PARENT_NOT_SET[ 2/ 2/ 1/ 0][0/0/0][ 0][2-0]
+# 47> COMMENT_CPP| COMMENT_WHOLE| PARENT_NOT_SET[ 1/ 1/ 82/ 0][0/0/0][ 0][0-0] // template<...> class/struct[<...>] [macros/attributes ...] type : bases ... { }
+# 47> NEWLINE| NONE| PARENT_NOT_SET[ 82/ 82/ 1/ 0][0/0/0][ 0][1-0]
+# 48> TEMPLATE| NONE| PARENT_NOT_SET[ 1/ 1/ 9/ 0][0/0/0][ c0000][0-0] template
+# 48> ANGLE_OPEN| TEMPLATE| PARENT_NOT_SET[ 9/ 9/ 10/ 0][0/0/0][ 200000040][0-0] <
+# 48> TYPENAME| NONE| PARENT_NOT_SET[ 10/ 10/ 18/ 0][0/1/0][ 80040][0-0] typename
+# 48> COMMA| NONE| PARENT_NOT_SET[ 18/ 18/ 19/ 0][0/1/0][ 200000040][0-0] ,
+# 48> TYPENAME| NONE| PARENT_NOT_SET[ 20/ 20/ 28/ 1][0/1/0][ 80040][0-0] typename
+# 48> ELLIPSIS| NONE| PARENT_NOT_SET[ 29/ 29/ 32/ 1][0/1/0][ 200000040][0-0] ...
+# 48> ANGLE_CLOSE| TEMPLATE| PARENT_NOT_SET[ 32/ 32/ 33/ 0][0/0/0][ 200000040][0-0] >
+# 48> NEWLINE| NONE| PARENT_NOT_SET[ 33/ 33/ 1/ 0][0/0/0][ 0][1-0]
+# 49> CLASS| TEMPLATE| PARENT_NOT_SET[ 1/ 1/ 6/ 0][0/0/0][ a0000][0-0] class
+# 49> WORD| NONE| PARENT_NOT_SET[ 7/ 7/ 17/ 1][0/0/0][ 20000][0-0] API_EXPORT
+# 49> ATTRIBUTE| NONE| PARENT_NOT_SET[ 18/ 18/ 31/ 1][0/0/0][ 0][0-0] __attribute__
+# 49> FPAREN_OPEN| ATTRIBUTE| PARENT_NOT_SET[ 31/ 31/ 32/ 0][0/0/0][ 200000000][0-0] (
+# 49> PAREN_OPEN| NONE| PARENT_NOT_SET[ 32/ 32/ 33/ 0][0/1/0][ 200080000][0-0] (
+# 49> WORD| NONE| PARENT_NOT_SET[ 33/ 33/ 47/ 0][0/2/0][ 80000][0-0] __deprecated__
+# 49> PAREN_CLOSE| NONE| PARENT_NOT_SET[ 47/ 47/ 48/ 0][0/1/0][ 200000000][0-0] )
+# 49> FPAREN_CLOSE| ATTRIBUTE| PARENT_NOT_SET[ 48/ 48/ 49/ 0][0/0/0][ 200000000][0-0] )
+# 49> MACRO_FUNC_CALL| NONE| PARENT_NOT_SET[ 50/ 50/ 57/ 1][0/0/0][ 0][0-0] ALIGNAS
+# 49> FPAREN_OPEN| MACRO_FUNC_CALL| PARENT_NOT_SET[ 57/ 57/ 58/ 0][0/0/0][ 200000000][0-0] (
+# 49> NUMBER| NONE| PARENT_NOT_SET[ 58/ 58/ 59/ 0][0/1/0][ 80000][0-0] 4
+# 49> FPAREN_CLOSE| MACRO_FUNC_CALL| PARENT_NOT_SET[ 59/ 59/ 60/ 0][0/0/0][ 200000000][0-0] )
+# 49> TYPE| CLASS| PARENT_NOT_SET[ 61/ 61/ 63/ 1][0/0/0][ 0][0-0] c1
+# 49> NEWLINE| NONE| PARENT_NOT_SET[ 63/ 63/ 1/ 0][0/0/0][ 0][1-0]
+# 50> CLASS_COLON| CLASS| PARENT_NOT_SET[ 9/ 1/ 2/ 0][0/0/0][ 200000800][0-0] :
+# 50> QUALIFIER| NONE| PARENT_NOT_SET[ 11/ 3/ 9/ 1][0/0/0][ e0800][0-0] public
+# 50> TYPE| NONE| PARENT_NOT_SET[ 18/ 10/ 25/ 1][0/0/0][ 800][0-0] outer_namespace
+# 50> DC_MEMBER| NONE| PARENT_NOT_SET[ 33/ 25/ 27/ 0][0/0/0][ 200000800][0-0] ::
+# 50> TYPE| NONE| PARENT_NOT_SET[ 35/ 27/ 42/ 0][0/0/0][ 800][0-0] inner_namespace
+# 50> DC_MEMBER| NONE| PARENT_NOT_SET[ 50/ 42/ 44/ 0][0/0/0][ 200000800][0-0] ::
+# 50> TYPE| NONE| PARENT_NOT_SET[ 52/ 44/ 49/ 0][0/0/0][ 800][0-0] Base1
+# 50> COMMA| NONE| PARENT_NOT_SET[ 57/ 49/ 50/ 0][0/0/0][ 200000800][0-0] ,
+# 50> NEWLINE| NONE| PARENT_NOT_SET[ 58/ 50/ 3/ 0][0/0/0][ 0][1-0]
+# 51> QUALIFIER| NONE| PARENT_NOT_SET[ 9/ 3/ 9/ 0][0/0/0][ a0800][0-0] public
+# 51> TYPE| NONE| PARENT_NOT_SET[ 16/ 10/ 25/ 1][0/0/0][ 800][0-0] outer_namespace
+# 51> DC_MEMBER| NONE| PARENT_NOT_SET[ 31/ 25/ 27/ 0][0/0/0][ 200000800][0-0] ::
+# 51> TYPE| NONE| PARENT_NOT_SET[ 33/ 27/ 42/ 0][0/0/0][ 800][0-0] inner_namespace
+# 51> DC_MEMBER| NONE| PARENT_NOT_SET[ 48/ 42/ 44/ 0][0/0/0][ 200000800][0-0] ::
+# 51> TYPE| NONE| PARENT_NOT_SET[ 50/ 44/ 49/ 0][0/0/0][ 800][0-0] Base2
+# 51> ANGLE_OPEN| TEMPLATE| PARENT_NOT_SET[ 55/ 49/ 50/ 0][0/0/0][ 200000840][0-0] <
+# 51> TYPE| NONE| PARENT_NOT_SET[ 56/ 50/ 65/ 0][0/1/0][ 80840][0-0] outer_namespace
+# 51> DC_MEMBER| NONE| PARENT_NOT_SET[ 71/ 65/ 67/ 0][0/1/0][ 200000840][0-0] ::
+# 51> TYPE| NONE| PARENT_NOT_SET[ 73/ 67/ 82/ 0][0/1/0][ 840][0-0] inner_namespace
+# 51> DC_MEMBER| NONE| PARENT_NOT_SET[ 88/ 82/ 84/ 0][0/1/0][ 200000840][0-0] ::
+# 51> TYPE| NONE| PARENT_NOT_SET[ 90/ 84/ 89/ 0][0/1/0][ 840][0-0] Base1
+# 51> ANGLE_CLOSE| TEMPLATE| PARENT_NOT_SET[ 95/ 89/ 90/ 0][0/0/0][ 200000840][0-0] >
+# 51> NEWLINE| NONE| PARENT_NOT_SET[ 96/ 90/ 1/ 0][0/0/0][ 0][1-0]
+# 52> BRACE_OPEN| CLASS| PARENT_NOT_SET[ 1/ 1/ 2/ 0][0/0/0][ 280080400][0-0] {
+# 52> NEWLINE| NONE| PARENT_NOT_SET[ 2/ 2/ 1/ 0][1/1/0][ 400][2-0]
+# 54> BRACE_CLOSE| CLASS| PARENT_NOT_SET[ 1/ 1/ 2/ 0][0/0/0][ 280000400][0-0] }
+# 54> SEMICOLON| CLASS| PARENT_NOT_SET[ 2/ 2/ 3/ 0][0/0/0][ 200000000][0-0] ;
+# 54> NEWLINE| NONE| PARENT_NOT_SET[ 3/ 3/ 1/ 0][0/0/0][ 0][2-0]
+# 56> COMMENT_CPP| COMMENT_WHOLE| PARENT_NOT_SET[ 1/ 1/ 70/ 0][0/0/0][ 0][0-0] // template<...> class/struct[<...>] [macros/attributes ...] type { }
+# 56> NEWLINE| NONE| PARENT_NOT_SET[ 70/ 70/ 1/ 0][0/0/0][ 0][1-0]
+# 57> TEMPLATE| NONE| PARENT_NOT_SET[ 1/ 1/ 9/ 0][0/0/0][ c0000][0-0] template
+# 57> ANGLE_OPEN| TEMPLATE| PARENT_NOT_SET[ 9/ 9/ 10/ 0][0/0/0][ 200000040][0-0] <
+# 57> TYPENAME| NONE| PARENT_NOT_SET[ 10/ 10/ 18/ 0][0/1/0][ 80040][0-0] typename
+# 57> COMMA| NONE| PARENT_NOT_SET[ 18/ 18/ 19/ 0][0/1/0][ 200000040][0-0] ,
+# 57> TYPENAME| NONE| PARENT_NOT_SET[ 20/ 20/ 28/ 1][0/1/0][ 80040][0-0] typename
+# 57> ELLIPSIS| NONE| PARENT_NOT_SET[ 29/ 29/ 32/ 1][0/1/0][ 200000040][0-0] ...
+# 57> ANGLE_CLOSE| TEMPLATE| PARENT_NOT_SET[ 32/ 32/ 33/ 0][0/0/0][ 200000040][0-0] >
+# 57> NEWLINE| NONE| PARENT_NOT_SET[ 33/ 33/ 1/ 0][0/0/0][ 0][1-0]
+# 58> CLASS| TEMPLATE| PARENT_NOT_SET[ 1/ 1/ 6/ 0][0/0/0][ a0000][0-0] class
+# 58> WORD| NONE| PARENT_NOT_SET[ 7/ 7/ 17/ 1][0/0/0][ 20000][0-0] API_EXPORT
+# 58> TYPE| CLASS| PARENT_NOT_SET[ 18/ 18/ 20/ 1][0/0/0][ 0][0-0] c2
+# 58> NEWLINE| NONE| PARENT_NOT_SET[ 20/ 20/ 1/ 0][0/0/0][ 0][1-0]
+# 59> BRACE_OPEN| CLASS| PARENT_NOT_SET[ 1/ 1/ 2/ 0][0/0/0][ 200000400][0-0] {
+# 59> NEWLINE| NONE| PARENT_NOT_SET[ 2/ 2/ 1/ 0][1/1/0][ 400][1-0]
+# 60> ACCESS| NONE| PARENT_NOT_SET[ 1/ 1/ 7/ 0][1/1/0][ c0400][0-0] public
+# 60> ACCESS_COLON| NONE| PARENT_NOT_SET[ 7/ 7/ 8/ 0][1/1/0][ 200000400][0-0] :
+# 60> NEWLINE| NONE| PARENT_NOT_SET[ 8/ 8/ 4/ 0][1/1/0][ 400][2-0]
+# 62> TEMPLATE| NONE| PARENT_NOT_SET[ 1/ 4/ 12/ 0][1/1/0][ c0400][0-0] template
+# 62> ANGLE_OPEN| TEMPLATE| PARENT_NOT_SET[ 9/ 12/ 13/ 0][1/1/0][ 200000440][0-0] <
+# 62> TYPENAME| NONE| PARENT_NOT_SET[ 10/ 13/ 21/ 0][1/2/0][ a0440][0-0] typename
+# 62> TYPE| NONE| PARENT_NOT_SET[ 19/ 22/ 23/ 1][1/2/0][ 440][0-0] T
+# 62> ANGLE_CLOSE| TEMPLATE| PARENT_NOT_SET[ 20/ 23/ 24/ 0][1/1/0][ 200000440][0-0] >
+# 62> NEWLINE| NONE| PARENT_NOT_SET[ 21/ 24/ 4/ 0][1/1/0][ 400][1-0]
+# 63> STRUCT| TEMPLATE| PARENT_NOT_SET[ 1/ 4/ 10/ 0][1/1/0][ a0400][0-0] struct
+# 63> TYPE| STRUCT| PARENT_NOT_SET[ 8/ 11/ 22/ 1][1/1/0][ 400][0-0] inner_class
+# 63> NEWLINE| NONE| PARENT_NOT_SET[ 19/ 22/ 4/ 0][1/1/0][ 400][1-0]
+# 64> BRACE_OPEN| STRUCT| PARENT_NOT_SET[ 1/ 4/ 5/ 0][1/1/0][ 200000400][0-0] {
+# 64> NEWLINE| NONE| PARENT_NOT_SET[ 2/ 5/ 7/ 0][2/2/0][ 402][1-0]
+# 65> QUALIFIER| NONE| PARENT_NOT_SET[ 9/ 7/ 13/ 0][2/2/0][ 8e0402][0-0] static
+# 65> TYPE| NONE| PARENT_NOT_SET[ 16/ 14/ 25/ 1][2/2/0][ 800402][0-0] inner_class
+# 65> ANGLE_OPEN| TEMPLATE| PARENT_NOT_SET[ 27/ 25/ 26/ 0][2/2/0][ 200000442][0-0] <
+# 65> TYPE| NONE| PARENT_NOT_SET[ 28/ 26/ 27/ 0][2/3/0][ 80442][0-0] T
+# 65> ANGLE_CLOSE| TEMPLATE| PARENT_NOT_SET[ 29/ 27/ 28/ 0][2/2/0][ 200000442][0-0] >
+# 65> PTR_TYPE| NONE| PARENT_NOT_SET[ 31/ 29/ 30/ 1][2/2/0][ 200880402][0-0] *
+# 65> WORD| NONE| PARENT_NOT_SET[ 32/ 30/ 43/ 0][2/2/0][ 3080402][0-0] m_inner_class
+# 65> SEMICOLON| NONE| PARENT_NOT_SET[ 45/ 43/ 44/ 0][2/2/0][ 200000402][0-0] ;
+# 65> NEWLINE| NONE| PARENT_NOT_SET[ 46/ 44/ 4/ 0][2/2/0][ 402][1-0]
+# 66> BRACE_CLOSE| STRUCT| PARENT_NOT_SET[ 1/ 4/ 5/ 0][1/1/0][ 200000402][0-0] }
+# 66> SEMICOLON| STRUCT| PARENT_NOT_SET[ 2/ 5/ 6/ 0][1/1/0][ 200000400][0-0] ;
+# 66> NEWLINE| NONE| PARENT_NOT_SET[ 3/ 6/ 1/ 0][1/1/0][ 400][1-0]
+# 67> BRACE_CLOSE| CLASS| PARENT_NOT_SET[ 1/ 1/ 2/ 0][0/0/0][ 200000400][0-0] }
+# 67> SEMICOLON| CLASS| PARENT_NOT_SET[ 2/ 2/ 3/ 0][0/0/0][ 200000000][0-0] ;
+# 67> NEWLINE| NONE| PARENT_NOT_SET[ 3/ 3/ 1/ 0][0/0/0][ 0][2-0]
+# 69> TEMPLATE| NONE| PARENT_NOT_SET[ 1/ 1/ 9/ 0][0/0/0][ c0000][0-0] template
+# 69> ANGLE_OPEN| TEMPLATE| PARENT_NOT_SET[ 9/ 9/ 10/ 0][0/0/0][ 200000040][0-0] <
+# 69> ANGLE_CLOSE| TEMPLATE| PARENT_NOT_SET[ 10/ 10/ 11/ 0][0/0/0][ 200080040][0-0] >
+# 69> TEMPLATE| NONE| PARENT_NOT_SET[ 12/ 12/ 20/ 1][0/0/0][ 80000][0-0] template
+# 69> ANGLE_OPEN| TEMPLATE| PARENT_NOT_SET[ 20/ 20/ 21/ 0][0/0/0][ 200000040][0-0] <
+# 69> ANGLE_CLOSE| TEMPLATE| PARENT_NOT_SET[ 21/ 21/ 22/ 0][0/0/0][ 200080040][0-0] >
+# 69> STRUCT| TEMPLATE| PARENT_NOT_SET[ 23/ 23/ 29/ 1][0/0/0][ a0000][0-0] struct
+# 69> WORD| NONE| PARENT_NOT_SET[ 30/ 30/ 40/ 1][0/0/0][ 20000][0-0] API_EXPORT
+# 69> TYPE| NONE| PARENT_NOT_SET[ 41/ 41/ 43/ 1][0/0/0][ 0][0-0] c2
+# 69> ANGLE_OPEN| TEMPLATE| PARENT_NOT_SET[ 43/ 43/ 44/ 0][0/0/0][ 200000040][0-0] <
+# 69> TYPE| NONE| PARENT_NOT_SET[ 44/ 44/ 47/ 0][0/1/0][ 80040][0-0] int
+# 69> ANGLE_CLOSE| TEMPLATE| PARENT_NOT_SET[ 47/ 47/ 48/ 0][0/0/0][ 200000040][0-0] >
+# 69> DC_MEMBER| NONE| PARENT_NOT_SET[ 48/ 48/ 50/ 0][0/0/0][ 200080000][0-0] ::
+# 69> TYPE| STRUCT| PARENT_NOT_SET[ 50/ 50/ 61/ 0][0/0/0][ 800000][0-0] inner_class
+# 69> ANGLE_OPEN| TEMPLATE| PARENT_NOT_SET[ 61/ 61/ 62/ 0][0/0/0][ 200000040][0-0] <
+# 69> TYPE| NONE| PARENT_NOT_SET[ 62/ 62/ 65/ 0][0/1/0][ 80040][0-0] int
+# 69> ANGLE_CLOSE| TEMPLATE| PARENT_NOT_SET[ 65/ 65/ 66/ 0][0/0/0][ 200000040][0-0] >
+# 69> PTR_TYPE| NONE| PARENT_NOT_SET[ 67/ 67/ 68/ 1][0/0/0][ 200080000][0-0] *
+# 69> TYPE| NONE| PARENT_NOT_SET[ 68/ 68/ 70/ 0][0/0/0][ 80000][0-0] c2
+# 69> ANGLE_OPEN| TEMPLATE| PARENT_NOT_SET[ 70/ 70/ 71/ 0][0/0/0][ 200000040][0-0] <
+# 69> TYPE| NONE| PARENT_NOT_SET[ 71/ 71/ 74/ 0][0/1/0][ 80040][0-0] int
+# 69> ANGLE_CLOSE| TEMPLATE| PARENT_NOT_SET[ 74/ 74/ 75/ 0][0/0/0][ 200000040][0-0] >
+# 69> DC_MEMBER| NONE| PARENT_NOT_SET[ 75/ 75/ 77/ 0][0/0/0][ 200080000][0-0] ::
+# 69> TYPE| NONE| PARENT_NOT_SET[ 77/ 77/ 88/ 0][0/0/0][ 0][0-0] inner_class
+# 69> ANGLE_OPEN| TEMPLATE| PARENT_NOT_SET[ 88/ 88/ 89/ 0][0/0/0][ 200000040][0-0] <
+# 69> TYPE| NONE| PARENT_NOT_SET[ 89/ 89/ 92/ 0][0/1/0][ 80040][0-0] int
+# 69> ANGLE_CLOSE| TEMPLATE| PARENT_NOT_SET[ 92/ 92/ 93/ 0][0/0/0][ 200000040][0-0] >
+# 69> DC_MEMBER| NONE| PARENT_NOT_SET[ 93/ 93/ 95/ 0][0/0/0][ 200080000][0-0] ::
+# 69> WORD| NONE| PARENT_NOT_SET[ 95/ 95/108/ 0][0/0/0][ 23000000][0-0] m_inner_class
+# 69> ASSIGN| NONE| PARENT_NOT_SET[109/109/110/ 1][0/0/0][ 200000000][0-0] =
+# 69> WORD| NONE| PARENT_NOT_SET[111/111/118/ 1][0/0/0][ 80000][0-0] nullptr
+# 69> SEMICOLON| STRUCT| PARENT_NOT_SET[118/118/119/ 0][0/0/0][ 200000000][0-0] ;
+# 69> NEWLINE| NONE| PARENT_NOT_SET[119/119/ 1/ 0][0/0/0][ 0][2-0]
+# 71> COMMENT_CPP| COMMENT_WHOLE| PARENT_NOT_SET[ 1/ 1/ 66/ 0][0/0/0][ 0][0-0] // template<...> class/struct[<...>] [macros/attributes ...] type
+# 71> NEWLINE| NONE| PARENT_NOT_SET[ 66/ 66/ 1/ 0][0/0/0][ 0][1-0]
+# 72> TEMPLATE| NONE| PARENT_NOT_SET[ 1/ 1/ 9/ 0][0/0/0][ c0000][0-0] template
+# 72> ANGLE_OPEN| TEMPLATE| PARENT_NOT_SET[ 9/ 9/ 10/ 0][0/0/0][ 200000040][0-0] <
+# 72> TYPENAME| NONE| PARENT_NOT_SET[ 10/ 10/ 18/ 0][0/1/0][ 80040][0-0] typename
+# 72> COMMA| NONE| PARENT_NOT_SET[ 18/ 18/ 19/ 0][0/1/0][ 200000040][0-0] ,
+# 72> TYPENAME| NONE| PARENT_NOT_SET[ 20/ 20/ 28/ 1][0/1/0][ 80040][0-0] typename
+# 72> ELLIPSIS| NONE| PARENT_NOT_SET[ 29/ 29/ 32/ 1][0/1/0][ 200000040][0-0] ...
+# 72> ANGLE_CLOSE| TEMPLATE| PARENT_NOT_SET[ 32/ 32/ 33/ 0][0/0/0][ 200000040][0-0] >
+# 72> NEWLINE| NONE| PARENT_NOT_SET[ 33/ 33/ 1/ 0][0/0/0][ 0][1-0]
+# 73> CLASS| TEMPLATE| PARENT_NOT_SET[ 1/ 1/ 6/ 0][0/0/0][1000000a0000][0-0] class
+# 73> WORD| NONE| PARENT_NOT_SET[ 7/ 7/ 17/ 1][0/0/0][100000020000][0-0] API_EXPORT
+# 73> TYPE| CLASS| PARENT_NOT_SET[ 18/ 18/ 20/ 1][0/0/0][100000000000][0-0] c2
+# 73> SEMICOLON| CLASS| PARENT_NOT_SET[ 20/ 20/ 21/ 0][0/0/0][ 200000000][0-0] ;
+# 73> NEWLINE| NONE| PARENT_NOT_SET[ 21/ 21/ 1/ 0][0/0/0][ 0][2-0]
+# 75> COMMENT_CPP| COMMENT_WHOLE| PARENT_NOT_SET[ 1/ 1/ 68/ 0][0/0/0][ 0][0-0] // class/struct [macros/attributes ...] type : bases ... { } x, ...
+# 75> NEWLINE| NONE| PARENT_NOT_SET[ 68/ 68/ 1/ 0][0/0/0][ 0][1-0]
+# 76> CLASS| NONE| PARENT_NOT_SET[ 1/ 1/ 6/ 0][0/0/0][ e0000][0-0] class
+# 76> WORD| NONE| PARENT_NOT_SET[ 7/ 7/ 17/ 1][0/0/0][ 20000][0-0] API_EXPORT
+# 76> ATTRIBUTE| NONE| PARENT_NOT_SET[ 18/ 18/ 31/ 1][0/0/0][ 0][0-0] __attribute__
+# 76> FPAREN_OPEN| ATTRIBUTE| PARENT_NOT_SET[ 31/ 31/ 32/ 0][0/0/0][ 200000000][0-0] (
+# 76> PAREN_OPEN| NONE| PARENT_NOT_SET[ 32/ 32/ 33/ 0][0/1/0][ 200080000][0-0] (
+# 76> WORD| NONE| PARENT_NOT_SET[ 33/ 33/ 47/ 0][0/2/0][ 80000][0-0] __deprecated__
+# 76> PAREN_CLOSE| NONE| PARENT_NOT_SET[ 47/ 47/ 48/ 0][0/1/0][ 200000000][0-0] )
+# 76> FPAREN_CLOSE| ATTRIBUTE| PARENT_NOT_SET[ 48/ 48/ 49/ 0][0/0/0][ 200000000][0-0] )
+# 76> MACRO_FUNC_CALL| NONE| PARENT_NOT_SET[ 50/ 50/ 57/ 1][0/0/0][ 0][0-0] ALIGNAS
+# 76> FPAREN_OPEN| MACRO_FUNC_CALL| PARENT_NOT_SET[ 57/ 57/ 58/ 0][0/0/0][ 200000000][0-0] (
+# 76> NUMBER| NONE| PARENT_NOT_SET[ 58/ 58/ 59/ 0][0/1/0][ 80000][0-0] 4
+# 76> FPAREN_CLOSE| MACRO_FUNC_CALL| PARENT_NOT_SET[ 59/ 59/ 60/ 0][0/0/0][ 200000000][0-0] )
+# 76> TYPE| CLASS| PARENT_NOT_SET[ 61/ 61/ 63/ 1][0/0/0][ 800000][0-0] c3
+# 76> NEWLINE| NONE| PARENT_NOT_SET[ 63/ 63/ 1/ 0][0/0/0][ 0][1-0]
+# 77> CLASS_COLON| CLASS| PARENT_NOT_SET[ 9/ 1/ 2/ 0][0/0/0][ 200000800][0-0] :
+# 77> QUALIFIER| NONE| PARENT_NOT_SET[ 11/ 3/ 9/ 1][0/0/0][ e0800][0-0] public
+# 77> TYPE| NONE| PARENT_NOT_SET[ 18/ 10/ 25/ 1][0/0/0][ 800][0-0] outer_namespace
+# 77> DC_MEMBER| NONE| PARENT_NOT_SET[ 33/ 25/ 27/ 0][0/0/0][ 200000800][0-0] ::
+# 77> TYPE| NONE| PARENT_NOT_SET[ 35/ 27/ 42/ 0][0/0/0][ 800][0-0] inner_namespace
+# 77> DC_MEMBER| NONE| PARENT_NOT_SET[ 50/ 42/ 44/ 0][0/0/0][ 200000800][0-0] ::
+# 77> TYPE| NONE| PARENT_NOT_SET[ 52/ 44/ 49/ 0][0/0/0][ 800][0-0] Base2
+# 77> ANGLE_OPEN| TEMPLATE| PARENT_NOT_SET[ 57/ 49/ 50/ 0][0/0/0][ 200000840][0-0] <
+# 77> TYPE| NONE| PARENT_NOT_SET[ 58/ 50/ 53/ 0][0/1/0][ 80840][0-0] int
+# 77> ANGLE_CLOSE| TEMPLATE| PARENT_NOT_SET[ 61/ 53/ 54/ 0][0/0/0][ 200000840][0-0] >
+# 77> COMMA| NONE| PARENT_NOT_SET[ 62/ 54/ 55/ 0][0/0/0][ 200080800][0-0] ,
+# 77> NEWLINE| NONE| PARENT_NOT_SET[ 63/ 55/ 3/ 0][0/0/0][ 0][1-0]
+# 78> QUALIFIER| NONE| PARENT_NOT_SET[ 9/ 3/ 9/ 0][0/0/0][ a0800][0-0] public
+# 78> TYPE| NONE| PARENT_NOT_SET[ 16/ 10/ 12/ 1][0/0/0][ 800][0-0] c2
+# 78> ANGLE_OPEN| TEMPLATE| PARENT_NOT_SET[ 18/ 12/ 13/ 0][0/0/0][ 200000840][0-0] <
+# 78> TYPE| NONE| PARENT_NOT_SET[ 19/ 13/ 16/ 0][0/1/0][ 80840][0-0] int
+# 78> ANGLE_CLOSE| TEMPLATE| PARENT_NOT_SET[ 22/ 16/ 17/ 0][0/0/0][ 200000840][0-0] >
+# 78> DC_MEMBER| NONE| PARENT_NOT_SET[ 23/ 17/ 19/ 0][0/0/0][ 200080800][0-0] ::
+# 78> TYPE| NONE| PARENT_NOT_SET[ 25/ 19/ 30/ 0][0/0/0][ 800][0-0] inner_class
+# 78> ANGLE_OPEN| TEMPLATE| PARENT_NOT_SET[ 36/ 30/ 31/ 0][0/0/0][ 200000840][0-0] <
+# 78> TYPE| NONE| PARENT_NOT_SET[ 37/ 31/ 34/ 0][0/1/0][ 80840][0-0] int
+# 78> ANGLE_CLOSE| TEMPLATE| PARENT_NOT_SET[ 40/ 34/ 35/ 0][0/0/0][ 200000840][0-0] >
+# 78> NEWLINE| NONE| PARENT_NOT_SET[ 41/ 35/ 1/ 0][0/0/0][ 0][1-0]
+# 79> BRACE_OPEN| CLASS| PARENT_NOT_SET[ 1/ 1/ 2/ 0][0/0/0][ 200080400][0-0] {
+# 79> NEWLINE| NONE| PARENT_NOT_SET[ 2/ 2/ 1/ 0][1/1/0][ 400][1-0]
+# 80> ACCESS| NONE| PARENT_NOT_SET[ 1/ 1/ 7/ 0][1/1/0][ c0400][0-0] public
+# 80> ACCESS_COLON| NONE| PARENT_NOT_SET[ 7/ 7/ 8/ 0][1/1/0][ 200000400][0-0] :
+# 80> NEWLINE| NONE| PARENT_NOT_SET[ 8/ 8/ 4/ 0][1/1/0][ 400][1-0]
+# 81> FUNC_CLASS_DEF| NONE| PARENT_NOT_SET[ 1/ 4/ 6/ 0][1/1/0][ c0400][0-0] c3
+# 81> FPAREN_OPEN| FUNC_CLASS_DEF| PARENT_NOT_SET[ 3/ 6/ 7/ 0][1/1/0][ 200000500][0-0] (
+# 81> TYPE| NONE| PARENT_NOT_SET[ 4/ 7/ 10/ 0][1/2/0][ 208a0510][0-0] int
+# 81> WORD| NONE| PARENT_NOT_SET[ 8/ 11/ 12/ 1][1/2/0][ 21000510][0-0] x
+# 81> ASSIGN_DEFAULT_ARG| FUNC_PROTO| PARENT_NOT_SET[ 10/ 13/ 14/ 1][1/2/0][ 200000510][0-0] =
+# 81> NUMBER| NONE| PARENT_NOT_SET[ 12/ 15/ 16/ 1][1/2/0][ 80510][0-0] 0
+# 81> COMMA| NONE| PARENT_NOT_SET[ 13/ 16/ 17/ 0][1/2/0][ 200000510][0-0] ,
+# 81> TYPE| NONE| PARENT_NOT_SET[ 15/ 18/ 21/ 1][1/2/0][ 208a0510][0-0] int
+# 81> WORD| NONE| PARENT_NOT_SET[ 19/ 22/ 23/ 1][1/2/0][ 21000510][0-0] y
+# 81> ASSIGN_DEFAULT_ARG| FUNC_PROTO| PARENT_NOT_SET[ 21/ 24/ 25/ 1][1/2/0][ 200000510][0-0] =
+# 81> NUMBER| NONE| PARENT_NOT_SET[ 23/ 26/ 27/ 1][1/2/0][ 80510][0-0] 0
+# 81> COMMA| NONE| PARENT_NOT_SET[ 24/ 27/ 28/ 0][1/2/0][ 200000510][0-0] ,
+# 81> TYPE| NONE| PARENT_NOT_SET[ 26/ 29/ 32/ 1][1/2/0][ 208a0510][0-0] int
+# 81> WORD| NONE| PARENT_NOT_SET[ 30/ 33/ 34/ 1][1/2/0][ 21000510][0-0] z
+# 81> ASSIGN_DEFAULT_ARG| FUNC_PROTO| PARENT_NOT_SET[ 32/ 35/ 36/ 1][1/2/0][ 200000510][0-0] =
+# 81> NUMBER| NONE| PARENT_NOT_SET[ 34/ 37/ 38/ 1][1/2/0][ 80510][0-0] 0
+# 81> FPAREN_CLOSE| FUNC_CLASS_DEF| PARENT_NOT_SET[ 35/ 38/ 39/ 0][1/1/0][ 200000510][0-0] )
+# 81> CONSTR_COLON| NONE| PARENT_NOT_SET[ 37/ 40/ 41/ 1][1/1/0][ 200000500][0-0] :
+# 81> FUNC_CTOR_VAR| NONE| PARENT_NOT_SET[ 39/ 42/ 45/ 1][1/1/0][ c0500][0-0] m_x
+# 81> FPAREN_OPEN| FUNC_CTOR_VAR| PARENT_NOT_SET[ 42/ 45/ 46/ 0][1/1/0][ 200000500][0-0] (
+# 81> WORD| NONE| PARENT_NOT_SET[ 43/ 46/ 47/ 0][1/2/0][ 80510][0-0] x
+# 81> FPAREN_CLOSE| FUNC_CTOR_VAR| PARENT_NOT_SET[ 44/ 47/ 48/ 0][1/1/0][ 200000510][0-0] )
+# 81> COMMA| NONE| PARENT_NOT_SET[ 45/ 48/ 49/ 0][1/1/0][ 200000500][0-0] ,
+# 81> FUNC_CTOR_VAR| NONE| PARENT_NOT_SET[ 47/ 50/ 53/ 1][1/1/0][ 80500][0-0] m_y
+# 81> FPAREN_OPEN| FUNC_CTOR_VAR| PARENT_NOT_SET[ 50/ 53/ 54/ 0][1/1/0][ 200000500][0-0] (
+# 81> WORD| NONE| PARENT_NOT_SET[ 51/ 54/ 55/ 0][1/2/0][ 80510][0-0] y
+# 81> FPAREN_CLOSE| FUNC_CTOR_VAR| PARENT_NOT_SET[ 52/ 55/ 56/ 0][1/1/0][ 200000510][0-0] )
+# 81> COMMA| NONE| PARENT_NOT_SET[ 53/ 56/ 57/ 0][1/1/0][ 200000500][0-0] ,
+# 81> FUNC_CTOR_VAR| NONE| PARENT_NOT_SET[ 55/ 58/ 61/ 1][1/1/0][ 80500][0-0] m_z
+# 81> FPAREN_OPEN| FUNC_CTOR_VAR| PARENT_NOT_SET[ 58/ 61/ 62/ 0][1/1/0][ 200000500][0-0] (
+# 81> WORD| NONE| PARENT_NOT_SET[ 59/ 62/ 63/ 0][1/2/0][ 80510][0-0] z
+# 81> FPAREN_CLOSE| FUNC_CTOR_VAR| PARENT_NOT_SET[ 60/ 63/ 64/ 0][1/1/0][ 200000510][0-0] )
+# 81> BRACE_OPEN| FUNC_CLASS_DEF| PARENT_NOT_SET[ 62/ 65/ 66/ 1][1/1/0][ 280000400][0-0] {
+# 81> NEWLINE| NONE| PARENT_NOT_SET[ 63/ 67/ 0/ 0][1/1/0][ 400][1-0]
+# 81> BRACE_CLOSE| FUNC_CLASS_DEF| PARENT_NOT_SET[ 1/ 67/ 68/ 1][1/1/0][ 280000400][0-0] }
+# 81> NEWLINE| NONE| PARENT_NOT_SET[ 2/ 68/ 4/ 0][1/1/0][ 400][2-0]
+# 83> TYPE| NONE| PARENT_NOT_SET[ 1/ 4/ 7/ 0][1/1/0][ 8e0400][0-0] int
+# 83> WORD| NONE| PARENT_NOT_SET[ 5/ 8/ 11/ 1][1/1/0][ 3000400][0-0] m_x
+# 83> SEMICOLON| NONE| PARENT_NOT_SET[ 8/ 11/ 12/ 0][1/1/0][ 200000400][0-0] ;
+# 83> NEWLINE| NONE| PARENT_NOT_SET[ 9/ 12/ 4/ 0][1/1/0][ 400][1-0]
+# 84> TYPE| NONE| PARENT_NOT_SET[ 1/ 4/ 7/ 0][1/1/0][ 8e0400][0-0] int
+# 84> WORD| NONE| PARENT_NOT_SET[ 5/ 8/ 11/ 1][1/1/0][ 3000400][0-0] m_y
+# 84> SEMICOLON| NONE| PARENT_NOT_SET[ 8/ 11/ 12/ 0][1/1/0][ 200000400][0-0] ;
+# 84> NEWLINE| NONE| PARENT_NOT_SET[ 9/ 12/ 4/ 0][1/1/0][ 400][1-0]
+# 85> TYPE| NONE| PARENT_NOT_SET[ 1/ 4/ 7/ 0][1/1/0][ 8e0400][0-0] int
+# 85> WORD| NONE| PARENT_NOT_SET[ 5/ 8/ 11/ 1][1/1/0][ 3000400][0-0] m_z
+# 85> SEMICOLON| NONE| PARENT_NOT_SET[ 8/ 11/ 12/ 0][1/1/0][ 200000400][0-0] ;
+# 85> NEWLINE| NONE| PARENT_NOT_SET[ 9/ 12/ 1/ 0][1/1/0][ 400][1-0]
+# 86> BRACE_CLOSE| CLASS| PARENT_NOT_SET[ 1/ 1/ 2/ 0][0/0/0][ 200000400][0-0] }
+# 86> WORD| NONE| PARENT_NOT_SET[ 3/ 3/ 6/ 1][0/0/0][ 70c0000][0-0] c31
+# 86> COMMA| NONE| PARENT_NOT_SET[ 6/ 6/ 7/ 0][0/0/0][ 200000000][0-0] ,
+# 86> PTR_TYPE| CLASS| PARENT_NOT_SET[ 8/ 8/ 9/ 1][0/0/0][ 200080000][0-0] *
+# 86> WORD| NONE| PARENT_NOT_SET[ 9/ 9/ 12/ 0][0/0/0][ 25080000][0-0] c32
+# 86> ASSIGN| NONE| PARENT_NOT_SET[ 13/ 13/ 14/ 1][0/0/0][ 200000000][0-0] =
+# 86> WORD| NONE| PARENT_NOT_SET[ 15/ 15/ 22/ 1][0/0/0][ 80000][0-0] nullptr
+# 86> COMMA| NONE| PARENT_NOT_SET[ 22/ 22/ 23/ 0][0/0/0][ 200000000][0-0] ,
+# 86> PTR_TYPE| CLASS| PARENT_NOT_SET[ 24/ 24/ 25/ 1][0/0/0][ 200080000][0-0] *
+# 86> WORD| NONE| PARENT_NOT_SET[ 25/ 25/ 28/ 0][0/0/0][ 5080000][0-0] c33
+# 86> TSQUARE| NONE| PARENT_NOT_SET[ 28/ 28/ 30/ 0][0/0/0][ 200000000][0-0] []
+# 86> ASSIGN| NONE| PARENT_NOT_SET[ 31/ 31/ 32/ 1][0/0/0][ 200000000][0-0] =
+# 86> BRACE_OPEN| BRACED_INIT_LIST| PARENT_NOT_SET[ 33/ 33/ 34/ 1][0/0/0][ 240080000][0-0] {
+# 86> WORD| NONE| PARENT_NOT_SET[ 35/ 35/ 42/ 1][1/1/0][ 40080000][0-0] nullptr
+# 86> COMMA| NONE| PARENT_NOT_SET[ 42/ 42/ 43/ 0][1/1/0][ 240000000][0-0] ,
+# 86> WORD| NONE| PARENT_NOT_SET[ 44/ 44/ 51/ 1][1/1/0][ 40080000][0-0] nullptr
+# 86> BRACE_CLOSE| BRACED_INIT_LIST| PARENT_NOT_SET[ 52/ 52/ 53/ 1][0/0/0][ 240000000][0-0] }
+# 86> COMMA| NONE| PARENT_NOT_SET[ 53/ 53/ 54/ 0][0/0/0][ 200000000][0-0] ,
+# 86> WORD| NONE| PARENT_NOT_SET[ 55/ 55/ 58/ 1][0/0/0][ 25080000][0-0] c34
+# 86> BRACE_OPEN| BRACED_INIT_LIST| PARENT_NOT_SET[ 58/ 58/ 59/ 0][0/0/0][ 240000000][0-0] {
+# 86> NUMBER| NONE| PARENT_NOT_SET[ 60/ 60/ 61/ 1][1/1/0][ 400c0000][0-0] 0
+# 86> COMMA| NONE| PARENT_NOT_SET[ 61/ 61/ 62/ 0][1/1/0][ 240000000][0-0] ,
+# 86> NUMBER| NONE| PARENT_NOT_SET[ 63/ 63/ 64/ 1][1/1/0][ 40080000][0-0] 1
+# 86> COMMA| NONE| PARENT_NOT_SET[ 64/ 64/ 65/ 0][1/1/0][ 240000000][0-0] ,
+# 86> NUMBER| NONE| PARENT_NOT_SET[ 66/ 66/ 67/ 1][1/1/0][ 40080000][0-0] 2
+# 86> BRACE_CLOSE| BRACED_INIT_LIST| PARENT_NOT_SET[ 67/ 67/ 68/ 0][0/0/0][ 240000000][0-0] }
+# 86> COMMA| NONE| PARENT_NOT_SET[ 68/ 68/ 69/ 0][0/0/0][ 200000000][0-0] ,
+# 86> PTR_TYPE| CLASS| PARENT_NOT_SET[ 70/ 70/ 71/ 1][0/0/0][ 200080000][0-0] *
+# 86> QUALIFIER| NONE| PARENT_NOT_SET[ 72/ 72/ 77/ 1][0/0/0][ a0000][0-0] const
+# 86> FUNC_CALL| NONE| PARENT_NOT_SET[ 78/ 78/ 81/ 1][0/0/0][ 5000000][0-0] c35
+# 86> FPAREN_OPEN| FUNC_CALL| PARENT_NOT_SET[ 81/ 81/ 82/ 0][0/0/0][ 200000000][0-0] (
+# 86> WORD| NONE| PARENT_NOT_SET[ 82/ 82/ 89/ 0][0/1/0][ 80010][0-0] nullptr
+# 86> FPAREN_CLOSE| FUNC_CALL| PARENT_NOT_SET[ 89/ 89/ 90/ 0][0/0/0][ 200000010][0-0] )
+# 86> COMMA| NONE| PARENT_NOT_SET[ 90/ 90/ 91/ 0][0/0/0][ 200000000][0-0] ,
+# 86> FUNC_CALL| NONE| PARENT_NOT_SET[ 92/ 92/ 95/ 1][0/0/0][ 5080000][0-0] c16
+# 86> FPAREN_OPEN| FUNC_CALL| PARENT_NOT_SET[ 95/ 95/ 96/ 0][0/0/0][ 200000000][0-0] (
+# 86> NUMBER| NONE| PARENT_NOT_SET[ 96/ 96/ 97/ 0][0/1/0][ 80010][0-0] 0
+# 86> COMMA| NONE| PARENT_NOT_SET[ 97/ 97/ 98/ 0][0/1/0][ 200000010][0-0] ,
+# 86> NUMBER| NONE| PARENT_NOT_SET[ 99/ 99/100/ 1][0/1/0][ 80010][0-0] 1
+# 86> COMMA| NONE| PARENT_NOT_SET[100/100/101/ 0][0/1/0][ 200000010][0-0] ,
+# 86> NUMBER| NONE| PARENT_NOT_SET[102/102/103/ 1][0/1/0][ 80010][0-0] 2
+# 86> FPAREN_CLOSE| FUNC_CALL| PARENT_NOT_SET[103/103/104/ 0][0/0/0][ 200000010][0-0] )
+# 86> SEMICOLON| CLASS| PARENT_NOT_SET[104/104/105/ 0][0/0/0][ 200000000][0-0] ;
+# 86> NEWLINE| NONE| PARENT_NOT_SET[105/105/ 1/ 0][0/0/0][ 0][2-0]
+# 88> COMMENT_CPP| COMMENT_WHOLE| PARENT_NOT_SET[ 1/ 1/ 52/ 0][0/0/0][ 0][0-0] // class/struct [macros/attributes ...] type x, ...
+# 88> NEWLINE| NONE| PARENT_NOT_SET[ 52/ 52/ 1/ 0][0/0/0][ 0][1-0]
+# 89> CLASS| NONE| PARENT_NOT_SET[ 1/ 1/ 6/ 0][0/0/0][ e0000][0-0] class
+# 89> ATTRIBUTE| NONE| PARENT_NOT_SET[ 7/ 7/ 20/ 1][0/0/0][ 0][0-0] __attribute__
+# 89> FPAREN_OPEN| ATTRIBUTE| PARENT_NOT_SET[ 20/ 20/ 21/ 0][0/0/0][ 200000000][0-0] (
+# 89> PAREN_OPEN| NONE| PARENT_NOT_SET[ 21/ 21/ 22/ 0][0/1/0][ 200080000][0-0] (
+# 89> WORD| NONE| PARENT_NOT_SET[ 22/ 22/ 36/ 0][0/2/0][ 80000][0-0] __deprecated__
+# 89> PAREN_CLOSE| NONE| PARENT_NOT_SET[ 36/ 36/ 37/ 0][0/1/0][ 200000000][0-0] )
+# 89> FPAREN_CLOSE| ATTRIBUTE| PARENT_NOT_SET[ 37/ 37/ 38/ 0][0/0/0][ 200000000][0-0] )
+# 89> WORD| NONE| PARENT_NOT_SET[ 39/ 39/ 49/ 1][0/0/0][ e0000][0-0] API_EXPORT
+# 89> MACRO_FUNC_CALL| NONE| PARENT_NOT_SET[ 50/ 50/ 57/ 1][0/0/0][ 0][0-0] ALIGNAS
+# 89> FPAREN_OPEN| MACRO_FUNC_CALL| PARENT_NOT_SET[ 57/ 57/ 58/ 0][0/0/0][ 200000000][0-0] (
+# 89> NUMBER| NONE| PARENT_NOT_SET[ 58/ 58/ 59/ 0][0/1/0][ 80000][0-0] 4
+# 89> FPAREN_CLOSE| MACRO_FUNC_CALL| PARENT_NOT_SET[ 59/ 59/ 60/ 0][0/0/0][ 200000000][0-0] )
+# 89> TYPE| CLASS| PARENT_NOT_SET[ 61/ 61/ 63/ 1][0/0/0][ 820000][0-0] c3
+# 89> WORD| NONE| PARENT_NOT_SET[ 64/ 64/ 67/ 1][0/0/0][ 3000000][0-0] c41
+# 89> COMMA| NONE| PARENT_NOT_SET[ 67/ 67/ 68/ 0][0/0/0][ 200000000][0-0] ,
+# 89> PTR_TYPE| CLASS| PARENT_NOT_SET[ 69/ 69/ 70/ 1][0/0/0][ 200080000][0-0] *
+# 89> WORD| NONE| PARENT_NOT_SET[ 70/ 70/ 73/ 0][0/0/0][ 21080000][0-0] c42
+# 89> ASSIGN| NONE| PARENT_NOT_SET[ 74/ 74/ 75/ 1][0/0/0][ 200000000][0-0] =
+# 89> WORD| NONE| PARENT_NOT_SET[ 76/ 76/ 79/ 1][0/0/0][ 80000][0-0] c32
+# 89> QUESTION| NONE| PARENT_NOT_SET[ 80/ 80/ 81/ 1][0/0/0][ 200000000][0-0] ?
+# 89> WORD| NONE| PARENT_NOT_SET[ 82/ 82/ 85/ 1][0/0/0][ 80000][0-0] c32
+# 89> COND_COLON| NONE| PARENT_NOT_SET[ 86/ 86/ 87/ 1][0/0/0][ 200000000][0-0] :
+# 89> WORD| NONE| PARENT_NOT_SET[ 88/ 88/ 95/ 1][0/0/0][ c0000][0-0] nullptr
+# 89> COMMA| NONE| PARENT_NOT_SET[ 95/ 95/ 96/ 0][0/0/0][ 200000000][0-0] ,
+# 89> PTR_TYPE| CLASS| PARENT_NOT_SET[ 97/ 97/ 98/ 1][0/0/0][ 200080000][0-0] *
+# 89> WORD| NONE| PARENT_NOT_SET[ 98/ 98/101/ 0][0/0/0][ 1080000][0-0] c43
+# 89> TSQUARE| NONE| PARENT_NOT_SET[101/101/103/ 0][0/0/0][ 200000000][0-0] []
+# 89> ASSIGN| NONE| PARENT_NOT_SET[104/104/105/ 1][0/0/0][ 200000000][0-0] =
+# 89> BRACE_OPEN| BRACED_INIT_LIST| PARENT_NOT_SET[106/106/107/ 1][0/0/0][ 240080000][0-0] {
+# 89> WORD| NONE| PARENT_NOT_SET[108/108/115/ 1][1/1/0][ 40080000][0-0] nullptr
+# 89> COMMA| NONE| PARENT_NOT_SET[115/115/116/ 0][1/1/0][ 240000000][0-0] ,
+# 89> WORD| NONE| PARENT_NOT_SET[117/117/124/ 1][1/1/0][ 40080000][0-0] nullptr
+# 89> BRACE_CLOSE| BRACED_INIT_LIST| PARENT_NOT_SET[125/125/126/ 1][0/0/0][ 240000000][0-0] }
+# 89> COMMA| NONE| PARENT_NOT_SET[126/126/127/ 0][0/0/0][ 200000000][0-0] ,
+# 89> WORD| NONE| PARENT_NOT_SET[128/128/131/ 1][0/0/0][ 21080000][0-0] c44
+# 89> BRACE_OPEN| BRACED_INIT_LIST| PARENT_NOT_SET[131/131/132/ 0][0/0/0][ 240000000][0-0] {
+# 89> NUMBER| NONE| PARENT_NOT_SET[133/133/134/ 1][1/1/0][ 400c0000][0-0] 0
+# 89> COMMA| NONE| PARENT_NOT_SET[134/134/135/ 0][1/1/0][ 240000000][0-0] ,
+# 89> NUMBER| NONE| PARENT_NOT_SET[136/136/137/ 1][1/1/0][ 40080000][0-0] 1
+# 89> COMMA| NONE| PARENT_NOT_SET[137/137/138/ 0][1/1/0][ 240000000][0-0] ,
+# 89> NUMBER| NONE| PARENT_NOT_SET[139/139/140/ 1][1/1/0][ 40080000][0-0] 2
+# 89> BRACE_CLOSE| BRACED_INIT_LIST| PARENT_NOT_SET[140/140/141/ 0][0/0/0][ 240000000][0-0] }
+# 89> COMMA| NONE| PARENT_NOT_SET[141/141/142/ 0][0/0/0][ 200000000][0-0] ,
+# 89> PTR_TYPE| CLASS| PARENT_NOT_SET[143/143/144/ 1][0/0/0][ 200080000][0-0] *
+# 89> QUALIFIER| NONE| PARENT_NOT_SET[145/145/150/ 1][0/0/0][ a0000][0-0] const
+# 89> FUNC_CALL| NONE| PARENT_NOT_SET[151/151/154/ 1][0/0/0][ 1000000][0-0] c45
+# 89> FPAREN_OPEN| FUNC_CALL| PARENT_NOT_SET[154/154/155/ 0][0/0/0][ 200000000][0-0] (
+# 89> WORD| NONE| PARENT_NOT_SET[155/155/162/ 0][0/1/0][ 80010][0-0] nullptr
+# 89> FPAREN_CLOSE| FUNC_CALL| PARENT_NOT_SET[162/162/163/ 0][0/0/0][ 200000010][0-0] )
+# 89> COMMA| NONE| PARENT_NOT_SET[163/163/164/ 0][0/0/0][ 200000000][0-0] ,
+# 89> FUNC_CALL| NONE| PARENT_NOT_SET[165/165/168/ 1][0/0/0][ 1080000][0-0] c46
+# 89> FPAREN_OPEN| FUNC_CALL| PARENT_NOT_SET[168/168/169/ 0][0/0/0][ 200000000][0-0] (
+# 89> NUMBER| NONE| PARENT_NOT_SET[169/169/170/ 0][0/1/0][ 80010][0-0] 0
+# 89> COMMA| NONE| PARENT_NOT_SET[170/170/171/ 0][0/1/0][ 200000010][0-0] ,
+# 89> NUMBER| NONE| PARENT_NOT_SET[172/172/173/ 1][0/1/0][ 80010][0-0] 1
+# 89> COMMA| NONE| PARENT_NOT_SET[173/173/174/ 0][0/1/0][ 200000010][0-0] ,
+# 89> NUMBER| NONE| PARENT_NOT_SET[175/175/176/ 1][0/1/0][ 80010][0-0] 2
+# 89> FPAREN_CLOSE| FUNC_CALL| PARENT_NOT_SET[176/176/177/ 0][0/0/0][ 200000010][0-0] )
+# 89> SEMICOLON| CLASS| PARENT_NOT_SET[177/177/178/ 0][0/0/0][ 200000000][0-0] ;
+# 89> NEWLINE| NONE| PARENT_NOT_SET[178/178/ 1/ 0][0/0/0][ 0][2-0]
+# 91> COMMENT_CPP| COMMENT_WHOLE| PARENT_NOT_SET[ 1/ 1/ 68/ 0][0/0/0][ 0][0-0] // class/struct [macros/attributes ...] type : bases ... { } x, ...
+# 91> NEWLINE| NONE| PARENT_NOT_SET[ 68/ 68/ 1/ 0][0/0/0][ 0][1-0]
+# 92> CLASS| NONE| PARENT_NOT_SET[ 1/ 1/ 6/ 0][0/0/0][ e0000][0-0] class
+# 92> FUNC_CALL| NONE| PARENT_NOT_SET[ 7/ 7/ 14/ 1][0/0/0][ 0][0-0] ALIGNAS
+# 92> FPAREN_OPEN| FUNC_CALL| PARENT_NOT_SET[ 14/ 14/ 15/ 0][0/0/0][ 200000000][0-0] (
+# 92> NUMBER| NONE| PARENT_NOT_SET[ 15/ 15/ 16/ 0][0/1/0][ 80010][0-0] 4
+# 92> FPAREN_CLOSE| FUNC_CALL| PARENT_NOT_SET[ 16/ 16/ 17/ 0][0/0/0][ 200000010][0-0] )
+# 92> WORD| NONE| PARENT_NOT_SET[ 18/ 18/ 28/ 1][0/0/0][ 20000][0-0] API_EXPORT
+# 92> ATTRIBUTE| NONE| PARENT_NOT_SET[ 29/ 29/ 42/ 1][0/0/0][ 0][0-0] __attribute__
+# 92> FPAREN_OPEN| ATTRIBUTE| PARENT_NOT_SET[ 42/ 42/ 43/ 0][0/0/0][ 200000000][0-0] (
+# 92> PAREN_OPEN| NONE| PARENT_NOT_SET[ 43/ 43/ 44/ 0][0/1/0][ 200080000][0-0] (
+# 92> WORD| NONE| PARENT_NOT_SET[ 44/ 44/ 58/ 0][0/2/0][ 80000][0-0] __deprecated__
+# 92> PAREN_CLOSE| NONE| PARENT_NOT_SET[ 58/ 58/ 59/ 0][0/1/0][ 200000000][0-0] )
+# 92> FPAREN_CLOSE| ATTRIBUTE| PARENT_NOT_SET[ 59/ 59/ 60/ 0][0/0/0][ 200000000][0-0] )
+# 92> NEWLINE| NONE| PARENT_NOT_SET[ 60/ 60/ 1/ 0][0/0/0][ 0][1-0]
+# 93> CLASS_COLON| CLASS| PARENT_NOT_SET[ 9/ 1/ 2/ 0][0/0/0][ 200000800][0-0] :
+# 93> QUALIFIER| NONE| PARENT_NOT_SET[ 11/ 3/ 9/ 1][0/0/0][ e0800][0-0] public
+# 93> TYPE| NONE| PARENT_NOT_SET[ 18/ 10/ 25/ 1][0/0/0][ 800][0-0] outer_namespace
+# 93> DC_MEMBER| NONE| PARENT_NOT_SET[ 33/ 25/ 27/ 0][0/0/0][ 200000800][0-0] ::
+# 93> TYPE| NONE| PARENT_NOT_SET[ 35/ 27/ 42/ 0][0/0/0][ 800][0-0] inner_namespace
+# 93> DC_MEMBER| NONE| PARENT_NOT_SET[ 50/ 42/ 44/ 0][0/0/0][ 200000800][0-0] ::
+# 93> TYPE| NONE| PARENT_NOT_SET[ 52/ 44/ 49/ 0][0/0/0][ 800][0-0] Base1
+# 93> NEWLINE| NONE| PARENT_NOT_SET[ 57/ 49/ 1/ 0][0/0/0][ 0][1-0]
+# 94> BRACE_OPEN| CLASS| PARENT_NOT_SET[ 1/ 1/ 2/ 0][0/0/0][ 200000000][0-0] {
+# 94> NEWLINE| NONE| PARENT_NOT_SET[ 2/ 2/ 1/ 0][1/1/0][ 400][1-0]
+# 95> ACCESS| NONE| PARENT_NOT_SET[ 1/ 1/ 7/ 0][1/1/0][ c0400][0-0] public
+# 95> ACCESS_COLON| NONE| PARENT_NOT_SET[ 7/ 7/ 8/ 0][1/1/0][ 200000400][0-0] :
+# 95> NEWLINE| NONE| PARENT_NOT_SET[ 8/ 8/ 4/ 0][1/1/0][ 400][1-0]
+# 96> TYPE| NONE| PARENT_NOT_SET[ 1/ 4/ 7/ 0][1/1/0][ 8e0400][0-0] int
+# 96> WORD| NONE| PARENT_NOT_SET[ 5/ 8/ 11/ 1][1/1/0][ 3000400][0-0] m_x
+# 96> SEMICOLON| NONE| PARENT_NOT_SET[ 8/ 11/ 12/ 0][1/1/0][ 200000400][0-0] ;
+# 96> NEWLINE| NONE| PARENT_NOT_SET[ 9/ 12/ 4/ 0][1/1/0][ 400][1-0]
+# 97> TYPE| NONE| PARENT_NOT_SET[ 1/ 4/ 7/ 0][1/1/0][ 8e0400][0-0] int
+# 97> WORD| NONE| PARENT_NOT_SET[ 5/ 8/ 11/ 1][1/1/0][ 3000400][0-0] m_y
+# 97> SEMICOLON| NONE| PARENT_NOT_SET[ 8/ 11/ 12/ 0][1/1/0][ 200000400][0-0] ;
+# 97> NEWLINE| NONE| PARENT_NOT_SET[ 9/ 12/ 4/ 0][1/1/0][ 400][1-0]
+# 98> TYPE| NONE| PARENT_NOT_SET[ 1/ 4/ 7/ 0][1/1/0][ 8e0400][0-0] int
+# 98> WORD| NONE| PARENT_NOT_SET[ 5/ 8/ 11/ 1][1/1/0][ 3000400][0-0] m_z
+# 98> SEMICOLON| NONE| PARENT_NOT_SET[ 8/ 11/ 12/ 0][1/1/0][ 200000400][0-0] ;
+# 98> NEWLINE| NONE| PARENT_NOT_SET[ 9/ 12/ 1/ 0][1/1/0][ 400][1-0]
+# 99> BRACE_CLOSE| CLASS| PARENT_NOT_SET[ 1/ 1/ 2/ 0][0/0/0][ 200000400][0-0] }
+# 99> WORD| NONE| PARENT_NOT_SET[ 3/ 3/ 6/ 1][0/0/0][ 70c0000][0-0] c51
+# 99> COMMA| NONE| PARENT_NOT_SET[ 6/ 6/ 7/ 0][0/0/0][ 200000000][0-0] ,
+# 99> PTR_TYPE| CLASS| PARENT_NOT_SET[ 8/ 8/ 9/ 1][0/0/0][ 200080000][0-0] *
+# 99> WORD| NONE| PARENT_NOT_SET[ 9/ 9/ 12/ 0][0/0/0][ 25080000][0-0] c52
+# 99> ASSIGN| NONE| PARENT_NOT_SET[ 13/ 13/ 14/ 1][0/0/0][ 200000000][0-0] =
+# 99> WORD| NONE| PARENT_NOT_SET[ 15/ 15/ 22/ 1][0/0/0][ 80000][0-0] nullptr
+# 99> COMMA| NONE| PARENT_NOT_SET[ 22/ 22/ 23/ 0][0/0/0][ 200000000][0-0] ,
+# 99> PTR_TYPE| CLASS| PARENT_NOT_SET[ 24/ 24/ 25/ 1][0/0/0][ 200080000][0-0] *
+# 99> WORD| NONE| PARENT_NOT_SET[ 25/ 25/ 28/ 0][0/0/0][ 5080000][0-0] c53
+# 99> TSQUARE| NONE| PARENT_NOT_SET[ 28/ 28/ 30/ 0][0/0/0][ 200000000][0-0] []
+# 99> ASSIGN| NONE| PARENT_NOT_SET[ 31/ 31/ 32/ 1][0/0/0][ 200000000][0-0] =
+# 99> BRACE_OPEN| BRACED_INIT_LIST| PARENT_NOT_SET[ 33/ 33/ 34/ 1][0/0/0][ 240080000][0-0] {
+# 99> WORD| NONE| PARENT_NOT_SET[ 35/ 35/ 42/ 1][1/1/0][ 40080000][0-0] nullptr
+# 99> COMMA| NONE| PARENT_NOT_SET[ 42/ 42/ 43/ 0][1/1/0][ 240000000][0-0] ,
+# 99> WORD| NONE| PARENT_NOT_SET[ 44/ 44/ 51/ 1][1/1/0][ 40080000][0-0] nullptr
+# 99> BRACE_CLOSE| BRACED_INIT_LIST| PARENT_NOT_SET[ 52/ 52/ 53/ 1][0/0/0][ 240000000][0-0] }
+# 99> SEMICOLON| CLASS| PARENT_NOT_SET[ 53/ 53/ 54/ 0][0/0/0][ 200000000][0-0] ;
+# 99> NEWLINE| NONE| PARENT_NOT_SET[ 54/ 54/ 1/ 0][0/0/0][ 0][3-0]
+# 102> COMMENT_CPP| COMMENT_WHOLE| PARENT_NOT_SET[ 1/ 1/ 44/ 0][0/0/0][ 0][0-0] // enum type : integral_type { ... } x, ...
+# 102> NEWLINE| NONE| PARENT_NOT_SET[ 44/ 44/ 1/ 0][0/0/0][ 0][1-0]
+# 103> ENUM| NONE| PARENT_NOT_SET[ 1/ 1/ 5/ 0][0/0/0][ e0000][0-0] enum
+# 103> TYPE| ENUM| PARENT_NOT_SET[ 6/ 6/ 8/ 1][0/0/0][ 800000][0-0] e1
+# 103> BIT_COLON| ENUM| PARENT_NOT_SET[ 9/ 9/ 10/ 1][0/0/0][ 200000000][0-0] :
+# 103> TYPE| BIT_COLON| PARENT_NOT_SET[ 11/ 11/ 15/ 1][0/0/0][ e0000][0-0] long
+# 103> TYPE| BIT_COLON| PARENT_NOT_SET[ 16/ 16/ 20/ 1][0/0/0][ 0][0-0] long
+# 103> BRACE_OPEN| ENUM| PARENT_NOT_SET[ 21/ 21/ 22/ 1][0/0/0][ 240000000][0-0] {
+# 103> WORD| NONE| PARENT_NOT_SET[ 23/ 23/ 25/ 1][1/1/0][ 400c0004][0-0] a1
+# 103> COMMA| NONE| PARENT_NOT_SET[ 25/ 25/ 26/ 0][1/1/0][ 240000004][0-0] ,
+# 103> WORD| NONE| PARENT_NOT_SET[ 27/ 27/ 29/ 1][1/1/0][ 40080004][0-0] b1
+# 103> COMMA| NONE| PARENT_NOT_SET[ 29/ 29/ 30/ 0][1/1/0][ 240000004][0-0] ,
+# 103> WORD| NONE| PARENT_NOT_SET[ 31/ 31/ 33/ 1][1/1/0][ 40080004][0-0] d1
+# 103> BRACE_CLOSE| ENUM| PARENT_NOT_SET[ 34/ 34/ 35/ 1][0/0/0][ 240000004][0-0] }
+# 103> WORD| NONE| PARENT_NOT_SET[ 36/ 36/ 39/ 1][0/0/0][ 70c0000][0-0] e11
+# 103> COMMA| NONE| PARENT_NOT_SET[ 39/ 39/ 40/ 0][0/0/0][ 200000000][0-0] ,
+# 103> WORD| NONE| PARENT_NOT_SET[ 41/ 41/ 44/ 1][0/0/0][ 5080000][0-0] e12
+# 103> COMMA| NONE| PARENT_NOT_SET[ 44/ 44/ 45/ 0][0/0/0][ 200000000][0-0] ,
+# 103> WORD| NONE| PARENT_NOT_SET[ 46/ 46/ 49/ 1][0/0/0][ 5080000][0-0] e13
+# 103> SEMICOLON| ENUM| PARENT_NOT_SET[ 49/ 49/ 50/ 0][0/0/0][ 200000000][0-0] ;
+# 103> NEWLINE| NONE| PARENT_NOT_SET[ 50/ 50/ 1/ 0][0/0/0][ 0][2-0]
+# 105> COMMENT_CPP| COMMENT_WHOLE| PARENT_NOT_SET[ 1/ 1/ 37/ 0][0/0/0][ 0][0-0] // enum type : integral_type { ... }
+# 105> NEWLINE| NONE| PARENT_NOT_SET[ 37/ 37/ 1/ 0][0/0/0][ 0][1-0]
+# 106> ENUM| NONE| PARENT_NOT_SET[ 1/ 1/ 5/ 0][0/0/0][ e0000][0-0] enum
+# 106> TYPE| ENUM| PARENT_NOT_SET[ 6/ 6/ 8/ 1][0/0/0][ 0][0-0] e2
+# 106> BIT_COLON| ENUM| PARENT_NOT_SET[ 9/ 9/ 10/ 1][0/0/0][ 200000000][0-0] :
+# 106> TYPE| BIT_COLON| PARENT_NOT_SET[ 11/ 11/ 19/ 1][0/0/0][ e0000][0-0] unsigned
+# 106> TYPE| BIT_COLON| PARENT_NOT_SET[ 20/ 20/ 23/ 1][0/0/0][ 0][0-0] int
+# 106> BRACE_OPEN| ENUM| PARENT_NOT_SET[ 24/ 24/ 25/ 1][0/0/0][ 240000000][0-0] {
+# 106> WORD| NONE| PARENT_NOT_SET[ 26/ 26/ 28/ 1][1/1/0][ 400c0004][0-0] a2
+# 106> COMMA| NONE| PARENT_NOT_SET[ 28/ 28/ 29/ 0][1/1/0][ 240000004][0-0] ,
+# 106> WORD| NONE| PARENT_NOT_SET[ 30/ 30/ 32/ 1][1/1/0][ 40080004][0-0] b2
+# 106> COMMA| NONE| PARENT_NOT_SET[ 32/ 32/ 33/ 0][1/1/0][ 240000004][0-0] ,
+# 106> WORD| NONE| PARENT_NOT_SET[ 34/ 34/ 36/ 1][1/1/0][ 40080004][0-0] d2
+# 106> BRACE_CLOSE| ENUM| PARENT_NOT_SET[ 37/ 37/ 38/ 1][0/0/0][ 240000004][0-0] }
+# 106> SEMICOLON| ENUM| PARENT_NOT_SET[ 38/ 38/ 39/ 0][0/0/0][ 200000000][0-0] ;
+# 106> NEWLINE| NONE| PARENT_NOT_SET[ 39/ 39/ 1/ 0][0/0/0][ 0][2-0]
+# 108> COMMENT_CPP| COMMENT_WHOLE| PARENT_NOT_SET[ 1/ 1/ 29/ 0][0/0/0][ 0][0-0] // enum type : integral_type
+# 108> NEWLINE| NONE| PARENT_NOT_SET[ 29/ 29/ 1/ 0][0/0/0][ 0][1-0]
+# 109> ENUM| NONE| PARENT_NOT_SET[ 1/ 1/ 5/ 0][0/0/0][1000000e0000][0-0] enum
+# 109> TYPE| ENUM| PARENT_NOT_SET[ 6/ 6/ 8/ 1][0/0/0][100000000000][0-0] e3
+# 109> BIT_COLON| ENUM| PARENT_NOT_SET[ 9/ 9/ 10/ 1][0/0/0][ 200000000][0-0] :
+# 109> TYPE| BIT_COLON| PARENT_NOT_SET[ 11/ 11/ 16/ 1][0/0/0][ c0000][0-0] short
+# 109> SEMICOLON| ENUM| PARENT_NOT_SET[ 16/ 16/ 17/ 0][0/0/0][ 200000000][0-0] ;
+# 109> NEWLINE| NONE| PARENT_NOT_SET[ 17/ 17/ 1/ 0][0/0/0][ 0][2-0]
+# 111> COMMENT_CPP| COMMENT_WHOLE| PARENT_NOT_SET[ 1/ 1/ 20/ 0][0/0/0][ 0][0-0] // enum type x, ...
+# 111> NEWLINE| NONE| PARENT_NOT_SET[ 20/ 20/ 1/ 0][0/0/0][ 0][1-0]
+# 112> ENUM| NONE| PARENT_NOT_SET[ 1/ 1/ 5/ 0][0/0/0][ e0000][0-0] enum
+# 112> TYPE| ENUM| PARENT_NOT_SET[ 6/ 6/ 8/ 1][0/0/0][ 820000][0-0] e3
+# 112> WORD| NONE| PARENT_NOT_SET[ 9/ 9/ 12/ 1][0/0/0][ 3000000][0-0] e31
+# 112> COMMA| NONE| PARENT_NOT_SET[ 12/ 12/ 13/ 0][0/0/0][ 200000000][0-0] ,
+# 112> WORD| NONE| PARENT_NOT_SET[ 14/ 14/ 17/ 1][0/0/0][ 1080000][0-0] e32
+# 112> SEMICOLON| ENUM| PARENT_NOT_SET[ 17/ 17/ 18/ 0][0/0/0][ 200000000][0-0] ;
+# 112> NEWLINE| NONE| PARENT_NOT_SET[ 18/ 18/ 1/ 0][0/0/0][ 0][2-0]
+# 114> COMMENT_CPP| COMMENT_WHOLE| PARENT_NOT_SET[ 1/ 1/ 50/ 0][0/0/0][ 0][0-0] // enum class type : integral_type { ... } x, ...
+# 114> NEWLINE| NONE| PARENT_NOT_SET[ 50/ 50/ 1/ 0][0/0/0][ 0][1-0]
+# 115> ENUM| NONE| PARENT_NOT_SET[ 1/ 1/ 5/ 0][0/0/0][ e0000][0-0] enum
+# 115> ENUM_CLASS| NONE| PARENT_NOT_SET[ 6/ 6/ 11/ 1][0/0/0][ 20000][0-0] class
+# 115> TYPE| ENUM| PARENT_NOT_SET[ 12/ 12/ 14/ 1][0/0/0][ 800000][0-0] e4
+# 115> BIT_COLON| ENUM| PARENT_NOT_SET[ 15/ 15/ 16/ 1][0/0/0][ 200000000][0-0] :
+# 115> TYPE| BIT_COLON| PARENT_NOT_SET[ 17/ 17/ 21/ 1][0/0/0][ e0000][0-0] long
+# 115> TYPE| BIT_COLON| PARENT_NOT_SET[ 22/ 22/ 26/ 1][0/0/0][ 0][0-0] long
+# 115> BRACE_OPEN| ENUM| PARENT_NOT_SET[ 27/ 27/ 28/ 1][0/0/0][ 240000000][0-0] {
+# 115> WORD| NONE| PARENT_NOT_SET[ 29/ 29/ 31/ 1][1/1/0][ 400c0004][0-0] a4
+# 115> COMMA| NONE| PARENT_NOT_SET[ 31/ 31/ 32/ 0][1/1/0][ 240000004][0-0] ,
+# 115> WORD| NONE| PARENT_NOT_SET[ 33/ 33/ 35/ 1][1/1/0][ 40080004][0-0] b4
+# 115> COMMA| NONE| PARENT_NOT_SET[ 35/ 35/ 36/ 0][1/1/0][ 240000004][0-0] ,
+# 115> WORD| NONE| PARENT_NOT_SET[ 37/ 37/ 39/ 1][1/1/0][ 40080004][0-0] d4
+# 115> BRACE_CLOSE| ENUM| PARENT_NOT_SET[ 40/ 40/ 41/ 1][0/0/0][ 240000004][0-0] }
+# 115> WORD| NONE| PARENT_NOT_SET[ 42/ 42/ 45/ 1][0/0/0][ 70c0000][0-0] e41
+# 115> COMMA| NONE| PARENT_NOT_SET[ 45/ 45/ 46/ 0][0/0/0][ 200000000][0-0] ,
+# 115> WORD| NONE| PARENT_NOT_SET[ 47/ 47/ 50/ 1][0/0/0][ 5080000][0-0] e42
+# 115> COMMA| NONE| PARENT_NOT_SET[ 50/ 50/ 51/ 0][0/0/0][ 200000000][0-0] ,
+# 115> WORD| NONE| PARENT_NOT_SET[ 52/ 52/ 55/ 1][0/0/0][ 5080000][0-0] e43
+# 115> COMMA| NONE| PARENT_NOT_SET[ 55/ 55/ 56/ 0][0/0/0][ 200000000][0-0] ,
+# 115> WORD| NONE| PARENT_NOT_SET[ 57/ 57/ 60/ 1][0/0/0][ 5080000][0-0] e44
+# 115> SEMICOLON| ENUM| PARENT_NOT_SET[ 60/ 60/ 61/ 0][0/0/0][ 200000000][0-0] ;
+# 115> NEWLINE| NONE| PARENT_NOT_SET[ 61/ 61/ 1/ 0][0/0/0][ 0][2-0]
+# 117> COMMENT_CPP| COMMENT_WHOLE| PARENT_NOT_SET[ 1/ 1/ 43/ 0][0/0/0][ 0][0-0] // enum class type : integral_type { ... }
+# 117> NEWLINE| NONE| PARENT_NOT_SET[ 43/ 43/ 1/ 0][0/0/0][ 0][1-0]
+# 118> ENUM| NONE| PARENT_NOT_SET[ 1/ 1/ 5/ 0][0/0/0][ e0000][0-0] enum
+# 118> ENUM_CLASS| NONE| PARENT_NOT_SET[ 6/ 6/ 11/ 1][0/0/0][ 20000][0-0] class
+# 118> TYPE| ENUM| PARENT_NOT_SET[ 12/ 12/ 14/ 1][0/0/0][ 0][0-0] e5
+# 118> BIT_COLON| ENUM| PARENT_NOT_SET[ 15/ 15/ 16/ 1][0/0/0][ 200000000][0-0] :
+# 118> TYPE| BIT_COLON| PARENT_NOT_SET[ 17/ 17/ 25/ 1][0/0/0][ e0000][0-0] unsigned
+# 118> TYPE| BIT_COLON| PARENT_NOT_SET[ 26/ 26/ 29/ 1][0/0/0][ 0][0-0] int
+# 118> BRACE_OPEN| ENUM| PARENT_NOT_SET[ 30/ 30/ 31/ 1][0/0/0][ 240000000][0-0] {
+# 118> WORD| NONE| PARENT_NOT_SET[ 32/ 32/ 34/ 1][1/1/0][ 400c0004][0-0] a5
+# 118> COMMA| NONE| PARENT_NOT_SET[ 34/ 34/ 35/ 0][1/1/0][ 240000004][0-0] ,
+# 118> WORD| NONE| PARENT_NOT_SET[ 36/ 36/ 38/ 1][1/1/0][ 40080004][0-0] b5
+# 118> COMMA| NONE| PARENT_NOT_SET[ 38/ 38/ 39/ 0][1/1/0][ 240000004][0-0] ,
+# 118> WORD| NONE| PARENT_NOT_SET[ 40/ 40/ 42/ 1][1/1/0][ 40080004][0-0] d5
+# 118> BRACE_CLOSE| ENUM| PARENT_NOT_SET[ 43/ 43/ 44/ 1][0/0/0][ 240000004][0-0] }
+# 118> SEMICOLON| ENUM| PARENT_NOT_SET[ 44/ 44/ 45/ 0][0/0/0][ 200000000][0-0] ;
+# 118> NEWLINE| NONE| PARENT_NOT_SET[ 45/ 45/ 1/ 0][0/0/0][ 0][2-0]
+# 120> COMMENT_CPP| COMMENT_WHOLE| PARENT_NOT_SET[ 1/ 1/ 35/ 0][0/0/0][ 0][0-0] // enum class type : integral_type
+# 120> NEWLINE| NONE| PARENT_NOT_SET[ 35/ 35/ 1/ 0][0/0/0][ 0][1-0]
+# 121> ENUM| NONE| PARENT_NOT_SET[ 1/ 1/ 5/ 0][0/0/0][1000000e0000][0-0] enum
+# 121> ENUM_CLASS| NONE| PARENT_NOT_SET[ 6/ 6/ 11/ 1][0/0/0][100000020000][0-0] class
+# 121> TYPE| ENUM| PARENT_NOT_SET[ 12/ 12/ 14/ 1][0/0/0][100000000000][0-0] e6
+# 121> BIT_COLON| ENUM| PARENT_NOT_SET[ 15/ 15/ 16/ 1][0/0/0][ 200000000][0-0] :
+# 121> TYPE| BIT_COLON| PARENT_NOT_SET[ 17/ 17/ 22/ 1][0/0/0][ c0000][0-0] short
+# 121> SEMICOLON| ENUM| PARENT_NOT_SET[ 22/ 22/ 23/ 0][0/0/0][ 200000000][0-0] ;
+# 121> NEWLINE| NONE| PARENT_NOT_SET[ 23/ 23/ 1/ 0][0/0/0][ 0][2-0]
+# 123> COMMENT_CPP| COMMENT_WHOLE| PARENT_NOT_SET[ 1/ 1/ 19/ 0][0/0/0][ 0][0-0] // enum class type
+# 123> NEWLINE| NONE| PARENT_NOT_SET[ 19/ 19/ 1/ 0][0/0/0][ 0][1-0]
+# 124> ENUM| NONE| PARENT_NOT_SET[ 1/ 1/ 5/ 0][0/0/0][1000000e0000][0-0] enum
+# 124> ENUM_CLASS| NONE| PARENT_NOT_SET[ 6/ 6/ 11/ 1][0/0/0][100000020000][0-0] class
+# 124> TYPE| ENUM| PARENT_NOT_SET[ 12/ 12/ 14/ 1][0/0/0][100000000000][0-0] e7
+# 124> SEMICOLON| ENUM| PARENT_NOT_SET[ 14/ 14/ 15/ 0][0/0/0][ 200000000][0-0] ;
+# 124> NEWLINE| NONE| PARENT_NOT_SET[ 15/ 15/ 1/ 0][0/0/0][ 0][2-0]
+# 126> COMMENT_CPP| COMMENT_WHOLE| PARENT_NOT_SET[ 1/ 1/ 39/ 0][0/0/0][ 0][0-0] // enum : integral_type { ... } x, ...
+# 126> NEWLINE| NONE| PARENT_NOT_SET[ 39/ 39/ 1/ 0][0/0/0][ 0][1-0]
+# 127> ENUM| NONE| PARENT_NOT_SET[ 1/ 1/ 5/ 0][0/0/0][ c0000][0-0] enum
+# 127> BIT_COLON| ENUM| PARENT_NOT_SET[ 6/ 6/ 7/ 1][0/0/0][ 200000000][0-0] :
+# 127> TYPE| BIT_COLON| PARENT_NOT_SET[ 8/ 8/ 12/ 1][0/0/0][ e0000][0-0] long
+# 127> TYPE| BIT_COLON| PARENT_NOT_SET[ 13/ 13/ 17/ 1][0/0/0][ 0][0-0] long
+# 127> BRACE_OPEN| ENUM| PARENT_NOT_SET[ 18/ 18/ 19/ 1][0/0/0][ 240000000][0-0] {
+# 127> WORD| NONE| PARENT_NOT_SET[ 20/ 20/ 22/ 1][1/1/0][ 400c0004][0-0] a8
+# 127> COMMA| NONE| PARENT_NOT_SET[ 22/ 22/ 23/ 0][1/1/0][ 240000004][0-0] ,
+# 127> WORD| NONE| PARENT_NOT_SET[ 24/ 24/ 26/ 1][1/1/0][ 40080004][0-0] b8
+# 127> COMMA| NONE| PARENT_NOT_SET[ 26/ 26/ 27/ 0][1/1/0][ 240000004][0-0] ,
+# 127> WORD| NONE| PARENT_NOT_SET[ 28/ 28/ 30/ 1][1/1/0][ 40080004][0-0] c8
+# 127> BRACE_CLOSE| ENUM| PARENT_NOT_SET[ 31/ 31/ 32/ 1][0/0/0][ 240000004][0-0] }
+# 127> WORD| NONE| PARENT_NOT_SET[ 33/ 33/ 36/ 1][0/0/0][ 70c0000][0-0] e81
+# 127> COMMA| NONE| PARENT_NOT_SET[ 36/ 36/ 37/ 0][0/0/0][ 200000000][0-0] ,
+# 127> WORD| NONE| PARENT_NOT_SET[ 38/ 38/ 41/ 1][0/0/0][ 5080000][0-0] e82
+# 127> SEMICOLON| ENUM| PARENT_NOT_SET[ 41/ 41/ 42/ 0][0/0/0][ 200000000][0-0] ;
+# 127> NEWLINE| NONE| PARENT_NOT_SET[ 42/ 42/ 1/ 0][0/0/0][ 0][2-0]
+# 129> COMMENT_CPP| COMMENT_WHOLE| PARENT_NOT_SET[ 1/ 1/ 23/ 0][0/0/0][ 0][0-0] // enum { ... } x, ...
+# 129> NEWLINE| NONE| PARENT_NOT_SET[ 23/ 23/ 1/ 0][0/0/0][ 0][1-0]
+# 130> ENUM| NONE| PARENT_NOT_SET[ 1/ 1/ 5/ 0][0/0/0][ c0000][0-0] enum
+# 130> BRACE_OPEN| ENUM| PARENT_NOT_SET[ 6/ 6/ 7/ 1][0/0/0][ 240000000][0-0] {
+# 130> WORD| NONE| PARENT_NOT_SET[ 8/ 8/ 10/ 1][1/1/0][ 400c0004][0-0] a9
+# 130> COMMA| NONE| PARENT_NOT_SET[ 10/ 10/ 11/ 0][1/1/0][ 240000004][0-0] ,
+# 130> WORD| NONE| PARENT_NOT_SET[ 12/ 12/ 14/ 1][1/1/0][ 40080004][0-0] b9
+# 130> COMMA| NONE| PARENT_NOT_SET[ 14/ 14/ 15/ 0][1/1/0][ 240000004][0-0] ,
+# 130> WORD| NONE| PARENT_NOT_SET[ 16/ 16/ 18/ 1][1/1/0][ 40080004][0-0] c9
+# 130> BRACE_CLOSE| ENUM| PARENT_NOT_SET[ 19/ 19/ 20/ 1][0/0/0][ 240000004][0-0] }
+# 130> WORD| NONE| PARENT_NOT_SET[ 21/ 21/ 24/ 1][0/0/0][ 70c0000][0-0] e91
+# 130> COMMA| NONE| PARENT_NOT_SET[ 24/ 24/ 25/ 0][0/0/0][ 200000000][0-0] ,
+# 130> WORD| NONE| PARENT_NOT_SET[ 26/ 26/ 29/ 1][0/0/0][ 5080000][0-0] e92
+# 130> SEMICOLON| ENUM| PARENT_NOT_SET[ 29/ 29/ 30/ 0][0/0/0][ 200000000][0-0] ;
+# 130> NEWLINE| NONE| PARENT_NOT_SET[ 30/ 30/ 1/ 0][0/0/0][ 0][2-0]
+# 132> UNION| NONE| PARENT_NOT_SET[ 1/ 1/ 6/ 0][0/0/0][ e0000][0-0] union
+# 132> WORD| NONE| PARENT_NOT_SET[ 7/ 7/ 17/ 1][0/0/0][ 20000][0-0] API_EXPORT
+# 132> TYPE| UNION| PARENT_NOT_SET[ 18/ 18/ 20/ 1][0/0/0][ 800000][0-0] u1
+# 132> BRACE_OPEN| UNION| PARENT_NOT_SET[ 21/ 21/ 22/ 1][0/0/0][ 240000000][0-0] {
+# 132> TYPE| NONE| PARENT_NOT_SET[ 23/ 23/ 26/ 1][1/1/0][ 408e0000][0-0] int
+# 132> WORD| NONE| PARENT_NOT_SET[ 27/ 27/ 28/ 1][1/1/0][ 43000000][0-0] x
+# 132> SEMICOLON| NONE| PARENT_NOT_SET[ 28/ 28/ 29/ 0][1/1/0][ 240000000][0-0] ;
+# 132> TYPE| NONE| PARENT_NOT_SET[ 30/ 30/ 34/ 1][1/1/0][ 408e0000][0-0] long
+# 132> WORD| NONE| PARENT_NOT_SET[ 35/ 35/ 36/ 1][1/1/0][ 43000000][0-0] y
+# 132> SEMICOLON| NONE| PARENT_NOT_SET[ 36/ 36/ 37/ 0][1/1/0][ 240000000][0-0] ;
+# 132> BRACE_CLOSE| UNION| PARENT_NOT_SET[ 38/ 38/ 39/ 1][0/0/0][ 240000000][0-0] }
+# 132> WORD| NONE| PARENT_NOT_SET[ 40/ 40/ 43/ 1][0/0/0][ 70c0000][0-0] u11
+# 132> COMMA| NONE| PARENT_NOT_SET[ 43/ 43/ 44/ 0][0/0/0][ 200000000][0-0] ,
+# 132> PTR_TYPE| UNION| PARENT_NOT_SET[ 45/ 45/ 46/ 1][0/0/0][ 200080000][0-0] *
+# 132> WORD| NONE| PARENT_NOT_SET[ 46/ 46/ 49/ 0][0/0/0][ 25080000][0-0] u12
+# 132> ASSIGN| NONE| PARENT_NOT_SET[ 50/ 50/ 51/ 1][0/0/0][ 200000000][0-0] =
+# 132> WORD| NONE| PARENT_NOT_SET[ 52/ 52/ 59/ 1][0/0/0][ 80000][0-0] nullptr
+# 132> COMMA| NONE| PARENT_NOT_SET[ 59/ 59/ 60/ 0][0/0/0][ 200000000][0-0] ,
+# 132> PTR_TYPE| UNION| PARENT_NOT_SET[ 61/ 61/ 62/ 1][0/0/0][ 200080000][0-0] *
+# 132> WORD| NONE| PARENT_NOT_SET[ 62/ 62/ 65/ 0][0/0/0][ 25080000][0-0] u13
+# 132> BRACE_OPEN| BRACED_INIT_LIST| PARENT_NOT_SET[ 65/ 65/ 66/ 0][0/0/0][ 240000000][0-0] {
+# 132> NUMBER| NONE| PARENT_NOT_SET[ 66/ 66/ 67/ 0][1/1/0][ 400c0000][0-0] 0
+# 132> BRACE_CLOSE| BRACED_INIT_LIST| PARENT_NOT_SET[ 67/ 67/ 68/ 0][0/0/0][ 240000000][0-0] }
+# 132> SEMICOLON| UNION| PARENT_NOT_SET[ 68/ 68/ 69/ 0][0/0/0][ 200000000][0-0] ;
+# 132> NEWLINE| NONE| PARENT_NOT_SET[ 69/ 69/ 1/ 0][0/0/0][ 0][2-0]
+# 134> UNION| NONE| PARENT_NOT_SET[ 1/ 1/ 6/ 0][0/0/0][ e0000][0-0] union
+# 134> WORD| NONE| PARENT_NOT_SET[ 7/ 7/ 17/ 1][0/0/0][ 20000][0-0] API_EXPORT
+# 134> TYPE| UNION| PARENT_NOT_SET[ 18/ 18/ 20/ 1][0/0/0][ 820000][0-0] u1
+# 134> WORD| NONE| PARENT_NOT_SET[ 21/ 21/ 24/ 1][0/0/0][ 3000000][0-0] u21
+# 134> SEMICOLON| UNION| PARENT_NOT_SET[ 24/ 24/ 25/ 0][0/0/0][ 200000000][0-0] ;
+# 134> NEWLINE| NONE| PARENT_NOT_SET[ 25/ 25/ 1/ 0][0/0/0][ 0][1-0]
+# -=====-
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/copyright-header.cpp b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/copyright-header.cpp
new file mode 100644
index 00000000..348902a5
--- /dev/null
+++ b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/copyright-header.cpp
@@ -0,0 +1,18 @@
+// Copyright this year
+
+struct TelegramIndex
+{
+ TelegramIndex(const char* pN, unsigned long nI) :
+ pTelName(pN),
+ nTelIndex(n)
+ {
+ }
+
+ ~TelegramIndex()
+ {
+ }
+
+ const char* const pTelName;
+ unsigned long nTelIndex;
+};
+
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/help.txt b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/help.txt
new file mode 100644
index 00000000..ff83f72b
--- /dev/null
+++ b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/help.txt
@@ -0,0 +1,83 @@
+Usage:
+uncrustify [options] [files ...]
+
+If no input files are specified, the input is read from stdin
+If reading from stdin, you should specify the language using -l
+or specify a filename using --assume for automatic language detection.
+
+If -F is used or files are specified on the command line,
+the output filename is 'prefix/filename' + suffix
+
+When reading from stdin or doing a single file via the '-f' option,
+the output is dumped to stdout, unless redirected with -o FILE.
+
+Errors are always dumped to stderr
+
+The '-f' and '-o' options may not be used with '-F' or '--replace'.
+The '--prefix' and '--suffix' options may not be used with '--replace'.
+
+Basic Options:
+ -c CFG : Use the config file CFG, or defaults if CFG is set to '-'.
+ -f FILE : Process the single file FILE (output to stdout, use with -o).
+ -o FILE : Redirect stdout to FILE.
+ -F FILE : Read files to process from FILE, one filename per line (- is stdin).
+ --check : Do not output the new text, instead verify that nothing changes when
+ the file(s) are processed.
+ The status of every file is printed to stderr.
+ The exit code is EXIT_SUCCESS if there were no changes, EXIT_FAILURE otherwise.
+ files : Files to process (can be combined with -F).
+ --suffix SFX : Append SFX to the output filename. The default is '.uncrustify'
+ --prefix PFX : Prepend PFX to the output filename path.
+ --replace : Replace source files (creates a backup).
+ --no-backup : Do not create backup and md5 files. Useful if files are under source control.
+ --if-changed : Write to stdout (or create output FILE) only if a change was detected.
+ -l : Language override: C, CPP, D, CS, JAVA, PAWN, OC, OC+, VALA.
+ -t : Load a file with types (usually not needed).
+ -q : Quiet mode - no output on stderr (-L will override).
+ --frag : Code fragment, assume the first line is indented correctly.
+ --assume FN : Uses the filename FN for automatic language detection if reading
+ from stdin unless -l is specified.
+
+Config/Help Options:
+ -h -? --help --usage : Print this message and exit.
+ --version : Print the version and exit.
+ --count-options : Print the number of available options and exit.
+ --show-config : Print out option documentation and exit.
+ --update-config : Output a new config file. Use with -o FILE.
+ --update-config-with-doc : Output a new config file. Use with -o FILE.
+ --universalindent : Output a config file for Universal Indent GUI.
+ --detect : Detects the config from a source file. Use with '-f FILE'.
+ Detection is fairly limited.
+ --set <option>=<value> : Sets a new value to a config option.
+
+Debug Options:
+ -p FILE : Dump debug info into FILE, or to stdout if FILE is set to '-'.
+ Must be used in combination with '-f FILE'
+ -ds FILE : Dump parsing info at various moments of the formatting process.
+ --dump-steps FILE This creates a series of files named 'FILE_nnn.log', each
+ corresponding to a formatting step in uncrustify.
+ The file 'FILE_000.log' lists the formatting options in use.
+ Must be used in combination with '-f FILE'
+ -L SEV : Set the log severity (see log_levels.h; note 'A' = 'all')
+ -s : Show the log severity in the logs.
+ --decode : Decode remaining args (chunk flags) and exit.
+ --tracking_space FILE : Prepare tracking informations for debugging.
+ Cannot be used with the -o option'
+
+Usage Examples
+cat foo.d | uncrustify -q -c my.cfg -l d
+uncrustify -c my.cfg -f foo.d
+uncrustify -c my.cfg -f foo.d -L0-2,20-23,51
+uncrustify -c my.cfg -f foo.d -o foo.d
+uncrustify -c my.cfg -f foo.d -o foo.d -ds dump
+uncrustify -c my.cfg foo.d
+uncrustify -c my.cfg --replace foo.d
+uncrustify -c my.cfg --no-backup foo.d
+uncrustify -c my.cfg --prefix=out -F files.txt
+
+Note: Use comments containing ' *INDENT-OFF*' and ' *INDENT-ON*' to disable
+ processing of parts of the source file (these can be overridden with
+ enable_processing_cmt and disable_processing_cmt).
+
+There are currently x options and minimal documentation.
+Try UniversalIndentGUI and good luck.
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/logger_cs_L_99.txt b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/logger_cs_L_99.txt
new file mode 100644
index 00000000..e839831f
--- /dev/null
+++ b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/logger_cs_L_99.txt
@@ -0,0 +1,8 @@
+tokenize(): orig_line is , orig_col is , text() '// Turning on sp_inside_braces=add fixes it, but also changes a lot of initializer code we don't want to touch (like x = {}). May need special support, or perhaps there's a bug..', type is COMMENT_CPP, orig_col_end is
+tokenize(): orig_line is , orig_col is , <Newline>, nl is
+tokenize(): orig_line is , orig_col is , text() '// long comment line(s), such as here, might be too long to produce a correct LOG-file such as', type is COMMENT_CPP, orig_col_end is
+tokenize(): orig_line is , orig_col is , <Newline>, nl is
+tokenize(): orig_line is , orig_col is , text() '// with the use of option -L A', type is COMMENT_CPP, orig_col_end is
+tokenize(): orig_line is , orig_col is , <Newline>, nl is
+tokenize(): orig_line is , orig_col is , text() '// in such a case, the output of the log will be cut.', type is COMMENT_CPP, orig_col_end is
+tokenize(): orig_line is , orig_col is , <Newline>, nl is
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/p.txt b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/p.txt
new file mode 100644
index 00000000..f74c1cb2
--- /dev/null
+++ b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/p.txt
@@ -0,0 +1,79 @@
+
+newlines = crlf
+# option(s) with 'not default' value: 1
+#
+# -=====-
+# number of loops = 0
+# -=====-
+# language = CPP
+# -=====-
+# Line Tag Parent_type Type of the parent Columns Br/Lvl/pp Flag Nl Text
+# 1> PREPROC| PP_DEFINE| PARENT_NOT_SET[ 1/ 1/ 2/ 0][1/1/0][ 2001c0001][0-0] #
+# 1> PP_DEFINE| NONE| PARENT_NOT_SET[ 2/ 2/ 8/ 0][1/1/0][ 20001][0-0] define
+# 1> MACRO| NONE| PARENT_NOT_SET[ 9/ 9/ 10/ 1][1/1/0][ 20001][0-0] x
+# 1> WORD| NONE| PARENT_NOT_SET[ 11/ 11/ 18/ 1][1/1/0][ c0001][0-0] s23_foo
+# 1> ASSIGN| NONE| PARENT_NOT_SET[ 19/ 19/ 21/ 1][1/1/0][ 200000001][0-0] +=
+# 1> NL_CONT| NONE| PARENT_NOT_SET[ 22/ 22/ 1/ 1][1/1/0][ 80001][1-0] \
+# 2> WORD| NONE| PARENT_NOT_SET[ 9/ 1/ 7/ 0][1/1/0][ 80001][0-0] s8_foo
+# 2> ARITH| NONE| PARENT_NOT_SET[ 16/ 8/ 9/ 1][1/1/0][ 200000001][0-0] *
+# 2> WORD| NONE| PARENT_NOT_SET[ 18/ 10/ 17/ 1][1/1/0][ 80001][0-0] s16_bar
+# 2> SEMICOLON| NONE| PARENT_NOT_SET[ 25/ 17/ 18/ 0][1/1/0][ 200000001][0-0] ;
+# 2> NEWLINE| NONE| PARENT_NOT_SET[ 26/ 18/ 1/ 0][0/0/0][ 0][2-0]
+# 4> STRUCT| NONE| PARENT_NOT_SET[ 1/ 1/ 7/ 0][0/0/0][ e0000][0-0] struct
+# 4> TYPE| STRUCT| PARENT_NOT_SET[ 8/ 8/ 21/ 1][0/0/0][ 0][0-0] TelegramIndex
+# 4> NEWLINE| NONE| PARENT_NOT_SET[ 21/ 21/ 1/ 0][0/0/0][ 0][1-0]
+# 5> BRACE_OPEN| STRUCT| PARENT_NOT_SET[ 1/ 1/ 2/ 0][0/0/0][ 200000400][0-0] {
+# 5> NEWLINE| NONE| PARENT_NOT_SET[ 2/ 2/ 1/ 0][1/1/0][ 2][1-0]
+# 6> FUNC_CLASS_DEF| NONE| PARENT_NOT_SET[ 9/ 1/ 14/ 0][1/1/0][ c0402][0-0] TelegramIndex
+# 6> FPAREN_OPEN| FUNC_CLASS_DEF| PARENT_NOT_SET[ 22/ 14/ 15/ 0][1/1/0][ 200000502][0-0] (
+# 6> QUALIFIER| NONE| PARENT_NOT_SET[ 23/ 15/ 20/ 0][1/2/0][ a0512][0-0] const
+# 6> TYPE| NONE| PARENT_NOT_SET[ 29/ 21/ 25/ 1][1/2/0][ 800512][0-0] char
+# 6> PTR_TYPE| NONE| PARENT_NOT_SET[ 33/ 25/ 26/ 0][1/2/0][ 200000512][0-0] *
+# 6> WORD| NONE| PARENT_NOT_SET[ 35/ 27/ 29/ 1][1/2/0][ 1000512][0-0] pN
+# 6> COMMA| NONE| PARENT_NOT_SET[ 37/ 29/ 30/ 0][1/2/0][ 200000512][0-0] ,
+# 6> TYPE| NONE| PARENT_NOT_SET[ 39/ 31/ 39/ 1][1/2/0][ 8a0512][0-0] unsigned
+# 6> TYPE| NONE| PARENT_NOT_SET[ 48/ 40/ 44/ 1][1/2/0][ 820512][0-0] long
+# 6> WORD| NONE| PARENT_NOT_SET[ 53/ 45/ 47/ 1][1/2/0][ 1000512][0-0] nI
+# 6> FPAREN_CLOSE| FUNC_CLASS_DEF| PARENT_NOT_SET[ 55/ 47/ 48/ 0][1/1/0][ 200000512][0-0] )
+# 6> CONSTR_COLON| NONE| PARENT_NOT_SET[ 57/ 49/ 50/ 1][1/1/0][ 200000502][0-0] :
+# 6> NEWLINE| NONE| PARENT_NOT_SET[ 58/ 50/ 1/ 0][1/1/0][ 2][1-0]
+# 7> FUNC_CTOR_VAR| NONE| PARENT_NOT_SET[ 17/ 1/ 9/ 0][1/1/0][ c0502][0-0] pTelName
+# 7> FPAREN_OPEN| FUNC_CTOR_VAR| PARENT_NOT_SET[ 25/ 9/ 10/ 0][1/1/0][ 200000502][0-0] (
+# 7> WORD| NONE| PARENT_NOT_SET[ 26/ 10/ 12/ 0][1/2/0][ 80512][0-0] pN
+# 7> FPAREN_CLOSE| FUNC_CTOR_VAR| PARENT_NOT_SET[ 28/ 12/ 13/ 0][1/1/0][ 200000512][0-0] )
+# 7> COMMA| NONE| PARENT_NOT_SET[ 29/ 13/ 14/ 0][1/1/0][ 200000502][0-0] ,
+# 7> NEWLINE| NONE| PARENT_NOT_SET[ 30/ 14/ 1/ 0][1/1/0][ 2][1-0]
+# 8> FUNC_CTOR_VAR| NONE| PARENT_NOT_SET[ 17/ 1/ 10/ 0][1/1/0][ 80502][0-0] nTelIndex
+# 8> FPAREN_OPEN| FUNC_CTOR_VAR| PARENT_NOT_SET[ 26/ 10/ 11/ 0][1/1/0][ 200000502][0-0] (
+# 8> WORD| NONE| PARENT_NOT_SET[ 27/ 11/ 12/ 0][1/2/0][ 80512][0-0] n
+# 8> FPAREN_CLOSE| FUNC_CTOR_VAR| PARENT_NOT_SET[ 28/ 12/ 13/ 0][1/1/0][ 200000512][0-0] )
+# 8> NEWLINE| NONE| PARENT_NOT_SET[ 29/ 13/ 1/ 0][1/1/0][ 2][1-0]
+# 9> BRACE_OPEN| FUNC_CLASS_DEF| PARENT_NOT_SET[ 9/ 1/ 2/ 0][1/1/0][ 280000402][0-0] {
+# 9> NEWLINE| NONE| PARENT_NOT_SET[ 10/ 2/ 1/ 0][2/2/0][ 2][1-0]
+# 10> BRACE_CLOSE| FUNC_CLASS_DEF| PARENT_NOT_SET[ 9/ 1/ 2/ 0][1/1/0][ 280000402][0-0] }
+# 10> NEWLINE| NONE| PARENT_NOT_SET[ 10/ 2/ 1/ 0][1/1/0][ 2][2-0]
+# 12> DESTRUCTOR| FUNC_CLASS_DEF| PARENT_NOT_SET[ 9/ 1/ 2/ 0][1/1/0][ 2000c0402][0-0] ~
+# 12> FUNC_CLASS_DEF| DESTRUCTOR| PARENT_NOT_SET[ 10/ 2/ 15/ 0][1/1/0][ 80402][0-0] TelegramIndex
+# 12> FPAREN_OPEN| FUNC_CLASS_DEF| PARENT_NOT_SET[ 23/ 15/ 16/ 0][1/1/0][ 200000502][0-0] (
+# 12> FPAREN_CLOSE| FUNC_CLASS_DEF| PARENT_NOT_SET[ 24/ 16/ 17/ 0][1/1/0][ 200000512][0-0] )
+# 12> NEWLINE| NONE| PARENT_NOT_SET[ 25/ 17/ 1/ 0][1/1/0][ 2][1-0]
+# 13> BRACE_OPEN| FUNC_CLASS_DEF| PARENT_NOT_SET[ 9/ 1/ 2/ 0][1/1/0][ 280000402][0-0] {
+# 13> NEWLINE| NONE| PARENT_NOT_SET[ 10/ 2/ 1/ 0][2/2/0][ 2][1-0]
+# 14> BRACE_CLOSE| FUNC_CLASS_DEF| PARENT_NOT_SET[ 9/ 1/ 2/ 0][1/1/0][ 280000402][0-0] }
+# 14> NEWLINE| NONE| PARENT_NOT_SET[ 10/ 2/ 1/ 0][1/1/0][ 2][2-0]
+# 16> QUALIFIER| NONE| PARENT_NOT_SET[ 9/ 1/ 6/ 0][1/1/0][ 8e0402][0-0] const
+# 16> TYPE| NONE| PARENT_NOT_SET[ 15/ 7/ 11/ 1][1/1/0][ 800402][0-0] char
+# 16> PTR_TYPE| NONE| PARENT_NOT_SET[ 19/ 11/ 12/ 0][1/1/0][ 200800402][0-0] *
+# 16> QUALIFIER| NONE| PARENT_NOT_SET[ 21/ 13/ 18/ 1][1/1/0][ 820402][0-0] const
+# 16> WORD| NONE| PARENT_NOT_SET[ 27/ 19/ 27/ 1][1/1/0][ 3000402][0-0] pTelName
+# 16> SEMICOLON| NONE| PARENT_NOT_SET[ 35/ 27/ 28/ 0][1/1/0][ 200000402][0-0] ;
+# 16> NEWLINE| NONE| PARENT_NOT_SET[ 36/ 28/ 1/ 0][1/1/0][ 2][1-0]
+# 17> TYPE| NONE| PARENT_NOT_SET[ 9/ 1/ 9/ 0][1/1/0][ 8e0402][0-0] unsigned
+# 17> TYPE| NONE| PARENT_NOT_SET[ 18/ 10/ 14/ 1][1/1/0][ 820402][0-0] long
+# 17> WORD| NONE| PARENT_NOT_SET[ 23/ 15/ 24/ 1][1/1/0][ 3000402][0-0] nTelIndex
+# 17> SEMICOLON| NONE| PARENT_NOT_SET[ 32/ 24/ 25/ 0][1/1/0][ 200000402][0-0] ;
+# 17> NEWLINE| NONE| PARENT_NOT_SET[ 33/ 25/ 1/ 0][1/1/0][ 2][1-0]
+# 18> BRACE_CLOSE| STRUCT| PARENT_NOT_SET[ 1/ 1/ 2/ 0][0/0/0][ 200000402][0-0] }
+# 18> SEMICOLON| STRUCT| PARENT_NOT_SET[ 2/ 2/ 3/ 0][0/0/0][ 200000000][0-0] ;
+# 18> NEWLINE| NONE| PARENT_NOT_SET[ 3/ 3/ 1/ 0][0/0/0][ 0][2-0]
+# -=====-
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/pc-.txt b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/pc-.txt
new file mode 100644
index 00000000..63ed3d2c
--- /dev/null
+++ b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/pc-.txt
@@ -0,0 +1,10 @@
+
+# option(s) with 'not default' value: 0
+#
+# -=====-
+# number of loops = 0
+# -=====-
+# language = C
+# -=====-
+# Line Tag Parent_type Type of the parent Columns Br/Lvl/pp Flag Nl Text
+# -=====-
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/replace.txt b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/replace.txt
new file mode 100644
index 00000000..6addb57b
--- /dev/null
+++ b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/replace.txt
@@ -0,0 +1,2 @@
+Parsing: input/I-3310.c as language C
+Parsing: input/backup.h as language C-Header
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/tracking_space.html b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/tracking_space.html
new file mode 100644
index 00000000..b0098a0e
--- /dev/null
+++ b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/tracking_space.html
@@ -0,0 +1,23 @@
+<html>
+<head>
+ <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
+ <title>Uncrustify: where do the Spaces options work</title>
+</head>
+<body lang="en-US">
+<p>
+</p>
+<pre>
+{
+ a = b + 111 - 55;
+}
+template<typename ...A, int... B>
+struct foo1 : foo1<A..., (sizeof...(A) + B)...>
+{
+ foo1() {
+ int x = sizeof...(A);
+ bool b = x > 1;
+ }
+};
+</pre>
+</body>
+</html>
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/truncate.txt b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/truncate.txt
new file mode 100644
index 00000000..8c428d84
--- /dev/null
+++ b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/truncate.txt
@@ -0,0 +1,16 @@
+output_text : text() is '// 1 6789A123456789B123456789c12345678 ... <The string is truncated>', type is COMMENT_CPP, orig_line is 1, column is 1, nl is 0
+output_cmt_start : no cmt_insert_file
+output_comment_cpp : set cont_text to '// '
+output_text : text() is '', type is NEWLINE, orig_line is 1, column is 74, nl is 1
+output_text : text() is '// 2 678 ... <The string is truncated>', type is COMMENT_CPP, orig_line is 2, column is 1, nl is 0
+output_cmt_start : no cmt_insert_file
+output_comment_cpp : set cont_text to '// '
+output_text : text() is '', type is NEWLINE, orig_line is 2, column is 40, nl is 1
+output_text : text() is '// 3 6789A123456789B123456789c12345678', type is COMMENT_CPP, orig_line is 3, column is 1, nl is 0
+output_cmt_start : no cmt_insert_file
+output_comment_cpp : set cont_text to '// '
+output_text : text() is '', type is NEWLINE, orig_line is 3, column is 39, nl is 1
+output_text : text() is '// 4 6789A123456789B123456789c1234567', type is COMMENT_CPP, orig_line is 4, column is 1, nl is 0
+output_cmt_start : no cmt_insert_file
+output_comment_cpp : set cont_text to '// '
+output_text : text() is '', type is NEWLINE, orig_line is 4, column is 38, nl is 1
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/universalindent.cfg b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/universalindent.cfg
new file mode 100644
index 00000000..bdf8aaba
--- /dev/null
+++ b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/universalindent.cfg
@@ -0,0 +1,7018 @@
+[header]
+categories=General options|Spacing options|Indenting options|Newline adding and removing options|Blank line options|Positioning options|Line splitting options|Code alignment options (not left column spaces/tabs)|Comment modification options|Code modifying options (non-whitespace)|Preprocessor options|Sort includes options|Use or Do not Use options|Warn levels - 1: error, 2: warning (default), 3: note
+cfgFileParameterEnding=cr
+configFilename=uncrustify.cfg
+fileTypes=*.c|*.cpp|*.d|*.cs|*.vala|*.java|*.pawn|*.p|*.sma|*.inl|*.h|*.cxx|*.hpp|*.hxx|*.cc|*.cp|*.C|*.CPP|*.c++|*.di|*.m|*.mm|*.sqc|*.es
+indenterFileName=uncrustify
+indenterName=Uncrustify (C, C++, C#, ObjectiveC, D, Java, Pawn, VALA)
+inputFileName=indentinput
+inputFileParameter="-f "
+manual=http://uncrustify.sourceforge.net/config.txt
+outputFileName=indentoutput
+outputFileParameter="-o "
+stringparaminquotes=false
+parameterOrder=ipo
+showHelpParameter=-h
+stringparaminquotes=false
+useCfgFileParameter="-c "
+
+
+[Newlines]
+Category=0
+Description="<html>The type of line endings.<br/><br/>Default: auto</html>"
+Enabled=false
+EditorType=multiple
+Choices=newlines=lf|newlines=crlf|newlines=cr|newlines=auto
+ChoicesReadable="Newlines Unix|Newlines Win|Newlines Mac|Newlines Auto"
+ValueDefault=auto
+
+[Input Tab Size]
+Category=0
+Description="<html>The original size of tabs in the input.<br/><br/>Default: 8</html>"
+Enabled=false
+EditorType=numeric
+CallName="input_tab_size="
+MinVal=1
+MaxVal=32
+ValueDefault=8
+
+[Output Tab Size]
+Category=0
+Description="<html>The size of tabs in the output (only used if align_with_tabs=true).<br/><br/>Default: 8</html>"
+Enabled=false
+EditorType=numeric
+CallName="output_tab_size="
+MinVal=1
+MaxVal=32
+ValueDefault=8
+
+[String Escape Char]
+Category=0
+Description="<html>The ASCII value of the string escape char, usually 92 (\) or (Pawn) 94 (^).<br/><br/>Default: 92</html>"
+Enabled=false
+EditorType=numeric
+CallName="string_escape_char="
+MinVal=0
+MaxVal=255
+ValueDefault=92
+
+[String Escape Char2]
+Category=0
+Description="<html>Alternate string escape char (usually only used for Pawn).<br/>Only works right before the quote char.</html>"
+Enabled=false
+EditorType=numeric
+CallName="string_escape_char2="
+MinVal=0
+MaxVal=255
+ValueDefault=0
+
+[String Replace Tab Chars]
+Category=0
+Description="<html>Replace tab characters found in string literals with the escape sequence \t<br/>instead.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=string_replace_tab_chars=true|string_replace_tab_chars=false
+ValueDefault=false
+
+[Tok Split Gte]
+Category=0
+Description="<html>Allow interpreting '&gt;=' and '&gt;&gt;=' as part of a template in code like<br/>'void f(list&lt;list&lt;B&gt;&gt;=val);'. If true, 'assert(x&lt;0 &amp;&amp; y&gt;=3)' will be broken.<br/>Improvements to template detection may make this option obsolete.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=tok_split_gte=true|tok_split_gte=false
+ValueDefault=false
+
+[Disable Processing Nl Cont]
+Category=0
+Description="<html>Disable formatting of NL_CONT ('\\n') ended lines (e.g. multi-line macros).</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=disable_processing_nl_cont=true|disable_processing_nl_cont=false
+ValueDefault=false
+
+[Disable Processing Cmt]
+Category=0
+Description="<html>Specify the marker used in comments to disable processing of part of the<br/>file.<br/><br/>Default: *INDENT-OFF*</html>"
+Enabled=false
+CallName=disable_processing_cmt=
+EditorType=string
+ValueDefault= *INDENT-OFF*
+
+[Enable Processing Cmt]
+Category=0
+Description="<html>Specify the marker used in comments to (re)enable processing in a file.<br/><br/>Default: *INDENT-ON*</html>"
+Enabled=false
+CallName=enable_processing_cmt=
+EditorType=string
+ValueDefault= *INDENT-ON*
+
+[Enable Digraphs]
+Category=0
+Description="<html>Enable parsing of digraphs.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=enable_digraphs=true|enable_digraphs=false
+ValueDefault=false
+
+[Processing Cmt As Regex]
+Category=0
+Description="<html>Option to allow both disable_processing_cmt and enable_processing_cmt<br/>strings, if specified, to be interpreted as ECMAScript regular expressions.<br/>If true, a regex search will be performed within comments according to the<br/>specified patterns in order to disable/enable processing.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=processing_cmt_as_regex=true|processing_cmt_as_regex=false
+ValueDefault=false
+
+[Utf8 Bom]
+Category=0
+Description="<html>Add or remove the UTF-8 BOM (recommend 'remove').</html>"
+Enabled=false
+EditorType=multiple
+Choices=utf8_bom=ignore|utf8_bom=add|utf8_bom=remove|utf8_bom=force|utf8_bom=not_defined
+ChoicesReadable="Ignore Utf8 Bom|Add Utf8 Bom|Remove Utf8 Bom|Force Utf8 Bom"
+ValueDefault=ignore
+
+[Utf8 Byte]
+Category=0
+Description="<html>If the file contains bytes with values between 128 and 255, but is not<br/>UTF-8, then output as UTF-8.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=utf8_byte=true|utf8_byte=false
+ValueDefault=false
+
+[Utf8 Force]
+Category=0
+Description="<html>Force the output encoding to UTF-8.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=utf8_force=true|utf8_force=false
+ValueDefault=false
+
+[Sp Arith]
+Category=1
+Description="<html>Add or remove space around non-assignment symbolic operators ('+', '/', '%',<br/>'&lt;&lt;', and so forth).</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_arith=ignore|sp_arith=add|sp_arith=remove|sp_arith=force|sp_arith=not_defined
+ChoicesReadable="Ignore Sp Arith|Add Sp Arith|Remove Sp Arith|Force Sp Arith"
+ValueDefault=ignore
+
+[Sp Arith Additive]
+Category=1
+Description="<html>Add or remove space around arithmetic operators '+' and '-'.<br/><br/>Overrides sp_arith.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_arith_additive=ignore|sp_arith_additive=add|sp_arith_additive=remove|sp_arith_additive=force|sp_arith_additive=not_defined
+ChoicesReadable="Ignore Sp Arith Additive|Add Sp Arith Additive|Remove Sp Arith Additive|Force Sp Arith Additive"
+ValueDefault=ignore
+
+[Sp Assign]
+Category=1
+Description="<html>Add or remove space around assignment operator '=', '+=', etc.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_assign=ignore|sp_assign=add|sp_assign=remove|sp_assign=force|sp_assign=not_defined
+ChoicesReadable="Ignore Sp Assign|Add Sp Assign|Remove Sp Assign|Force Sp Assign"
+ValueDefault=ignore
+
+[Sp Cpp Lambda Assign]
+Category=1
+Description="<html>Add or remove space around '=' in C++11 lambda capture specifications.<br/><br/>Overrides sp_assign.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_cpp_lambda_assign=ignore|sp_cpp_lambda_assign=add|sp_cpp_lambda_assign=remove|sp_cpp_lambda_assign=force|sp_cpp_lambda_assign=not_defined
+ChoicesReadable="Ignore Sp Cpp Lambda Assign|Add Sp Cpp Lambda Assign|Remove Sp Cpp Lambda Assign|Force Sp Cpp Lambda Assign"
+ValueDefault=ignore
+
+[Sp Cpp Lambda Square Paren]
+Category=1
+Description="<html>Add or remove space after the capture specification of a C++11 lambda when<br/>an argument list is present, as in '[] &lt;here&gt; (int x){ ... }'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_cpp_lambda_square_paren=ignore|sp_cpp_lambda_square_paren=add|sp_cpp_lambda_square_paren=remove|sp_cpp_lambda_square_paren=force|sp_cpp_lambda_square_paren=not_defined
+ChoicesReadable="Ignore Sp Cpp Lambda Square Paren|Add Sp Cpp Lambda Square Paren|Remove Sp Cpp Lambda Square Paren|Force Sp Cpp Lambda Square Paren"
+ValueDefault=ignore
+
+[Sp Cpp Lambda Square Brace]
+Category=1
+Description="<html>Add or remove space after the capture specification of a C++11 lambda with<br/>no argument list is present, as in '[] &lt;here&gt; { ... }'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_cpp_lambda_square_brace=ignore|sp_cpp_lambda_square_brace=add|sp_cpp_lambda_square_brace=remove|sp_cpp_lambda_square_brace=force|sp_cpp_lambda_square_brace=not_defined
+ChoicesReadable="Ignore Sp Cpp Lambda Square Brace|Add Sp Cpp Lambda Square Brace|Remove Sp Cpp Lambda Square Brace|Force Sp Cpp Lambda Square Brace"
+ValueDefault=ignore
+
+[Sp Cpp Lambda Argument List]
+Category=1
+Description="<html>Add or remove space after the opening parenthesis and before the closing<br/>parenthesis of a argument list of a C++11 lambda, as in<br/>'[]( &lt;here&gt; int x &lt;here&gt; ){ ... }'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_cpp_lambda_argument_list=ignore|sp_cpp_lambda_argument_list=add|sp_cpp_lambda_argument_list=remove|sp_cpp_lambda_argument_list=force|sp_cpp_lambda_argument_list=not_defined
+ChoicesReadable="Ignore Sp Cpp Lambda Argument List|Add Sp Cpp Lambda Argument List|Remove Sp Cpp Lambda Argument List|Force Sp Cpp Lambda Argument List"
+ValueDefault=ignore
+
+[Sp Cpp Lambda Paren Brace]
+Category=1
+Description="<html>Add or remove space after the argument list of a C++11 lambda, as in<br/>'[](int x) &lt;here&gt; { ... }'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_cpp_lambda_paren_brace=ignore|sp_cpp_lambda_paren_brace=add|sp_cpp_lambda_paren_brace=remove|sp_cpp_lambda_paren_brace=force|sp_cpp_lambda_paren_brace=not_defined
+ChoicesReadable="Ignore Sp Cpp Lambda Paren Brace|Add Sp Cpp Lambda Paren Brace|Remove Sp Cpp Lambda Paren Brace|Force Sp Cpp Lambda Paren Brace"
+ValueDefault=ignore
+
+[Sp Cpp Lambda Fparen]
+Category=1
+Description="<html>Add or remove space between a lambda body and its call operator of an<br/>immediately invoked lambda, as in '[]( ... ){ ... } &lt;here&gt; ( ... )'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_cpp_lambda_fparen=ignore|sp_cpp_lambda_fparen=add|sp_cpp_lambda_fparen=remove|sp_cpp_lambda_fparen=force|sp_cpp_lambda_fparen=not_defined
+ChoicesReadable="Ignore Sp Cpp Lambda Fparen|Add Sp Cpp Lambda Fparen|Remove Sp Cpp Lambda Fparen|Force Sp Cpp Lambda Fparen"
+ValueDefault=ignore
+
+[Sp Assign Default]
+Category=1
+Description="<html>Add or remove space around assignment operator '=' in a prototype.<br/><br/>If set to ignore, use sp_assign.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_assign_default=ignore|sp_assign_default=add|sp_assign_default=remove|sp_assign_default=force|sp_assign_default=not_defined
+ChoicesReadable="Ignore Sp Assign Default|Add Sp Assign Default|Remove Sp Assign Default|Force Sp Assign Default"
+ValueDefault=ignore
+
+[Sp Before Assign]
+Category=1
+Description="<html>Add or remove space before assignment operator '=', '+=', etc.<br/><br/>Overrides sp_assign.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_before_assign=ignore|sp_before_assign=add|sp_before_assign=remove|sp_before_assign=force|sp_before_assign=not_defined
+ChoicesReadable="Ignore Sp Before Assign|Add Sp Before Assign|Remove Sp Before Assign|Force Sp Before Assign"
+ValueDefault=ignore
+
+[Sp After Assign]
+Category=1
+Description="<html>Add or remove space after assignment operator '=', '+=', etc.<br/><br/>Overrides sp_assign.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_after_assign=ignore|sp_after_assign=add|sp_after_assign=remove|sp_after_assign=force|sp_after_assign=not_defined
+ChoicesReadable="Ignore Sp After Assign|Add Sp After Assign|Remove Sp After Assign|Force Sp After Assign"
+ValueDefault=ignore
+
+[Sp Enum Paren]
+Category=1
+Description="<html>Add or remove space in 'NS_ENUM ('.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_enum_paren=ignore|sp_enum_paren=add|sp_enum_paren=remove|sp_enum_paren=force|sp_enum_paren=not_defined
+ChoicesReadable="Ignore Sp Enum Paren|Add Sp Enum Paren|Remove Sp Enum Paren|Force Sp Enum Paren"
+ValueDefault=ignore
+
+[Sp Enum Assign]
+Category=1
+Description="<html>Add or remove space around assignment '=' in enum.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_enum_assign=ignore|sp_enum_assign=add|sp_enum_assign=remove|sp_enum_assign=force|sp_enum_assign=not_defined
+ChoicesReadable="Ignore Sp Enum Assign|Add Sp Enum Assign|Remove Sp Enum Assign|Force Sp Enum Assign"
+ValueDefault=ignore
+
+[Sp Enum Before Assign]
+Category=1
+Description="<html>Add or remove space before assignment '=' in enum.<br/><br/>Overrides sp_enum_assign.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_enum_before_assign=ignore|sp_enum_before_assign=add|sp_enum_before_assign=remove|sp_enum_before_assign=force|sp_enum_before_assign=not_defined
+ChoicesReadable="Ignore Sp Enum Before Assign|Add Sp Enum Before Assign|Remove Sp Enum Before Assign|Force Sp Enum Before Assign"
+ValueDefault=ignore
+
+[Sp Enum After Assign]
+Category=1
+Description="<html>Add or remove space after assignment '=' in enum.<br/><br/>Overrides sp_enum_assign.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_enum_after_assign=ignore|sp_enum_after_assign=add|sp_enum_after_assign=remove|sp_enum_after_assign=force|sp_enum_after_assign=not_defined
+ChoicesReadable="Ignore Sp Enum After Assign|Add Sp Enum After Assign|Remove Sp Enum After Assign|Force Sp Enum After Assign"
+ValueDefault=ignore
+
+[Sp Enum Colon]
+Category=1
+Description="<html>Add or remove space around assignment ':' in enum.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_enum_colon=ignore|sp_enum_colon=add|sp_enum_colon=remove|sp_enum_colon=force|sp_enum_colon=not_defined
+ChoicesReadable="Ignore Sp Enum Colon|Add Sp Enum Colon|Remove Sp Enum Colon|Force Sp Enum Colon"
+ValueDefault=ignore
+
+[Sp Pp Concat]
+Category=1
+Description="<html>Add or remove space around preprocessor '##' concatenation operator.<br/><br/>Default: add</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_pp_concat=ignore|sp_pp_concat=add|sp_pp_concat=remove|sp_pp_concat=force|sp_pp_concat=not_defined
+ChoicesReadable="Ignore Sp Pp Concat|Add Sp Pp Concat|Remove Sp Pp Concat|Force Sp Pp Concat"
+ValueDefault=add
+
+[Sp Pp Stringify]
+Category=1
+Description="<html>Add or remove space after preprocessor '#' stringify operator.<br/>Also affects the '#@' charizing operator.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_pp_stringify=ignore|sp_pp_stringify=add|sp_pp_stringify=remove|sp_pp_stringify=force|sp_pp_stringify=not_defined
+ChoicesReadable="Ignore Sp Pp Stringify|Add Sp Pp Stringify|Remove Sp Pp Stringify|Force Sp Pp Stringify"
+ValueDefault=ignore
+
+[Sp Before Pp Stringify]
+Category=1
+Description="<html>Add or remove space before preprocessor '#' stringify operator<br/>as in '#define x(y) L#y'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_before_pp_stringify=ignore|sp_before_pp_stringify=add|sp_before_pp_stringify=remove|sp_before_pp_stringify=force|sp_before_pp_stringify=not_defined
+ChoicesReadable="Ignore Sp Before Pp Stringify|Add Sp Before Pp Stringify|Remove Sp Before Pp Stringify|Force Sp Before Pp Stringify"
+ValueDefault=ignore
+
+[Sp Bool]
+Category=1
+Description="<html>Add or remove space around boolean operators '&amp;&amp;' and '||'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_bool=ignore|sp_bool=add|sp_bool=remove|sp_bool=force|sp_bool=not_defined
+ChoicesReadable="Ignore Sp Bool|Add Sp Bool|Remove Sp Bool|Force Sp Bool"
+ValueDefault=ignore
+
+[Sp Compare]
+Category=1
+Description="<html>Add or remove space around compare operator '&lt;', '&gt;', '==', etc.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_compare=ignore|sp_compare=add|sp_compare=remove|sp_compare=force|sp_compare=not_defined
+ChoicesReadable="Ignore Sp Compare|Add Sp Compare|Remove Sp Compare|Force Sp Compare"
+ValueDefault=ignore
+
+[Sp Inside Paren]
+Category=1
+Description="<html>Add or remove space inside '(' and ')'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_inside_paren=ignore|sp_inside_paren=add|sp_inside_paren=remove|sp_inside_paren=force|sp_inside_paren=not_defined
+ChoicesReadable="Ignore Sp Inside Paren|Add Sp Inside Paren|Remove Sp Inside Paren|Force Sp Inside Paren"
+ValueDefault=ignore
+
+[Sp Paren Paren]
+Category=1
+Description="<html>Add or remove space between nested parentheses, i.e. '((' vs. ') )'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_paren_paren=ignore|sp_paren_paren=add|sp_paren_paren=remove|sp_paren_paren=force|sp_paren_paren=not_defined
+ChoicesReadable="Ignore Sp Paren Paren|Add Sp Paren Paren|Remove Sp Paren Paren|Force Sp Paren Paren"
+ValueDefault=ignore
+
+[Sp Cparen Oparen]
+Category=1
+Description="<html>Add or remove space between back-to-back parentheses, i.e. ')(' vs. ') ('.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_cparen_oparen=ignore|sp_cparen_oparen=add|sp_cparen_oparen=remove|sp_cparen_oparen=force|sp_cparen_oparen=not_defined
+ChoicesReadable="Ignore Sp Cparen Oparen|Add Sp Cparen Oparen|Remove Sp Cparen Oparen|Force Sp Cparen Oparen"
+ValueDefault=ignore
+
+[Sp Balance Nested Parens]
+Category=1
+Description="<html>Whether to balance spaces inside nested parentheses.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=sp_balance_nested_parens=true|sp_balance_nested_parens=false
+ValueDefault=false
+
+[Sp Paren Brace]
+Category=1
+Description="<html>Add or remove space between ')' and '{'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_paren_brace=ignore|sp_paren_brace=add|sp_paren_brace=remove|sp_paren_brace=force|sp_paren_brace=not_defined
+ChoicesReadable="Ignore Sp Paren Brace|Add Sp Paren Brace|Remove Sp Paren Brace|Force Sp Paren Brace"
+ValueDefault=ignore
+
+[Sp Brace Brace]
+Category=1
+Description="<html>Add or remove space between nested braces, i.e. '{{' vs. '{ {'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_brace_brace=ignore|sp_brace_brace=add|sp_brace_brace=remove|sp_brace_brace=force|sp_brace_brace=not_defined
+ChoicesReadable="Ignore Sp Brace Brace|Add Sp Brace Brace|Remove Sp Brace Brace|Force Sp Brace Brace"
+ValueDefault=ignore
+
+[Sp Before Ptr Star]
+Category=1
+Description="<html>Add or remove space before pointer star '*'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_before_ptr_star=ignore|sp_before_ptr_star=add|sp_before_ptr_star=remove|sp_before_ptr_star=force|sp_before_ptr_star=not_defined
+ChoicesReadable="Ignore Sp Before Ptr Star|Add Sp Before Ptr Star|Remove Sp Before Ptr Star|Force Sp Before Ptr Star"
+ValueDefault=ignore
+
+[Sp Before Unnamed Ptr Star]
+Category=1
+Description="<html>Add or remove space before pointer star '*' that isn't followed by a<br/>variable name. If set to ignore, sp_before_ptr_star is used instead.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_before_unnamed_ptr_star=ignore|sp_before_unnamed_ptr_star=add|sp_before_unnamed_ptr_star=remove|sp_before_unnamed_ptr_star=force|sp_before_unnamed_ptr_star=not_defined
+ChoicesReadable="Ignore Sp Before Unnamed Ptr Star|Add Sp Before Unnamed Ptr Star|Remove Sp Before Unnamed Ptr Star|Force Sp Before Unnamed Ptr Star"
+ValueDefault=ignore
+
+[Sp Between Ptr Star]
+Category=1
+Description="<html>Add or remove space between pointer stars '*', as in 'int ***a;'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_between_ptr_star=ignore|sp_between_ptr_star=add|sp_between_ptr_star=remove|sp_between_ptr_star=force|sp_between_ptr_star=not_defined
+ChoicesReadable="Ignore Sp Between Ptr Star|Add Sp Between Ptr Star|Remove Sp Between Ptr Star|Force Sp Between Ptr Star"
+ValueDefault=ignore
+
+[Sp After Ptr Star]
+Category=1
+Description="<html>Add or remove space after pointer star '*', if followed by a word.<br/><br/>Overrides sp_type_func.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_after_ptr_star=ignore|sp_after_ptr_star=add|sp_after_ptr_star=remove|sp_after_ptr_star=force|sp_after_ptr_star=not_defined
+ChoicesReadable="Ignore Sp After Ptr Star|Add Sp After Ptr Star|Remove Sp After Ptr Star|Force Sp After Ptr Star"
+ValueDefault=ignore
+
+[Sp After Ptr Block Caret]
+Category=1
+Description="<html>Add or remove space after pointer caret '^', if followed by a word.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_after_ptr_block_caret=ignore|sp_after_ptr_block_caret=add|sp_after_ptr_block_caret=remove|sp_after_ptr_block_caret=force|sp_after_ptr_block_caret=not_defined
+ChoicesReadable="Ignore Sp After Ptr Block Caret|Add Sp After Ptr Block Caret|Remove Sp After Ptr Block Caret|Force Sp After Ptr Block Caret"
+ValueDefault=ignore
+
+[Sp After Ptr Star Qualifier]
+Category=1
+Description="<html>Add or remove space after pointer star '*', if followed by a qualifier.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_after_ptr_star_qualifier=ignore|sp_after_ptr_star_qualifier=add|sp_after_ptr_star_qualifier=remove|sp_after_ptr_star_qualifier=force|sp_after_ptr_star_qualifier=not_defined
+ChoicesReadable="Ignore Sp After Ptr Star Qualifier|Add Sp After Ptr Star Qualifier|Remove Sp After Ptr Star Qualifier|Force Sp After Ptr Star Qualifier"
+ValueDefault=ignore
+
+[Sp After Ptr Star Func]
+Category=1
+Description="<html>Add or remove space after a pointer star '*', if followed by a function<br/>prototype or function definition.<br/><br/>Overrides sp_after_ptr_star and sp_type_func.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_after_ptr_star_func=ignore|sp_after_ptr_star_func=add|sp_after_ptr_star_func=remove|sp_after_ptr_star_func=force|sp_after_ptr_star_func=not_defined
+ChoicesReadable="Ignore Sp After Ptr Star Func|Add Sp After Ptr Star Func|Remove Sp After Ptr Star Func|Force Sp After Ptr Star Func"
+ValueDefault=ignore
+
+[Sp After Ptr Star Trailing]
+Category=1
+Description="<html>Add or remove space after a pointer star '*' in the trailing return of a<br/>function prototype or function definition.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_after_ptr_star_trailing=ignore|sp_after_ptr_star_trailing=add|sp_after_ptr_star_trailing=remove|sp_after_ptr_star_trailing=force|sp_after_ptr_star_trailing=not_defined
+ChoicesReadable="Ignore Sp After Ptr Star Trailing|Add Sp After Ptr Star Trailing|Remove Sp After Ptr Star Trailing|Force Sp After Ptr Star Trailing"
+ValueDefault=ignore
+
+[Sp Ptr Star Func Var]
+Category=1
+Description="<html>Add or remove space between the pointer star '*' and the name of the variable<br/>in a function pointer definition.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_ptr_star_func_var=ignore|sp_ptr_star_func_var=add|sp_ptr_star_func_var=remove|sp_ptr_star_func_var=force|sp_ptr_star_func_var=not_defined
+ChoicesReadable="Ignore Sp Ptr Star Func Var|Add Sp Ptr Star Func Var|Remove Sp Ptr Star Func Var|Force Sp Ptr Star Func Var"
+ValueDefault=ignore
+
+[Sp Ptr Star Paren]
+Category=1
+Description="<html>Add or remove space after a pointer star '*', if followed by an open<br/>parenthesis, as in 'void* (*)()'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_ptr_star_paren=ignore|sp_ptr_star_paren=add|sp_ptr_star_paren=remove|sp_ptr_star_paren=force|sp_ptr_star_paren=not_defined
+ChoicesReadable="Ignore Sp Ptr Star Paren|Add Sp Ptr Star Paren|Remove Sp Ptr Star Paren|Force Sp Ptr Star Paren"
+ValueDefault=ignore
+
+[Sp Before Ptr Star Func]
+Category=1
+Description="<html>Add or remove space before a pointer star '*', if followed by a function<br/>prototype or function definition.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_before_ptr_star_func=ignore|sp_before_ptr_star_func=add|sp_before_ptr_star_func=remove|sp_before_ptr_star_func=force|sp_before_ptr_star_func=not_defined
+ChoicesReadable="Ignore Sp Before Ptr Star Func|Add Sp Before Ptr Star Func|Remove Sp Before Ptr Star Func|Force Sp Before Ptr Star Func"
+ValueDefault=ignore
+
+[Sp Before Ptr Star Trailing]
+Category=1
+Description="<html>Add or remove space before a pointer star '*' in the trailing return of a<br/>function prototype or function definition.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_before_ptr_star_trailing=ignore|sp_before_ptr_star_trailing=add|sp_before_ptr_star_trailing=remove|sp_before_ptr_star_trailing=force|sp_before_ptr_star_trailing=not_defined
+ChoicesReadable="Ignore Sp Before Ptr Star Trailing|Add Sp Before Ptr Star Trailing|Remove Sp Before Ptr Star Trailing|Force Sp Before Ptr Star Trailing"
+ValueDefault=ignore
+
+[Sp Before Byref]
+Category=1
+Description="<html>Add or remove space before a reference sign '&amp;'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_before_byref=ignore|sp_before_byref=add|sp_before_byref=remove|sp_before_byref=force|sp_before_byref=not_defined
+ChoicesReadable="Ignore Sp Before Byref|Add Sp Before Byref|Remove Sp Before Byref|Force Sp Before Byref"
+ValueDefault=ignore
+
+[Sp Before Unnamed Byref]
+Category=1
+Description="<html>Add or remove space before a reference sign '&amp;' that isn't followed by a<br/>variable name. If set to ignore, sp_before_byref is used instead.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_before_unnamed_byref=ignore|sp_before_unnamed_byref=add|sp_before_unnamed_byref=remove|sp_before_unnamed_byref=force|sp_before_unnamed_byref=not_defined
+ChoicesReadable="Ignore Sp Before Unnamed Byref|Add Sp Before Unnamed Byref|Remove Sp Before Unnamed Byref|Force Sp Before Unnamed Byref"
+ValueDefault=ignore
+
+[Sp After Byref]
+Category=1
+Description="<html>Add or remove space after reference sign '&amp;', if followed by a word.<br/><br/>Overrides sp_type_func.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_after_byref=ignore|sp_after_byref=add|sp_after_byref=remove|sp_after_byref=force|sp_after_byref=not_defined
+ChoicesReadable="Ignore Sp After Byref|Add Sp After Byref|Remove Sp After Byref|Force Sp After Byref"
+ValueDefault=ignore
+
+[Sp After Byref Func]
+Category=1
+Description="<html>Add or remove space after a reference sign '&amp;', if followed by a function<br/>prototype or function definition.<br/><br/>Overrides sp_after_byref and sp_type_func.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_after_byref_func=ignore|sp_after_byref_func=add|sp_after_byref_func=remove|sp_after_byref_func=force|sp_after_byref_func=not_defined
+ChoicesReadable="Ignore Sp After Byref Func|Add Sp After Byref Func|Remove Sp After Byref Func|Force Sp After Byref Func"
+ValueDefault=ignore
+
+[Sp Before Byref Func]
+Category=1
+Description="<html>Add or remove space before a reference sign '&amp;', if followed by a function<br/>prototype or function definition.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_before_byref_func=ignore|sp_before_byref_func=add|sp_before_byref_func=remove|sp_before_byref_func=force|sp_before_byref_func=not_defined
+ChoicesReadable="Ignore Sp Before Byref Func|Add Sp Before Byref Func|Remove Sp Before Byref Func|Force Sp Before Byref Func"
+ValueDefault=ignore
+
+[Sp After Type]
+Category=1
+Description="<html>Add or remove space between type and word. In cases where total removal of<br/>whitespace would be a syntax error, a value of 'remove' is treated the same<br/>as 'force'.<br/><br/>This also affects some other instances of space following a type that are<br/>not covered by other options; for example, between the return type and<br/>parenthesis of a function type template argument, between the type and<br/>parenthesis of an array parameter, or between 'decltype(...)' and the<br/>following word.<br/><br/>Default: force</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_after_type=ignore|sp_after_type=add|sp_after_type=remove|sp_after_type=force|sp_after_type=not_defined
+ChoicesReadable="Ignore Sp After Type|Add Sp After Type|Remove Sp After Type|Force Sp After Type"
+ValueDefault=force
+
+[Sp After Decltype]
+Category=1
+Description="<html>Add or remove space between 'decltype(...)' and word,<br/>brace or function call.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_after_decltype=ignore|sp_after_decltype=add|sp_after_decltype=remove|sp_after_decltype=force|sp_after_decltype=not_defined
+ChoicesReadable="Ignore Sp After Decltype|Add Sp After Decltype|Remove Sp After Decltype|Force Sp After Decltype"
+ValueDefault=ignore
+
+[Sp Before Template Paren]
+Category=1
+Description="<html>(D) Add or remove space before the parenthesis in the D constructs<br/>'template Foo(' and 'class Foo('.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_before_template_paren=ignore|sp_before_template_paren=add|sp_before_template_paren=remove|sp_before_template_paren=force|sp_before_template_paren=not_defined
+ChoicesReadable="Ignore Sp Before Template Paren|Add Sp Before Template Paren|Remove Sp Before Template Paren|Force Sp Before Template Paren"
+ValueDefault=ignore
+
+[Sp Template Angle]
+Category=1
+Description="<html>Add or remove space between 'template' and '&lt;'.<br/>If set to ignore, sp_before_angle is used.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_template_angle=ignore|sp_template_angle=add|sp_template_angle=remove|sp_template_angle=force|sp_template_angle=not_defined
+ChoicesReadable="Ignore Sp Template Angle|Add Sp Template Angle|Remove Sp Template Angle|Force Sp Template Angle"
+ValueDefault=ignore
+
+[Sp Before Angle]
+Category=1
+Description="<html>Add or remove space before '&lt;'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_before_angle=ignore|sp_before_angle=add|sp_before_angle=remove|sp_before_angle=force|sp_before_angle=not_defined
+ChoicesReadable="Ignore Sp Before Angle|Add Sp Before Angle|Remove Sp Before Angle|Force Sp Before Angle"
+ValueDefault=ignore
+
+[Sp Inside Angle]
+Category=1
+Description="<html>Add or remove space inside '&lt;' and '&gt;'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_inside_angle=ignore|sp_inside_angle=add|sp_inside_angle=remove|sp_inside_angle=force|sp_inside_angle=not_defined
+ChoicesReadable="Ignore Sp Inside Angle|Add Sp Inside Angle|Remove Sp Inside Angle|Force Sp Inside Angle"
+ValueDefault=ignore
+
+[Sp Inside Angle Empty]
+Category=1
+Description="<html>Add or remove space inside '&lt;&gt;'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_inside_angle_empty=ignore|sp_inside_angle_empty=add|sp_inside_angle_empty=remove|sp_inside_angle_empty=force|sp_inside_angle_empty=not_defined
+ChoicesReadable="Ignore Sp Inside Angle Empty|Add Sp Inside Angle Empty|Remove Sp Inside Angle Empty|Force Sp Inside Angle Empty"
+ValueDefault=ignore
+
+[Sp Angle Colon]
+Category=1
+Description="<html>Add or remove space between '&gt;' and ':'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_angle_colon=ignore|sp_angle_colon=add|sp_angle_colon=remove|sp_angle_colon=force|sp_angle_colon=not_defined
+ChoicesReadable="Ignore Sp Angle Colon|Add Sp Angle Colon|Remove Sp Angle Colon|Force Sp Angle Colon"
+ValueDefault=ignore
+
+[Sp After Angle]
+Category=1
+Description="<html>Add or remove space after '&gt;'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_after_angle=ignore|sp_after_angle=add|sp_after_angle=remove|sp_after_angle=force|sp_after_angle=not_defined
+ChoicesReadable="Ignore Sp After Angle|Add Sp After Angle|Remove Sp After Angle|Force Sp After Angle"
+ValueDefault=ignore
+
+[Sp Angle Paren]
+Category=1
+Description="<html>Add or remove space between '&gt;' and '(' as found in 'new List&lt;byte&gt;(foo);'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_angle_paren=ignore|sp_angle_paren=add|sp_angle_paren=remove|sp_angle_paren=force|sp_angle_paren=not_defined
+ChoicesReadable="Ignore Sp Angle Paren|Add Sp Angle Paren|Remove Sp Angle Paren|Force Sp Angle Paren"
+ValueDefault=ignore
+
+[Sp Angle Paren Empty]
+Category=1
+Description="<html>Add or remove space between '&gt;' and '()' as found in 'new List&lt;byte&gt;();'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_angle_paren_empty=ignore|sp_angle_paren_empty=add|sp_angle_paren_empty=remove|sp_angle_paren_empty=force|sp_angle_paren_empty=not_defined
+ChoicesReadable="Ignore Sp Angle Paren Empty|Add Sp Angle Paren Empty|Remove Sp Angle Paren Empty|Force Sp Angle Paren Empty"
+ValueDefault=ignore
+
+[Sp Angle Word]
+Category=1
+Description="<html>Add or remove space between '&gt;' and a word as in 'List&lt;byte&gt; m;' or<br/>'template &lt;typename T&gt; static ...'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_angle_word=ignore|sp_angle_word=add|sp_angle_word=remove|sp_angle_word=force|sp_angle_word=not_defined
+ChoicesReadable="Ignore Sp Angle Word|Add Sp Angle Word|Remove Sp Angle Word|Force Sp Angle Word"
+ValueDefault=ignore
+
+[Sp Angle Shift]
+Category=1
+Description="<html>Add or remove space between '&gt;' and '&gt;' in '&gt;&gt;' (template stuff).<br/><br/>Default: add</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_angle_shift=ignore|sp_angle_shift=add|sp_angle_shift=remove|sp_angle_shift=force|sp_angle_shift=not_defined
+ChoicesReadable="Ignore Sp Angle Shift|Add Sp Angle Shift|Remove Sp Angle Shift|Force Sp Angle Shift"
+ValueDefault=add
+
+[Sp Permit Cpp11 Shift]
+Category=1
+Description="<html>(C++11) Permit removal of the space between '&gt;&gt;' in 'foo&lt;bar&lt;int&gt; &gt;'. Note<br/>that sp_angle_shift cannot remove the space without this option.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=sp_permit_cpp11_shift=true|sp_permit_cpp11_shift=false
+ValueDefault=false
+
+[Sp Before Sparen]
+Category=1
+Description="<html>Add or remove space before '(' of control statements ('if', 'for', 'switch',<br/>'while', etc.).</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_before_sparen=ignore|sp_before_sparen=add|sp_before_sparen=remove|sp_before_sparen=force|sp_before_sparen=not_defined
+ChoicesReadable="Ignore Sp Before Sparen|Add Sp Before Sparen|Remove Sp Before Sparen|Force Sp Before Sparen"
+ValueDefault=ignore
+
+[Sp Inside Sparen]
+Category=1
+Description="<html>Add or remove space inside '(' and ')' of control statements other than<br/>'for'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_inside_sparen=ignore|sp_inside_sparen=add|sp_inside_sparen=remove|sp_inside_sparen=force|sp_inside_sparen=not_defined
+ChoicesReadable="Ignore Sp Inside Sparen|Add Sp Inside Sparen|Remove Sp Inside Sparen|Force Sp Inside Sparen"
+ValueDefault=ignore
+
+[Sp Inside Sparen Open]
+Category=1
+Description="<html>Add or remove space after '(' of control statements other than 'for'.<br/><br/>Overrides sp_inside_sparen.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_inside_sparen_open=ignore|sp_inside_sparen_open=add|sp_inside_sparen_open=remove|sp_inside_sparen_open=force|sp_inside_sparen_open=not_defined
+ChoicesReadable="Ignore Sp Inside Sparen Open|Add Sp Inside Sparen Open|Remove Sp Inside Sparen Open|Force Sp Inside Sparen Open"
+ValueDefault=ignore
+
+[Sp Inside Sparen Close]
+Category=1
+Description="<html>Add or remove space before ')' of control statements other than 'for'.<br/><br/>Overrides sp_inside_sparen.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_inside_sparen_close=ignore|sp_inside_sparen_close=add|sp_inside_sparen_close=remove|sp_inside_sparen_close=force|sp_inside_sparen_close=not_defined
+ChoicesReadable="Ignore Sp Inside Sparen Close|Add Sp Inside Sparen Close|Remove Sp Inside Sparen Close|Force Sp Inside Sparen Close"
+ValueDefault=ignore
+
+[Sp Inside For]
+Category=1
+Description="<html>Add or remove space inside '(' and ')' of 'for' statements.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_inside_for=ignore|sp_inside_for=add|sp_inside_for=remove|sp_inside_for=force|sp_inside_for=not_defined
+ChoicesReadable="Ignore Sp Inside For|Add Sp Inside For|Remove Sp Inside For|Force Sp Inside For"
+ValueDefault=ignore
+
+[Sp Inside For Open]
+Category=1
+Description="<html>Add or remove space after '(' of 'for' statements.<br/><br/>Overrides sp_inside_for.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_inside_for_open=ignore|sp_inside_for_open=add|sp_inside_for_open=remove|sp_inside_for_open=force|sp_inside_for_open=not_defined
+ChoicesReadable="Ignore Sp Inside For Open|Add Sp Inside For Open|Remove Sp Inside For Open|Force Sp Inside For Open"
+ValueDefault=ignore
+
+[Sp Inside For Close]
+Category=1
+Description="<html>Add or remove space before ')' of 'for' statements.<br/><br/>Overrides sp_inside_for.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_inside_for_close=ignore|sp_inside_for_close=add|sp_inside_for_close=remove|sp_inside_for_close=force|sp_inside_for_close=not_defined
+ChoicesReadable="Ignore Sp Inside For Close|Add Sp Inside For Close|Remove Sp Inside For Close|Force Sp Inside For Close"
+ValueDefault=ignore
+
+[Sp Sparen Paren]
+Category=1
+Description="<html>Add or remove space between '((' or '))' of control statements.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_sparen_paren=ignore|sp_sparen_paren=add|sp_sparen_paren=remove|sp_sparen_paren=force|sp_sparen_paren=not_defined
+ChoicesReadable="Ignore Sp Sparen Paren|Add Sp Sparen Paren|Remove Sp Sparen Paren|Force Sp Sparen Paren"
+ValueDefault=ignore
+
+[Sp After Sparen]
+Category=1
+Description="<html>Add or remove space after ')' of control statements.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_after_sparen=ignore|sp_after_sparen=add|sp_after_sparen=remove|sp_after_sparen=force|sp_after_sparen=not_defined
+ChoicesReadable="Ignore Sp After Sparen|Add Sp After Sparen|Remove Sp After Sparen|Force Sp After Sparen"
+ValueDefault=ignore
+
+[Sp Sparen Brace]
+Category=1
+Description="<html>Add or remove space between ')' and '{' of control statements.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_sparen_brace=ignore|sp_sparen_brace=add|sp_sparen_brace=remove|sp_sparen_brace=force|sp_sparen_brace=not_defined
+ChoicesReadable="Ignore Sp Sparen Brace|Add Sp Sparen Brace|Remove Sp Sparen Brace|Force Sp Sparen Brace"
+ValueDefault=ignore
+
+[Sp Do Brace Open]
+Category=1
+Description="<html>Add or remove space between 'do' and '{'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_do_brace_open=ignore|sp_do_brace_open=add|sp_do_brace_open=remove|sp_do_brace_open=force|sp_do_brace_open=not_defined
+ChoicesReadable="Ignore Sp Do Brace Open|Add Sp Do Brace Open|Remove Sp Do Brace Open|Force Sp Do Brace Open"
+ValueDefault=ignore
+
+[Sp Brace Close While]
+Category=1
+Description="<html>Add or remove space between '}' and 'while'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_brace_close_while=ignore|sp_brace_close_while=add|sp_brace_close_while=remove|sp_brace_close_while=force|sp_brace_close_while=not_defined
+ChoicesReadable="Ignore Sp Brace Close While|Add Sp Brace Close While|Remove Sp Brace Close While|Force Sp Brace Close While"
+ValueDefault=ignore
+
+[Sp While Paren Open]
+Category=1
+Description="<html>Add or remove space between 'while' and '('. Overrides sp_before_sparen.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_while_paren_open=ignore|sp_while_paren_open=add|sp_while_paren_open=remove|sp_while_paren_open=force|sp_while_paren_open=not_defined
+ChoicesReadable="Ignore Sp While Paren Open|Add Sp While Paren Open|Remove Sp While Paren Open|Force Sp While Paren Open"
+ValueDefault=ignore
+
+[Sp Invariant Paren]
+Category=1
+Description="<html>(D) Add or remove space between 'invariant' and '('.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_invariant_paren=ignore|sp_invariant_paren=add|sp_invariant_paren=remove|sp_invariant_paren=force|sp_invariant_paren=not_defined
+ChoicesReadable="Ignore Sp Invariant Paren|Add Sp Invariant Paren|Remove Sp Invariant Paren|Force Sp Invariant Paren"
+ValueDefault=ignore
+
+[Sp After Invariant Paren]
+Category=1
+Description="<html>(D) Add or remove space after the ')' in 'invariant (C) c'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_after_invariant_paren=ignore|sp_after_invariant_paren=add|sp_after_invariant_paren=remove|sp_after_invariant_paren=force|sp_after_invariant_paren=not_defined
+ChoicesReadable="Ignore Sp After Invariant Paren|Add Sp After Invariant Paren|Remove Sp After Invariant Paren|Force Sp After Invariant Paren"
+ValueDefault=ignore
+
+[Sp Special Semi]
+Category=1
+Description="<html>Add or remove space before empty statement ';' on 'if', 'for' and 'while'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_special_semi=ignore|sp_special_semi=add|sp_special_semi=remove|sp_special_semi=force|sp_special_semi=not_defined
+ChoicesReadable="Ignore Sp Special Semi|Add Sp Special Semi|Remove Sp Special Semi|Force Sp Special Semi"
+ValueDefault=ignore
+
+[Sp Before Semi]
+Category=1
+Description="<html>Add or remove space before ';'.<br/><br/>Default: remove</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_before_semi=ignore|sp_before_semi=add|sp_before_semi=remove|sp_before_semi=force|sp_before_semi=not_defined
+ChoicesReadable="Ignore Sp Before Semi|Add Sp Before Semi|Remove Sp Before Semi|Force Sp Before Semi"
+ValueDefault=remove
+
+[Sp Before Semi For]
+Category=1
+Description="<html>Add or remove space before ';' in non-empty 'for' statements.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_before_semi_for=ignore|sp_before_semi_for=add|sp_before_semi_for=remove|sp_before_semi_for=force|sp_before_semi_for=not_defined
+ChoicesReadable="Ignore Sp Before Semi For|Add Sp Before Semi For|Remove Sp Before Semi For|Force Sp Before Semi For"
+ValueDefault=ignore
+
+[Sp Before Semi For Empty]
+Category=1
+Description="<html>Add or remove space before a semicolon of an empty left part of a for<br/>statement, as in 'for ( &lt;here&gt; ; ; )'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_before_semi_for_empty=ignore|sp_before_semi_for_empty=add|sp_before_semi_for_empty=remove|sp_before_semi_for_empty=force|sp_before_semi_for_empty=not_defined
+ChoicesReadable="Ignore Sp Before Semi For Empty|Add Sp Before Semi For Empty|Remove Sp Before Semi For Empty|Force Sp Before Semi For Empty"
+ValueDefault=ignore
+
+[Sp Between Semi For Empty]
+Category=1
+Description="<html>Add or remove space between the semicolons of an empty middle part of a for<br/>statement, as in 'for ( ; &lt;here&gt; ; )'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_between_semi_for_empty=ignore|sp_between_semi_for_empty=add|sp_between_semi_for_empty=remove|sp_between_semi_for_empty=force|sp_between_semi_for_empty=not_defined
+ChoicesReadable="Ignore Sp Between Semi For Empty|Add Sp Between Semi For Empty|Remove Sp Between Semi For Empty|Force Sp Between Semi For Empty"
+ValueDefault=ignore
+
+[Sp After Semi]
+Category=1
+Description="<html>Add or remove space after ';', except when followed by a comment.<br/><br/>Default: add</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_after_semi=ignore|sp_after_semi=add|sp_after_semi=remove|sp_after_semi=force|sp_after_semi=not_defined
+ChoicesReadable="Ignore Sp After Semi|Add Sp After Semi|Remove Sp After Semi|Force Sp After Semi"
+ValueDefault=add
+
+[Sp After Semi For]
+Category=1
+Description="<html>Add or remove space after ';' in non-empty 'for' statements.<br/><br/>Default: force</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_after_semi_for=ignore|sp_after_semi_for=add|sp_after_semi_for=remove|sp_after_semi_for=force|sp_after_semi_for=not_defined
+ChoicesReadable="Ignore Sp After Semi For|Add Sp After Semi For|Remove Sp After Semi For|Force Sp After Semi For"
+ValueDefault=force
+
+[Sp After Semi For Empty]
+Category=1
+Description="<html>Add or remove space after the final semicolon of an empty part of a for<br/>statement, as in 'for ( ; ; &lt;here&gt; )'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_after_semi_for_empty=ignore|sp_after_semi_for_empty=add|sp_after_semi_for_empty=remove|sp_after_semi_for_empty=force|sp_after_semi_for_empty=not_defined
+ChoicesReadable="Ignore Sp After Semi For Empty|Add Sp After Semi For Empty|Remove Sp After Semi For Empty|Force Sp After Semi For Empty"
+ValueDefault=ignore
+
+[Sp Before Square]
+Category=1
+Description="<html>Add or remove space before '[' (except '[]').</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_before_square=ignore|sp_before_square=add|sp_before_square=remove|sp_before_square=force|sp_before_square=not_defined
+ChoicesReadable="Ignore Sp Before Square|Add Sp Before Square|Remove Sp Before Square|Force Sp Before Square"
+ValueDefault=ignore
+
+[Sp Before Vardef Square]
+Category=1
+Description="<html>Add or remove space before '[' for a variable definition.<br/><br/>Default: remove</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_before_vardef_square=ignore|sp_before_vardef_square=add|sp_before_vardef_square=remove|sp_before_vardef_square=force|sp_before_vardef_square=not_defined
+ChoicesReadable="Ignore Sp Before Vardef Square|Add Sp Before Vardef Square|Remove Sp Before Vardef Square|Force Sp Before Vardef Square"
+ValueDefault=remove
+
+[Sp Before Square Asm Block]
+Category=1
+Description="<html>Add or remove space before '[' for asm block.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_before_square_asm_block=ignore|sp_before_square_asm_block=add|sp_before_square_asm_block=remove|sp_before_square_asm_block=force|sp_before_square_asm_block=not_defined
+ChoicesReadable="Ignore Sp Before Square Asm Block|Add Sp Before Square Asm Block|Remove Sp Before Square Asm Block|Force Sp Before Square Asm Block"
+ValueDefault=ignore
+
+[Sp Before Squares]
+Category=1
+Description="<html>Add or remove space before '[]'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_before_squares=ignore|sp_before_squares=add|sp_before_squares=remove|sp_before_squares=force|sp_before_squares=not_defined
+ChoicesReadable="Ignore Sp Before Squares|Add Sp Before Squares|Remove Sp Before Squares|Force Sp Before Squares"
+ValueDefault=ignore
+
+[Sp Cpp Before Struct Binding]
+Category=1
+Description="<html>Add or remove space before C++17 structured bindings.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_cpp_before_struct_binding=ignore|sp_cpp_before_struct_binding=add|sp_cpp_before_struct_binding=remove|sp_cpp_before_struct_binding=force|sp_cpp_before_struct_binding=not_defined
+ChoicesReadable="Ignore Sp Cpp Before Struct Binding|Add Sp Cpp Before Struct Binding|Remove Sp Cpp Before Struct Binding|Force Sp Cpp Before Struct Binding"
+ValueDefault=ignore
+
+[Sp Inside Square]
+Category=1
+Description="<html>Add or remove space inside a non-empty '[' and ']'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_inside_square=ignore|sp_inside_square=add|sp_inside_square=remove|sp_inside_square=force|sp_inside_square=not_defined
+ChoicesReadable="Ignore Sp Inside Square|Add Sp Inside Square|Remove Sp Inside Square|Force Sp Inside Square"
+ValueDefault=ignore
+
+[Sp Inside Square Empty]
+Category=1
+Description="<html>Add or remove space inside '[]'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_inside_square_empty=ignore|sp_inside_square_empty=add|sp_inside_square_empty=remove|sp_inside_square_empty=force|sp_inside_square_empty=not_defined
+ChoicesReadable="Ignore Sp Inside Square Empty|Add Sp Inside Square Empty|Remove Sp Inside Square Empty|Force Sp Inside Square Empty"
+ValueDefault=ignore
+
+[Sp Inside Square Oc Array]
+Category=1
+Description="<html>(OC) Add or remove space inside a non-empty Objective-C boxed array '@[' and<br/>']'. If set to ignore, sp_inside_square is used.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_inside_square_oc_array=ignore|sp_inside_square_oc_array=add|sp_inside_square_oc_array=remove|sp_inside_square_oc_array=force|sp_inside_square_oc_array=not_defined
+ChoicesReadable="Ignore Sp Inside Square Oc Array|Add Sp Inside Square Oc Array|Remove Sp Inside Square Oc Array|Force Sp Inside Square Oc Array"
+ValueDefault=ignore
+
+[Sp After Comma]
+Category=1
+Description="<html>Add or remove space after ',', i.e. 'a,b' vs. 'a, b'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_after_comma=ignore|sp_after_comma=add|sp_after_comma=remove|sp_after_comma=force|sp_after_comma=not_defined
+ChoicesReadable="Ignore Sp After Comma|Add Sp After Comma|Remove Sp After Comma|Force Sp After Comma"
+ValueDefault=ignore
+
+[Sp Before Comma]
+Category=1
+Description="<html>Add or remove space before ',', i.e. 'a,b' vs. 'a ,b'.<br/><br/>Default: remove</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_before_comma=ignore|sp_before_comma=add|sp_before_comma=remove|sp_before_comma=force|sp_before_comma=not_defined
+ChoicesReadable="Ignore Sp Before Comma|Add Sp Before Comma|Remove Sp Before Comma|Force Sp Before Comma"
+ValueDefault=remove
+
+[Sp After Mdatype Commas]
+Category=1
+Description="<html>(C#) Add or remove space between ',' and ']' in multidimensional array type<br/>like 'int[,,]'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_after_mdatype_commas=ignore|sp_after_mdatype_commas=add|sp_after_mdatype_commas=remove|sp_after_mdatype_commas=force|sp_after_mdatype_commas=not_defined
+ChoicesReadable="Ignore Sp After Mdatype Commas|Add Sp After Mdatype Commas|Remove Sp After Mdatype Commas|Force Sp After Mdatype Commas"
+ValueDefault=ignore
+
+[Sp Before Mdatype Commas]
+Category=1
+Description="<html>(C#) Add or remove space between '[' and ',' in multidimensional array type<br/>like 'int[,,]'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_before_mdatype_commas=ignore|sp_before_mdatype_commas=add|sp_before_mdatype_commas=remove|sp_before_mdatype_commas=force|sp_before_mdatype_commas=not_defined
+ChoicesReadable="Ignore Sp Before Mdatype Commas|Add Sp Before Mdatype Commas|Remove Sp Before Mdatype Commas|Force Sp Before Mdatype Commas"
+ValueDefault=ignore
+
+[Sp Between Mdatype Commas]
+Category=1
+Description="<html>(C#) Add or remove space between ',' in multidimensional array type<br/>like 'int[,,]'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_between_mdatype_commas=ignore|sp_between_mdatype_commas=add|sp_between_mdatype_commas=remove|sp_between_mdatype_commas=force|sp_between_mdatype_commas=not_defined
+ChoicesReadable="Ignore Sp Between Mdatype Commas|Add Sp Between Mdatype Commas|Remove Sp Between Mdatype Commas|Force Sp Between Mdatype Commas"
+ValueDefault=ignore
+
+[Sp Paren Comma]
+Category=1
+Description="<html>Add or remove space between an open parenthesis and comma,<br/>i.e. '(,' vs. '( ,'.<br/><br/>Default: force</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_paren_comma=ignore|sp_paren_comma=add|sp_paren_comma=remove|sp_paren_comma=force|sp_paren_comma=not_defined
+ChoicesReadable="Ignore Sp Paren Comma|Add Sp Paren Comma|Remove Sp Paren Comma|Force Sp Paren Comma"
+ValueDefault=force
+
+[Sp After Ellipsis]
+Category=1
+Description="<html>Add or remove space after the variadic '...' when preceded by a<br/>non-punctuator.<br/>The value REMOVE will be overriden with FORCE</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_after_ellipsis=ignore|sp_after_ellipsis=add|sp_after_ellipsis=remove|sp_after_ellipsis=force|sp_after_ellipsis=not_defined
+ChoicesReadable="Ignore Sp After Ellipsis|Add Sp After Ellipsis|Remove Sp After Ellipsis|Force Sp After Ellipsis"
+ValueDefault=ignore
+
+[Sp Before Ellipsis]
+Category=1
+Description="<html>Add or remove space before the variadic '...' when preceded by a<br/>non-punctuator.<br/>The value REMOVE will be overriden with FORCE</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_before_ellipsis=ignore|sp_before_ellipsis=add|sp_before_ellipsis=remove|sp_before_ellipsis=force|sp_before_ellipsis=not_defined
+ChoicesReadable="Ignore Sp Before Ellipsis|Add Sp Before Ellipsis|Remove Sp Before Ellipsis|Force Sp Before Ellipsis"
+ValueDefault=ignore
+
+[Sp Type Ellipsis]
+Category=1
+Description="<html>Add or remove space between a type and '...'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_type_ellipsis=ignore|sp_type_ellipsis=add|sp_type_ellipsis=remove|sp_type_ellipsis=force|sp_type_ellipsis=not_defined
+ChoicesReadable="Ignore Sp Type Ellipsis|Add Sp Type Ellipsis|Remove Sp Type Ellipsis|Force Sp Type Ellipsis"
+ValueDefault=ignore
+
+[Sp Ptr Type Ellipsis]
+Category=1
+Description="<html>Add or remove space between a '*' and '...'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_ptr_type_ellipsis=ignore|sp_ptr_type_ellipsis=add|sp_ptr_type_ellipsis=remove|sp_ptr_type_ellipsis=force|sp_ptr_type_ellipsis=not_defined
+ChoicesReadable="Ignore Sp Ptr Type Ellipsis|Add Sp Ptr Type Ellipsis|Remove Sp Ptr Type Ellipsis|Force Sp Ptr Type Ellipsis"
+ValueDefault=ignore
+
+[Sp Type Question]
+Category=1
+Description="<html>(D) Add or remove space between a type and '?'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_type_question=ignore|sp_type_question=add|sp_type_question=remove|sp_type_question=force|sp_type_question=not_defined
+ChoicesReadable="Ignore Sp Type Question|Add Sp Type Question|Remove Sp Type Question|Force Sp Type Question"
+ValueDefault=ignore
+
+[Sp Paren Ellipsis]
+Category=1
+Description="<html>Add or remove space between ')' and '...'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_paren_ellipsis=ignore|sp_paren_ellipsis=add|sp_paren_ellipsis=remove|sp_paren_ellipsis=force|sp_paren_ellipsis=not_defined
+ChoicesReadable="Ignore Sp Paren Ellipsis|Add Sp Paren Ellipsis|Remove Sp Paren Ellipsis|Force Sp Paren Ellipsis"
+ValueDefault=ignore
+
+[Sp Byref Ellipsis]
+Category=1
+Description="<html>Add or remove space between '&amp;&amp;' and '...'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_byref_ellipsis=ignore|sp_byref_ellipsis=add|sp_byref_ellipsis=remove|sp_byref_ellipsis=force|sp_byref_ellipsis=not_defined
+ChoicesReadable="Ignore Sp Byref Ellipsis|Add Sp Byref Ellipsis|Remove Sp Byref Ellipsis|Force Sp Byref Ellipsis"
+ValueDefault=ignore
+
+[Sp Paren Qualifier]
+Category=1
+Description="<html>Add or remove space between ')' and a qualifier such as 'const'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_paren_qualifier=ignore|sp_paren_qualifier=add|sp_paren_qualifier=remove|sp_paren_qualifier=force|sp_paren_qualifier=not_defined
+ChoicesReadable="Ignore Sp Paren Qualifier|Add Sp Paren Qualifier|Remove Sp Paren Qualifier|Force Sp Paren Qualifier"
+ValueDefault=ignore
+
+[Sp Paren Noexcept]
+Category=1
+Description="<html>Add or remove space between ')' and 'noexcept'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_paren_noexcept=ignore|sp_paren_noexcept=add|sp_paren_noexcept=remove|sp_paren_noexcept=force|sp_paren_noexcept=not_defined
+ChoicesReadable="Ignore Sp Paren Noexcept|Add Sp Paren Noexcept|Remove Sp Paren Noexcept|Force Sp Paren Noexcept"
+ValueDefault=ignore
+
+[Sp After Class Colon]
+Category=1
+Description="<html>Add or remove space after class ':'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_after_class_colon=ignore|sp_after_class_colon=add|sp_after_class_colon=remove|sp_after_class_colon=force|sp_after_class_colon=not_defined
+ChoicesReadable="Ignore Sp After Class Colon|Add Sp After Class Colon|Remove Sp After Class Colon|Force Sp After Class Colon"
+ValueDefault=ignore
+
+[Sp Before Class Colon]
+Category=1
+Description="<html>Add or remove space before class ':'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_before_class_colon=ignore|sp_before_class_colon=add|sp_before_class_colon=remove|sp_before_class_colon=force|sp_before_class_colon=not_defined
+ChoicesReadable="Ignore Sp Before Class Colon|Add Sp Before Class Colon|Remove Sp Before Class Colon|Force Sp Before Class Colon"
+ValueDefault=ignore
+
+[Sp After Constr Colon]
+Category=1
+Description="<html>Add or remove space after class constructor ':'.<br/><br/>Default: add</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_after_constr_colon=ignore|sp_after_constr_colon=add|sp_after_constr_colon=remove|sp_after_constr_colon=force|sp_after_constr_colon=not_defined
+ChoicesReadable="Ignore Sp After Constr Colon|Add Sp After Constr Colon|Remove Sp After Constr Colon|Force Sp After Constr Colon"
+ValueDefault=add
+
+[Sp Before Constr Colon]
+Category=1
+Description="<html>Add or remove space before class constructor ':'.<br/><br/>Default: add</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_before_constr_colon=ignore|sp_before_constr_colon=add|sp_before_constr_colon=remove|sp_before_constr_colon=force|sp_before_constr_colon=not_defined
+ChoicesReadable="Ignore Sp Before Constr Colon|Add Sp Before Constr Colon|Remove Sp Before Constr Colon|Force Sp Before Constr Colon"
+ValueDefault=add
+
+[Sp Before Case Colon]
+Category=1
+Description="<html>Add or remove space before case ':'.<br/><br/>Default: remove</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_before_case_colon=ignore|sp_before_case_colon=add|sp_before_case_colon=remove|sp_before_case_colon=force|sp_before_case_colon=not_defined
+ChoicesReadable="Ignore Sp Before Case Colon|Add Sp Before Case Colon|Remove Sp Before Case Colon|Force Sp Before Case Colon"
+ValueDefault=remove
+
+[Sp After Operator]
+Category=1
+Description="<html>Add or remove space between 'operator' and operator sign.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_after_operator=ignore|sp_after_operator=add|sp_after_operator=remove|sp_after_operator=force|sp_after_operator=not_defined
+ChoicesReadable="Ignore Sp After Operator|Add Sp After Operator|Remove Sp After Operator|Force Sp After Operator"
+ValueDefault=ignore
+
+[Sp After Operator Sym]
+Category=1
+Description="<html>Add or remove space between the operator symbol and the open parenthesis, as<br/>in 'operator ++('.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_after_operator_sym=ignore|sp_after_operator_sym=add|sp_after_operator_sym=remove|sp_after_operator_sym=force|sp_after_operator_sym=not_defined
+ChoicesReadable="Ignore Sp After Operator Sym|Add Sp After Operator Sym|Remove Sp After Operator Sym|Force Sp After Operator Sym"
+ValueDefault=ignore
+
+[Sp After Operator Sym Empty]
+Category=1
+Description="<html>Overrides sp_after_operator_sym when the operator has no arguments, as in<br/>'operator *()'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_after_operator_sym_empty=ignore|sp_after_operator_sym_empty=add|sp_after_operator_sym_empty=remove|sp_after_operator_sym_empty=force|sp_after_operator_sym_empty=not_defined
+ChoicesReadable="Ignore Sp After Operator Sym Empty|Add Sp After Operator Sym Empty|Remove Sp After Operator Sym Empty|Force Sp After Operator Sym Empty"
+ValueDefault=ignore
+
+[Sp After Cast]
+Category=1
+Description="<html>Add or remove space after C/D cast, i.e. 'cast(int)a' vs. 'cast(int) a' or<br/>'(int)a' vs. '(int) a'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_after_cast=ignore|sp_after_cast=add|sp_after_cast=remove|sp_after_cast=force|sp_after_cast=not_defined
+ChoicesReadable="Ignore Sp After Cast|Add Sp After Cast|Remove Sp After Cast|Force Sp After Cast"
+ValueDefault=ignore
+
+[Sp Inside Paren Cast]
+Category=1
+Description="<html>Add or remove spaces inside cast parentheses.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_inside_paren_cast=ignore|sp_inside_paren_cast=add|sp_inside_paren_cast=remove|sp_inside_paren_cast=force|sp_inside_paren_cast=not_defined
+ChoicesReadable="Ignore Sp Inside Paren Cast|Add Sp Inside Paren Cast|Remove Sp Inside Paren Cast|Force Sp Inside Paren Cast"
+ValueDefault=ignore
+
+[Sp Cpp Cast Paren]
+Category=1
+Description="<html>Add or remove space between the type and open parenthesis in a C++ cast,<br/>i.e. 'int(exp)' vs. 'int (exp)'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_cpp_cast_paren=ignore|sp_cpp_cast_paren=add|sp_cpp_cast_paren=remove|sp_cpp_cast_paren=force|sp_cpp_cast_paren=not_defined
+ChoicesReadable="Ignore Sp Cpp Cast Paren|Add Sp Cpp Cast Paren|Remove Sp Cpp Cast Paren|Force Sp Cpp Cast Paren"
+ValueDefault=ignore
+
+[Sp Sizeof Paren]
+Category=1
+Description="<html>Add or remove space between 'sizeof' and '('.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_sizeof_paren=ignore|sp_sizeof_paren=add|sp_sizeof_paren=remove|sp_sizeof_paren=force|sp_sizeof_paren=not_defined
+ChoicesReadable="Ignore Sp Sizeof Paren|Add Sp Sizeof Paren|Remove Sp Sizeof Paren|Force Sp Sizeof Paren"
+ValueDefault=ignore
+
+[Sp Sizeof Ellipsis]
+Category=1
+Description="<html>Add or remove space between 'sizeof' and '...'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_sizeof_ellipsis=ignore|sp_sizeof_ellipsis=add|sp_sizeof_ellipsis=remove|sp_sizeof_ellipsis=force|sp_sizeof_ellipsis=not_defined
+ChoicesReadable="Ignore Sp Sizeof Ellipsis|Add Sp Sizeof Ellipsis|Remove Sp Sizeof Ellipsis|Force Sp Sizeof Ellipsis"
+ValueDefault=ignore
+
+[Sp Sizeof Ellipsis Paren]
+Category=1
+Description="<html>Add or remove space between 'sizeof...' and '('.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_sizeof_ellipsis_paren=ignore|sp_sizeof_ellipsis_paren=add|sp_sizeof_ellipsis_paren=remove|sp_sizeof_ellipsis_paren=force|sp_sizeof_ellipsis_paren=not_defined
+ChoicesReadable="Ignore Sp Sizeof Ellipsis Paren|Add Sp Sizeof Ellipsis Paren|Remove Sp Sizeof Ellipsis Paren|Force Sp Sizeof Ellipsis Paren"
+ValueDefault=ignore
+
+[Sp Ellipsis Parameter Pack]
+Category=1
+Description="<html>Add or remove space between '...' and a parameter pack.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_ellipsis_parameter_pack=ignore|sp_ellipsis_parameter_pack=add|sp_ellipsis_parameter_pack=remove|sp_ellipsis_parameter_pack=force|sp_ellipsis_parameter_pack=not_defined
+ChoicesReadable="Ignore Sp Ellipsis Parameter Pack|Add Sp Ellipsis Parameter Pack|Remove Sp Ellipsis Parameter Pack|Force Sp Ellipsis Parameter Pack"
+ValueDefault=ignore
+
+[Sp Parameter Pack Ellipsis]
+Category=1
+Description="<html>Add or remove space between a parameter pack and '...'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_parameter_pack_ellipsis=ignore|sp_parameter_pack_ellipsis=add|sp_parameter_pack_ellipsis=remove|sp_parameter_pack_ellipsis=force|sp_parameter_pack_ellipsis=not_defined
+ChoicesReadable="Ignore Sp Parameter Pack Ellipsis|Add Sp Parameter Pack Ellipsis|Remove Sp Parameter Pack Ellipsis|Force Sp Parameter Pack Ellipsis"
+ValueDefault=ignore
+
+[Sp Decltype Paren]
+Category=1
+Description="<html>Add or remove space between 'decltype' and '('.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_decltype_paren=ignore|sp_decltype_paren=add|sp_decltype_paren=remove|sp_decltype_paren=force|sp_decltype_paren=not_defined
+ChoicesReadable="Ignore Sp Decltype Paren|Add Sp Decltype Paren|Remove Sp Decltype Paren|Force Sp Decltype Paren"
+ValueDefault=ignore
+
+[Sp After Tag]
+Category=1
+Description="<html>(Pawn) Add or remove space after the tag keyword.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_after_tag=ignore|sp_after_tag=add|sp_after_tag=remove|sp_after_tag=force|sp_after_tag=not_defined
+ChoicesReadable="Ignore Sp After Tag|Add Sp After Tag|Remove Sp After Tag|Force Sp After Tag"
+ValueDefault=ignore
+
+[Sp Inside Braces Enum]
+Category=1
+Description="<html>Add or remove space inside enum '{' and '}'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_inside_braces_enum=ignore|sp_inside_braces_enum=add|sp_inside_braces_enum=remove|sp_inside_braces_enum=force|sp_inside_braces_enum=not_defined
+ChoicesReadable="Ignore Sp Inside Braces Enum|Add Sp Inside Braces Enum|Remove Sp Inside Braces Enum|Force Sp Inside Braces Enum"
+ValueDefault=ignore
+
+[Sp Inside Braces Struct]
+Category=1
+Description="<html>Add or remove space inside struct/union '{' and '}'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_inside_braces_struct=ignore|sp_inside_braces_struct=add|sp_inside_braces_struct=remove|sp_inside_braces_struct=force|sp_inside_braces_struct=not_defined
+ChoicesReadable="Ignore Sp Inside Braces Struct|Add Sp Inside Braces Struct|Remove Sp Inside Braces Struct|Force Sp Inside Braces Struct"
+ValueDefault=ignore
+
+[Sp Inside Braces Oc Dict]
+Category=1
+Description="<html>(OC) Add or remove space inside Objective-C boxed dictionary '{' and '}'</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_inside_braces_oc_dict=ignore|sp_inside_braces_oc_dict=add|sp_inside_braces_oc_dict=remove|sp_inside_braces_oc_dict=force|sp_inside_braces_oc_dict=not_defined
+ChoicesReadable="Ignore Sp Inside Braces Oc Dict|Add Sp Inside Braces Oc Dict|Remove Sp Inside Braces Oc Dict|Force Sp Inside Braces Oc Dict"
+ValueDefault=ignore
+
+[Sp After Type Brace Init Lst Open]
+Category=1
+Description="<html>Add or remove space after open brace in an unnamed temporary<br/>direct-list-initialization<br/>if statement is a brace_init_lst<br/>works only if sp_brace_brace is set to ignore.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_after_type_brace_init_lst_open=ignore|sp_after_type_brace_init_lst_open=add|sp_after_type_brace_init_lst_open=remove|sp_after_type_brace_init_lst_open=force|sp_after_type_brace_init_lst_open=not_defined
+ChoicesReadable="Ignore Sp After Type Brace Init Lst Open|Add Sp After Type Brace Init Lst Open|Remove Sp After Type Brace Init Lst Open|Force Sp After Type Brace Init Lst Open"
+ValueDefault=ignore
+
+[Sp Before Type Brace Init Lst Close]
+Category=1
+Description="<html>Add or remove space before close brace in an unnamed temporary<br/>direct-list-initialization<br/>if statement is a brace_init_lst<br/>works only if sp_brace_brace is set to ignore.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_before_type_brace_init_lst_close=ignore|sp_before_type_brace_init_lst_close=add|sp_before_type_brace_init_lst_close=remove|sp_before_type_brace_init_lst_close=force|sp_before_type_brace_init_lst_close=not_defined
+ChoicesReadable="Ignore Sp Before Type Brace Init Lst Close|Add Sp Before Type Brace Init Lst Close|Remove Sp Before Type Brace Init Lst Close|Force Sp Before Type Brace Init Lst Close"
+ValueDefault=ignore
+
+[Sp Inside Type Brace Init Lst]
+Category=1
+Description="<html>Add or remove space inside an unnamed temporary direct-list-initialization<br/>if statement is a brace_init_lst<br/>works only if sp_brace_brace is set to ignore<br/>works only if sp_before_type_brace_init_lst_close is set to ignore.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_inside_type_brace_init_lst=ignore|sp_inside_type_brace_init_lst=add|sp_inside_type_brace_init_lst=remove|sp_inside_type_brace_init_lst=force|sp_inside_type_brace_init_lst=not_defined
+ChoicesReadable="Ignore Sp Inside Type Brace Init Lst|Add Sp Inside Type Brace Init Lst|Remove Sp Inside Type Brace Init Lst|Force Sp Inside Type Brace Init Lst"
+ValueDefault=ignore
+
+[Sp Inside Braces]
+Category=1
+Description="<html>Add or remove space inside '{' and '}'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_inside_braces=ignore|sp_inside_braces=add|sp_inside_braces=remove|sp_inside_braces=force|sp_inside_braces=not_defined
+ChoicesReadable="Ignore Sp Inside Braces|Add Sp Inside Braces|Remove Sp Inside Braces|Force Sp Inside Braces"
+ValueDefault=ignore
+
+[Sp Inside Braces Empty]
+Category=1
+Description="<html>Add or remove space inside '{}'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_inside_braces_empty=ignore|sp_inside_braces_empty=add|sp_inside_braces_empty=remove|sp_inside_braces_empty=force|sp_inside_braces_empty=not_defined
+ChoicesReadable="Ignore Sp Inside Braces Empty|Add Sp Inside Braces Empty|Remove Sp Inside Braces Empty|Force Sp Inside Braces Empty"
+ValueDefault=ignore
+
+[Sp Trailing Return]
+Category=1
+Description="<html>Add or remove space around trailing return operator '-&gt;'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_trailing_return=ignore|sp_trailing_return=add|sp_trailing_return=remove|sp_trailing_return=force|sp_trailing_return=not_defined
+ChoicesReadable="Ignore Sp Trailing Return|Add Sp Trailing Return|Remove Sp Trailing Return|Force Sp Trailing Return"
+ValueDefault=ignore
+
+[Sp Type Func]
+Category=1
+Description="<html>Add or remove space between return type and function name. A minimum of 1<br/>is forced except for pointer return types.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_type_func=ignore|sp_type_func=add|sp_type_func=remove|sp_type_func=force|sp_type_func=not_defined
+ChoicesReadable="Ignore Sp Type Func|Add Sp Type Func|Remove Sp Type Func|Force Sp Type Func"
+ValueDefault=ignore
+
+[Sp Type Brace Init Lst]
+Category=1
+Description="<html>Add or remove space between type and open brace of an unnamed temporary<br/>direct-list-initialization.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_type_brace_init_lst=ignore|sp_type_brace_init_lst=add|sp_type_brace_init_lst=remove|sp_type_brace_init_lst=force|sp_type_brace_init_lst=not_defined
+ChoicesReadable="Ignore Sp Type Brace Init Lst|Add Sp Type Brace Init Lst|Remove Sp Type Brace Init Lst|Force Sp Type Brace Init Lst"
+ValueDefault=ignore
+
+[Sp Func Proto Paren]
+Category=1
+Description="<html>Add or remove space between function name and '(' on function declaration.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_func_proto_paren=ignore|sp_func_proto_paren=add|sp_func_proto_paren=remove|sp_func_proto_paren=force|sp_func_proto_paren=not_defined
+ChoicesReadable="Ignore Sp Func Proto Paren|Add Sp Func Proto Paren|Remove Sp Func Proto Paren|Force Sp Func Proto Paren"
+ValueDefault=ignore
+
+[Sp Func Proto Paren Empty]
+Category=1
+Description="<html>Add or remove space between function name and '()' on function declaration<br/>without parameters.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_func_proto_paren_empty=ignore|sp_func_proto_paren_empty=add|sp_func_proto_paren_empty=remove|sp_func_proto_paren_empty=force|sp_func_proto_paren_empty=not_defined
+ChoicesReadable="Ignore Sp Func Proto Paren Empty|Add Sp Func Proto Paren Empty|Remove Sp Func Proto Paren Empty|Force Sp Func Proto Paren Empty"
+ValueDefault=ignore
+
+[Sp Func Type Paren]
+Category=1
+Description="<html>Add or remove space between function name and '(' with a typedef specifier.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_func_type_paren=ignore|sp_func_type_paren=add|sp_func_type_paren=remove|sp_func_type_paren=force|sp_func_type_paren=not_defined
+ChoicesReadable="Ignore Sp Func Type Paren|Add Sp Func Type Paren|Remove Sp Func Type Paren|Force Sp Func Type Paren"
+ValueDefault=ignore
+
+[Sp Func Def Paren]
+Category=1
+Description="<html>Add or remove space between alias name and '(' of a non-pointer function type typedef.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_func_def_paren=ignore|sp_func_def_paren=add|sp_func_def_paren=remove|sp_func_def_paren=force|sp_func_def_paren=not_defined
+ChoicesReadable="Ignore Sp Func Def Paren|Add Sp Func Def Paren|Remove Sp Func Def Paren|Force Sp Func Def Paren"
+ValueDefault=ignore
+
+[Sp Func Def Paren Empty]
+Category=1
+Description="<html>Add or remove space between function name and '()' on function definition<br/>without parameters.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_func_def_paren_empty=ignore|sp_func_def_paren_empty=add|sp_func_def_paren_empty=remove|sp_func_def_paren_empty=force|sp_func_def_paren_empty=not_defined
+ChoicesReadable="Ignore Sp Func Def Paren Empty|Add Sp Func Def Paren Empty|Remove Sp Func Def Paren Empty|Force Sp Func Def Paren Empty"
+ValueDefault=ignore
+
+[Sp Inside Fparens]
+Category=1
+Description="<html>Add or remove space inside empty function '()'.<br/>Overrides sp_after_angle unless use_sp_after_angle_always is set to true.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_inside_fparens=ignore|sp_inside_fparens=add|sp_inside_fparens=remove|sp_inside_fparens=force|sp_inside_fparens=not_defined
+ChoicesReadable="Ignore Sp Inside Fparens|Add Sp Inside Fparens|Remove Sp Inside Fparens|Force Sp Inside Fparens"
+ValueDefault=ignore
+
+[Sp Inside Fparen]
+Category=1
+Description="<html>Add or remove space inside function '(' and ')'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_inside_fparen=ignore|sp_inside_fparen=add|sp_inside_fparen=remove|sp_inside_fparen=force|sp_inside_fparen=not_defined
+ChoicesReadable="Ignore Sp Inside Fparen|Add Sp Inside Fparen|Remove Sp Inside Fparen|Force Sp Inside Fparen"
+ValueDefault=ignore
+
+[Sp Inside Tparen]
+Category=1
+Description="<html>Add or remove space inside the first parentheses in a function type, as in<br/>'void (*x)(...)'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_inside_tparen=ignore|sp_inside_tparen=add|sp_inside_tparen=remove|sp_inside_tparen=force|sp_inside_tparen=not_defined
+ChoicesReadable="Ignore Sp Inside Tparen|Add Sp Inside Tparen|Remove Sp Inside Tparen|Force Sp Inside Tparen"
+ValueDefault=ignore
+
+[Sp After Tparen Close]
+Category=1
+Description="<html>Add or remove space between the ')' and '(' in a function type, as in<br/>'void (*x)(...)'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_after_tparen_close=ignore|sp_after_tparen_close=add|sp_after_tparen_close=remove|sp_after_tparen_close=force|sp_after_tparen_close=not_defined
+ChoicesReadable="Ignore Sp After Tparen Close|Add Sp After Tparen Close|Remove Sp After Tparen Close|Force Sp After Tparen Close"
+ValueDefault=ignore
+
+[Sp Square Fparen]
+Category=1
+Description="<html>Add or remove space between ']' and '(' when part of a function call.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_square_fparen=ignore|sp_square_fparen=add|sp_square_fparen=remove|sp_square_fparen=force|sp_square_fparen=not_defined
+ChoicesReadable="Ignore Sp Square Fparen|Add Sp Square Fparen|Remove Sp Square Fparen|Force Sp Square Fparen"
+ValueDefault=ignore
+
+[Sp Fparen Brace]
+Category=1
+Description="<html>Add or remove space between ')' and '{' of function.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_fparen_brace=ignore|sp_fparen_brace=add|sp_fparen_brace=remove|sp_fparen_brace=force|sp_fparen_brace=not_defined
+ChoicesReadable="Ignore Sp Fparen Brace|Add Sp Fparen Brace|Remove Sp Fparen Brace|Force Sp Fparen Brace"
+ValueDefault=ignore
+
+[Sp Fparen Brace Initializer]
+Category=1
+Description="<html>Add or remove space between ')' and '{' of a function call in object<br/>initialization.<br/><br/>Overrides sp_fparen_brace.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_fparen_brace_initializer=ignore|sp_fparen_brace_initializer=add|sp_fparen_brace_initializer=remove|sp_fparen_brace_initializer=force|sp_fparen_brace_initializer=not_defined
+ChoicesReadable="Ignore Sp Fparen Brace Initializer|Add Sp Fparen Brace Initializer|Remove Sp Fparen Brace Initializer|Force Sp Fparen Brace Initializer"
+ValueDefault=ignore
+
+[Sp Fparen Dbrace]
+Category=1
+Description="<html>(Java) Add or remove space between ')' and '{{' of double brace initializer.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_fparen_dbrace=ignore|sp_fparen_dbrace=add|sp_fparen_dbrace=remove|sp_fparen_dbrace=force|sp_fparen_dbrace=not_defined
+ChoicesReadable="Ignore Sp Fparen Dbrace|Add Sp Fparen Dbrace|Remove Sp Fparen Dbrace|Force Sp Fparen Dbrace"
+ValueDefault=ignore
+
+[Sp Func Call Paren]
+Category=1
+Description="<html>Add or remove space between function name and '(' on function calls.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_func_call_paren=ignore|sp_func_call_paren=add|sp_func_call_paren=remove|sp_func_call_paren=force|sp_func_call_paren=not_defined
+ChoicesReadable="Ignore Sp Func Call Paren|Add Sp Func Call Paren|Remove Sp Func Call Paren|Force Sp Func Call Paren"
+ValueDefault=ignore
+
+[Sp Func Call Paren Empty]
+Category=1
+Description="<html>Add or remove space between function name and '()' on function calls without<br/>parameters. If set to ignore (the default), sp_func_call_paren is used.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_func_call_paren_empty=ignore|sp_func_call_paren_empty=add|sp_func_call_paren_empty=remove|sp_func_call_paren_empty=force|sp_func_call_paren_empty=not_defined
+ChoicesReadable="Ignore Sp Func Call Paren Empty|Add Sp Func Call Paren Empty|Remove Sp Func Call Paren Empty|Force Sp Func Call Paren Empty"
+ValueDefault=ignore
+
+[Sp Func Call User Paren]
+Category=1
+Description="<html>Add or remove space between the user function name and '(' on function<br/>calls. You need to set a keyword to be a user function in the config file,<br/>like:<br/> set func_call_user tr _ i18n</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_func_call_user_paren=ignore|sp_func_call_user_paren=add|sp_func_call_user_paren=remove|sp_func_call_user_paren=force|sp_func_call_user_paren=not_defined
+ChoicesReadable="Ignore Sp Func Call User Paren|Add Sp Func Call User Paren|Remove Sp Func Call User Paren|Force Sp Func Call User Paren"
+ValueDefault=ignore
+
+[Sp Func Call User Inside Fparen]
+Category=1
+Description="<html>Add or remove space inside user function '(' and ')'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_func_call_user_inside_fparen=ignore|sp_func_call_user_inside_fparen=add|sp_func_call_user_inside_fparen=remove|sp_func_call_user_inside_fparen=force|sp_func_call_user_inside_fparen=not_defined
+ChoicesReadable="Ignore Sp Func Call User Inside Fparen|Add Sp Func Call User Inside Fparen|Remove Sp Func Call User Inside Fparen|Force Sp Func Call User Inside Fparen"
+ValueDefault=ignore
+
+[Sp Func Call User Paren Paren]
+Category=1
+Description="<html>Add or remove space between nested parentheses with user functions,<br/>i.e. '((' vs. '( ('.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_func_call_user_paren_paren=ignore|sp_func_call_user_paren_paren=add|sp_func_call_user_paren_paren=remove|sp_func_call_user_paren_paren=force|sp_func_call_user_paren_paren=not_defined
+ChoicesReadable="Ignore Sp Func Call User Paren Paren|Add Sp Func Call User Paren Paren|Remove Sp Func Call User Paren Paren|Force Sp Func Call User Paren Paren"
+ValueDefault=ignore
+
+[Sp Func Class Paren]
+Category=1
+Description="<html>Add or remove space between a constructor/destructor and the open<br/>parenthesis.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_func_class_paren=ignore|sp_func_class_paren=add|sp_func_class_paren=remove|sp_func_class_paren=force|sp_func_class_paren=not_defined
+ChoicesReadable="Ignore Sp Func Class Paren|Add Sp Func Class Paren|Remove Sp Func Class Paren|Force Sp Func Class Paren"
+ValueDefault=ignore
+
+[Sp Func Class Paren Empty]
+Category=1
+Description="<html>Add or remove space between a constructor without parameters or destructor<br/>and '()'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_func_class_paren_empty=ignore|sp_func_class_paren_empty=add|sp_func_class_paren_empty=remove|sp_func_class_paren_empty=force|sp_func_class_paren_empty=not_defined
+ChoicesReadable="Ignore Sp Func Class Paren Empty|Add Sp Func Class Paren Empty|Remove Sp Func Class Paren Empty|Force Sp Func Class Paren Empty"
+ValueDefault=ignore
+
+[Sp Return]
+Category=1
+Description="<html>Add or remove space after 'return'.<br/><br/>Default: force</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_return=ignore|sp_return=add|sp_return=remove|sp_return=force|sp_return=not_defined
+ChoicesReadable="Ignore Sp Return|Add Sp Return|Remove Sp Return|Force Sp Return"
+ValueDefault=force
+
+[Sp Return Paren]
+Category=1
+Description="<html>Add or remove space between 'return' and '('.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_return_paren=ignore|sp_return_paren=add|sp_return_paren=remove|sp_return_paren=force|sp_return_paren=not_defined
+ChoicesReadable="Ignore Sp Return Paren|Add Sp Return Paren|Remove Sp Return Paren|Force Sp Return Paren"
+ValueDefault=ignore
+
+[Sp Return Brace]
+Category=1
+Description="<html>Add or remove space between 'return' and '{'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_return_brace=ignore|sp_return_brace=add|sp_return_brace=remove|sp_return_brace=force|sp_return_brace=not_defined
+ChoicesReadable="Ignore Sp Return Brace|Add Sp Return Brace|Remove Sp Return Brace|Force Sp Return Brace"
+ValueDefault=ignore
+
+[Sp Attribute Paren]
+Category=1
+Description="<html>Add or remove space between '__attribute__' and '('.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_attribute_paren=ignore|sp_attribute_paren=add|sp_attribute_paren=remove|sp_attribute_paren=force|sp_attribute_paren=not_defined
+ChoicesReadable="Ignore Sp Attribute Paren|Add Sp Attribute Paren|Remove Sp Attribute Paren|Force Sp Attribute Paren"
+ValueDefault=ignore
+
+[Sp Defined Paren]
+Category=1
+Description="<html>Add or remove space between 'defined' and '(' in '#if defined (FOO)'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_defined_paren=ignore|sp_defined_paren=add|sp_defined_paren=remove|sp_defined_paren=force|sp_defined_paren=not_defined
+ChoicesReadable="Ignore Sp Defined Paren|Add Sp Defined Paren|Remove Sp Defined Paren|Force Sp Defined Paren"
+ValueDefault=ignore
+
+[Sp Throw Paren]
+Category=1
+Description="<html>Add or remove space between 'throw' and '(' in 'throw (something)'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_throw_paren=ignore|sp_throw_paren=add|sp_throw_paren=remove|sp_throw_paren=force|sp_throw_paren=not_defined
+ChoicesReadable="Ignore Sp Throw Paren|Add Sp Throw Paren|Remove Sp Throw Paren|Force Sp Throw Paren"
+ValueDefault=ignore
+
+[Sp After Throw]
+Category=1
+Description="<html>Add or remove space between 'throw' and anything other than '(' as in<br/>'@throw [...];'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_after_throw=ignore|sp_after_throw=add|sp_after_throw=remove|sp_after_throw=force|sp_after_throw=not_defined
+ChoicesReadable="Ignore Sp After Throw|Add Sp After Throw|Remove Sp After Throw|Force Sp After Throw"
+ValueDefault=ignore
+
+[Sp Catch Paren]
+Category=1
+Description="<html>Add or remove space between 'catch' and '(' in 'catch (something) { }'.<br/>If set to ignore, sp_before_sparen is used.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_catch_paren=ignore|sp_catch_paren=add|sp_catch_paren=remove|sp_catch_paren=force|sp_catch_paren=not_defined
+ChoicesReadable="Ignore Sp Catch Paren|Add Sp Catch Paren|Remove Sp Catch Paren|Force Sp Catch Paren"
+ValueDefault=ignore
+
+[Sp Oc Catch Paren]
+Category=1
+Description="<html>(OC) Add or remove space between '@catch' and '('<br/>in '@catch (something) { }'. If set to ignore, sp_catch_paren is used.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_oc_catch_paren=ignore|sp_oc_catch_paren=add|sp_oc_catch_paren=remove|sp_oc_catch_paren=force|sp_oc_catch_paren=not_defined
+ChoicesReadable="Ignore Sp Oc Catch Paren|Add Sp Oc Catch Paren|Remove Sp Oc Catch Paren|Force Sp Oc Catch Paren"
+ValueDefault=ignore
+
+[Sp Before Oc Proto List]
+Category=1
+Description="<html>(OC) Add or remove space before Objective-C protocol list<br/>as in '@protocol Protocol&lt;here&gt;&lt;Protocol_A&gt;' or '@interface MyClass : NSObject&lt;here&gt;&lt;MyProtocol&gt;'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_before_oc_proto_list=ignore|sp_before_oc_proto_list=add|sp_before_oc_proto_list=remove|sp_before_oc_proto_list=force|sp_before_oc_proto_list=not_defined
+ChoicesReadable="Ignore Sp Before Oc Proto List|Add Sp Before Oc Proto List|Remove Sp Before Oc Proto List|Force Sp Before Oc Proto List"
+ValueDefault=ignore
+
+[Sp Oc Classname Paren]
+Category=1
+Description="<html>(OC) Add or remove space between class name and '('<br/>in '@interface className(categoryName)&lt;ProtocolName&gt;:BaseClass'</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_oc_classname_paren=ignore|sp_oc_classname_paren=add|sp_oc_classname_paren=remove|sp_oc_classname_paren=force|sp_oc_classname_paren=not_defined
+ChoicesReadable="Ignore Sp Oc Classname Paren|Add Sp Oc Classname Paren|Remove Sp Oc Classname Paren|Force Sp Oc Classname Paren"
+ValueDefault=ignore
+
+[Sp Version Paren]
+Category=1
+Description="<html>(D) Add or remove space between 'version' and '('<br/>in 'version (something) { }'. If set to ignore, sp_before_sparen is used.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_version_paren=ignore|sp_version_paren=add|sp_version_paren=remove|sp_version_paren=force|sp_version_paren=not_defined
+ChoicesReadable="Ignore Sp Version Paren|Add Sp Version Paren|Remove Sp Version Paren|Force Sp Version Paren"
+ValueDefault=ignore
+
+[Sp Scope Paren]
+Category=1
+Description="<html>(D) Add or remove space between 'scope' and '('<br/>in 'scope (something) { }'. If set to ignore, sp_before_sparen is used.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_scope_paren=ignore|sp_scope_paren=add|sp_scope_paren=remove|sp_scope_paren=force|sp_scope_paren=not_defined
+ChoicesReadable="Ignore Sp Scope Paren|Add Sp Scope Paren|Remove Sp Scope Paren|Force Sp Scope Paren"
+ValueDefault=ignore
+
+[Sp Super Paren]
+Category=1
+Description="<html>Add or remove space between 'super' and '(' in 'super (something)'.<br/><br/>Default: remove</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_super_paren=ignore|sp_super_paren=add|sp_super_paren=remove|sp_super_paren=force|sp_super_paren=not_defined
+ChoicesReadable="Ignore Sp Super Paren|Add Sp Super Paren|Remove Sp Super Paren|Force Sp Super Paren"
+ValueDefault=remove
+
+[Sp This Paren]
+Category=1
+Description="<html>Add or remove space between 'this' and '(' in 'this (something)'.<br/><br/>Default: remove</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_this_paren=ignore|sp_this_paren=add|sp_this_paren=remove|sp_this_paren=force|sp_this_paren=not_defined
+ChoicesReadable="Ignore Sp This Paren|Add Sp This Paren|Remove Sp This Paren|Force Sp This Paren"
+ValueDefault=remove
+
+[Sp Macro]
+Category=1
+Description="<html>Add or remove space between a macro name and its definition.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_macro=ignore|sp_macro=add|sp_macro=remove|sp_macro=force|sp_macro=not_defined
+ChoicesReadable="Ignore Sp Macro|Add Sp Macro|Remove Sp Macro|Force Sp Macro"
+ValueDefault=ignore
+
+[Sp Macro Func]
+Category=1
+Description="<html>Add or remove space between a macro function ')' and its definition.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_macro_func=ignore|sp_macro_func=add|sp_macro_func=remove|sp_macro_func=force|sp_macro_func=not_defined
+ChoicesReadable="Ignore Sp Macro Func|Add Sp Macro Func|Remove Sp Macro Func|Force Sp Macro Func"
+ValueDefault=ignore
+
+[Sp Else Brace]
+Category=1
+Description="<html>Add or remove space between 'else' and '{' if on the same line.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_else_brace=ignore|sp_else_brace=add|sp_else_brace=remove|sp_else_brace=force|sp_else_brace=not_defined
+ChoicesReadable="Ignore Sp Else Brace|Add Sp Else Brace|Remove Sp Else Brace|Force Sp Else Brace"
+ValueDefault=ignore
+
+[Sp Brace Else]
+Category=1
+Description="<html>Add or remove space between '}' and 'else' if on the same line.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_brace_else=ignore|sp_brace_else=add|sp_brace_else=remove|sp_brace_else=force|sp_brace_else=not_defined
+ChoicesReadable="Ignore Sp Brace Else|Add Sp Brace Else|Remove Sp Brace Else|Force Sp Brace Else"
+ValueDefault=ignore
+
+[Sp Brace Typedef]
+Category=1
+Description="<html>Add or remove space between '}' and the name of a typedef on the same line.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_brace_typedef=ignore|sp_brace_typedef=add|sp_brace_typedef=remove|sp_brace_typedef=force|sp_brace_typedef=not_defined
+ChoicesReadable="Ignore Sp Brace Typedef|Add Sp Brace Typedef|Remove Sp Brace Typedef|Force Sp Brace Typedef"
+ValueDefault=ignore
+
+[Sp Catch Brace]
+Category=1
+Description="<html>Add or remove space before the '{' of a 'catch' statement, if the '{' and<br/>'catch' are on the same line, as in 'catch (decl) &lt;here&gt; {'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_catch_brace=ignore|sp_catch_brace=add|sp_catch_brace=remove|sp_catch_brace=force|sp_catch_brace=not_defined
+ChoicesReadable="Ignore Sp Catch Brace|Add Sp Catch Brace|Remove Sp Catch Brace|Force Sp Catch Brace"
+ValueDefault=ignore
+
+[Sp Oc Catch Brace]
+Category=1
+Description="<html>(OC) Add or remove space before the '{' of a '@catch' statement, if the '{'<br/>and '@catch' are on the same line, as in '@catch (decl) &lt;here&gt; {'.<br/>If set to ignore, sp_catch_brace is used.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_oc_catch_brace=ignore|sp_oc_catch_brace=add|sp_oc_catch_brace=remove|sp_oc_catch_brace=force|sp_oc_catch_brace=not_defined
+ChoicesReadable="Ignore Sp Oc Catch Brace|Add Sp Oc Catch Brace|Remove Sp Oc Catch Brace|Force Sp Oc Catch Brace"
+ValueDefault=ignore
+
+[Sp Brace Catch]
+Category=1
+Description="<html>Add or remove space between '}' and 'catch' if on the same line.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_brace_catch=ignore|sp_brace_catch=add|sp_brace_catch=remove|sp_brace_catch=force|sp_brace_catch=not_defined
+ChoicesReadable="Ignore Sp Brace Catch|Add Sp Brace Catch|Remove Sp Brace Catch|Force Sp Brace Catch"
+ValueDefault=ignore
+
+[Sp Oc Brace Catch]
+Category=1
+Description="<html>(OC) Add or remove space between '}' and '@catch' if on the same line.<br/>If set to ignore, sp_brace_catch is used.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_oc_brace_catch=ignore|sp_oc_brace_catch=add|sp_oc_brace_catch=remove|sp_oc_brace_catch=force|sp_oc_brace_catch=not_defined
+ChoicesReadable="Ignore Sp Oc Brace Catch|Add Sp Oc Brace Catch|Remove Sp Oc Brace Catch|Force Sp Oc Brace Catch"
+ValueDefault=ignore
+
+[Sp Finally Brace]
+Category=1
+Description="<html>Add or remove space between 'finally' and '{' if on the same line.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_finally_brace=ignore|sp_finally_brace=add|sp_finally_brace=remove|sp_finally_brace=force|sp_finally_brace=not_defined
+ChoicesReadable="Ignore Sp Finally Brace|Add Sp Finally Brace|Remove Sp Finally Brace|Force Sp Finally Brace"
+ValueDefault=ignore
+
+[Sp Brace Finally]
+Category=1
+Description="<html>Add or remove space between '}' and 'finally' if on the same line.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_brace_finally=ignore|sp_brace_finally=add|sp_brace_finally=remove|sp_brace_finally=force|sp_brace_finally=not_defined
+ChoicesReadable="Ignore Sp Brace Finally|Add Sp Brace Finally|Remove Sp Brace Finally|Force Sp Brace Finally"
+ValueDefault=ignore
+
+[Sp Try Brace]
+Category=1
+Description="<html>Add or remove space between 'try' and '{' if on the same line.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_try_brace=ignore|sp_try_brace=add|sp_try_brace=remove|sp_try_brace=force|sp_try_brace=not_defined
+ChoicesReadable="Ignore Sp Try Brace|Add Sp Try Brace|Remove Sp Try Brace|Force Sp Try Brace"
+ValueDefault=ignore
+
+[Sp Getset Brace]
+Category=1
+Description="<html>Add or remove space between get/set and '{' if on the same line.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_getset_brace=ignore|sp_getset_brace=add|sp_getset_brace=remove|sp_getset_brace=force|sp_getset_brace=not_defined
+ChoicesReadable="Ignore Sp Getset Brace|Add Sp Getset Brace|Remove Sp Getset Brace|Force Sp Getset Brace"
+ValueDefault=ignore
+
+[Sp Word Brace Init Lst]
+Category=1
+Description="<html>Add or remove space between a variable and '{' for C++ uniform<br/>initialization.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_word_brace_init_lst=ignore|sp_word_brace_init_lst=add|sp_word_brace_init_lst=remove|sp_word_brace_init_lst=force|sp_word_brace_init_lst=not_defined
+ChoicesReadable="Ignore Sp Word Brace Init Lst|Add Sp Word Brace Init Lst|Remove Sp Word Brace Init Lst|Force Sp Word Brace Init Lst"
+ValueDefault=ignore
+
+[Sp Word Brace Ns]
+Category=1
+Description="<html>Add or remove space between a variable and '{' for a namespace.<br/><br/>Default: add</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_word_brace_ns=ignore|sp_word_brace_ns=add|sp_word_brace_ns=remove|sp_word_brace_ns=force|sp_word_brace_ns=not_defined
+ChoicesReadable="Ignore Sp Word Brace Ns|Add Sp Word Brace Ns|Remove Sp Word Brace Ns|Force Sp Word Brace Ns"
+ValueDefault=add
+
+[Sp Before Dc]
+Category=1
+Description="<html>Add or remove space before the '::' operator.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_before_dc=ignore|sp_before_dc=add|sp_before_dc=remove|sp_before_dc=force|sp_before_dc=not_defined
+ChoicesReadable="Ignore Sp Before Dc|Add Sp Before Dc|Remove Sp Before Dc|Force Sp Before Dc"
+ValueDefault=ignore
+
+[Sp After Dc]
+Category=1
+Description="<html>Add or remove space after the '::' operator.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_after_dc=ignore|sp_after_dc=add|sp_after_dc=remove|sp_after_dc=force|sp_after_dc=not_defined
+ChoicesReadable="Ignore Sp After Dc|Add Sp After Dc|Remove Sp After Dc|Force Sp After Dc"
+ValueDefault=ignore
+
+[Sp D Array Colon]
+Category=1
+Description="<html>(D) Add or remove around the D named array initializer ':' operator.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_d_array_colon=ignore|sp_d_array_colon=add|sp_d_array_colon=remove|sp_d_array_colon=force|sp_d_array_colon=not_defined
+ChoicesReadable="Ignore Sp D Array Colon|Add Sp D Array Colon|Remove Sp D Array Colon|Force Sp D Array Colon"
+ValueDefault=ignore
+
+[Sp Not]
+Category=1
+Description="<html>Add or remove space after the '!' (not) unary operator.<br/><br/>Default: remove</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_not=ignore|sp_not=add|sp_not=remove|sp_not=force|sp_not=not_defined
+ChoicesReadable="Ignore Sp Not|Add Sp Not|Remove Sp Not|Force Sp Not"
+ValueDefault=remove
+
+[Sp Inv]
+Category=1
+Description="<html>Add or remove space after the '~' (invert) unary operator.<br/><br/>Default: remove</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_inv=ignore|sp_inv=add|sp_inv=remove|sp_inv=force|sp_inv=not_defined
+ChoicesReadable="Ignore Sp Inv|Add Sp Inv|Remove Sp Inv|Force Sp Inv"
+ValueDefault=remove
+
+[Sp Addr]
+Category=1
+Description="<html>Add or remove space after the '&amp;' (address-of) unary operator. This does not<br/>affect the spacing after a '&amp;' that is part of a type.<br/><br/>Default: remove</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_addr=ignore|sp_addr=add|sp_addr=remove|sp_addr=force|sp_addr=not_defined
+ChoicesReadable="Ignore Sp Addr|Add Sp Addr|Remove Sp Addr|Force Sp Addr"
+ValueDefault=remove
+
+[Sp Member]
+Category=1
+Description="<html>Add or remove space around the '.' or '-&gt;' operators.<br/><br/>Default: remove</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_member=ignore|sp_member=add|sp_member=remove|sp_member=force|sp_member=not_defined
+ChoicesReadable="Ignore Sp Member|Add Sp Member|Remove Sp Member|Force Sp Member"
+ValueDefault=remove
+
+[Sp Deref]
+Category=1
+Description="<html>Add or remove space after the '*' (dereference) unary operator. This does<br/>not affect the spacing after a '*' that is part of a type.<br/><br/>Default: remove</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_deref=ignore|sp_deref=add|sp_deref=remove|sp_deref=force|sp_deref=not_defined
+ChoicesReadable="Ignore Sp Deref|Add Sp Deref|Remove Sp Deref|Force Sp Deref"
+ValueDefault=remove
+
+[Sp Sign]
+Category=1
+Description="<html>Add or remove space after '+' or '-', as in 'x = -5' or 'y = +7'.<br/><br/>Default: remove</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_sign=ignore|sp_sign=add|sp_sign=remove|sp_sign=force|sp_sign=not_defined
+ChoicesReadable="Ignore Sp Sign|Add Sp Sign|Remove Sp Sign|Force Sp Sign"
+ValueDefault=remove
+
+[Sp Incdec]
+Category=1
+Description="<html>Add or remove space between '++' and '--' the word to which it is being<br/>applied, as in '(--x)' or 'y++;'.<br/><br/>Default: remove</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_incdec=ignore|sp_incdec=add|sp_incdec=remove|sp_incdec=force|sp_incdec=not_defined
+ChoicesReadable="Ignore Sp Incdec|Add Sp Incdec|Remove Sp Incdec|Force Sp Incdec"
+ValueDefault=remove
+
+[Sp Before Nl Cont]
+Category=1
+Description="<html>Add or remove space before a backslash-newline at the end of a line.<br/><br/>Default: add</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_before_nl_cont=ignore|sp_before_nl_cont=add|sp_before_nl_cont=remove|sp_before_nl_cont=force|sp_before_nl_cont=not_defined
+ChoicesReadable="Ignore Sp Before Nl Cont|Add Sp Before Nl Cont|Remove Sp Before Nl Cont|Force Sp Before Nl Cont"
+ValueDefault=add
+
+[Sp After Oc Scope]
+Category=1
+Description="<html>(OC) Add or remove space after the scope '+' or '-', as in '-(void) foo;'<br/>or '+(int) bar;'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_after_oc_scope=ignore|sp_after_oc_scope=add|sp_after_oc_scope=remove|sp_after_oc_scope=force|sp_after_oc_scope=not_defined
+ChoicesReadable="Ignore Sp After Oc Scope|Add Sp After Oc Scope|Remove Sp After Oc Scope|Force Sp After Oc Scope"
+ValueDefault=ignore
+
+[Sp After Oc Colon]
+Category=1
+Description="<html>(OC) Add or remove space after the colon in message specs,<br/>i.e. '-(int) f:(int) x;' vs. '-(int) f: (int) x;'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_after_oc_colon=ignore|sp_after_oc_colon=add|sp_after_oc_colon=remove|sp_after_oc_colon=force|sp_after_oc_colon=not_defined
+ChoicesReadable="Ignore Sp After Oc Colon|Add Sp After Oc Colon|Remove Sp After Oc Colon|Force Sp After Oc Colon"
+ValueDefault=ignore
+
+[Sp Before Oc Colon]
+Category=1
+Description="<html>(OC) Add or remove space before the colon in message specs,<br/>i.e. '-(int) f: (int) x;' vs. '-(int) f : (int) x;'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_before_oc_colon=ignore|sp_before_oc_colon=add|sp_before_oc_colon=remove|sp_before_oc_colon=force|sp_before_oc_colon=not_defined
+ChoicesReadable="Ignore Sp Before Oc Colon|Add Sp Before Oc Colon|Remove Sp Before Oc Colon|Force Sp Before Oc Colon"
+ValueDefault=ignore
+
+[Sp After Oc Dict Colon]
+Category=1
+Description="<html>(OC) Add or remove space after the colon in immutable dictionary expression<br/>'NSDictionary *test = @{@"foo" :@"bar"};'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_after_oc_dict_colon=ignore|sp_after_oc_dict_colon=add|sp_after_oc_dict_colon=remove|sp_after_oc_dict_colon=force|sp_after_oc_dict_colon=not_defined
+ChoicesReadable="Ignore Sp After Oc Dict Colon|Add Sp After Oc Dict Colon|Remove Sp After Oc Dict Colon|Force Sp After Oc Dict Colon"
+ValueDefault=ignore
+
+[Sp Before Oc Dict Colon]
+Category=1
+Description="<html>(OC) Add or remove space before the colon in immutable dictionary expression<br/>'NSDictionary *test = @{@"foo" :@"bar"};'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_before_oc_dict_colon=ignore|sp_before_oc_dict_colon=add|sp_before_oc_dict_colon=remove|sp_before_oc_dict_colon=force|sp_before_oc_dict_colon=not_defined
+ChoicesReadable="Ignore Sp Before Oc Dict Colon|Add Sp Before Oc Dict Colon|Remove Sp Before Oc Dict Colon|Force Sp Before Oc Dict Colon"
+ValueDefault=ignore
+
+[Sp After Send Oc Colon]
+Category=1
+Description="<html>(OC) Add or remove space after the colon in message specs,<br/>i.e. '[object setValue:1];' vs. '[object setValue: 1];'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_after_send_oc_colon=ignore|sp_after_send_oc_colon=add|sp_after_send_oc_colon=remove|sp_after_send_oc_colon=force|sp_after_send_oc_colon=not_defined
+ChoicesReadable="Ignore Sp After Send Oc Colon|Add Sp After Send Oc Colon|Remove Sp After Send Oc Colon|Force Sp After Send Oc Colon"
+ValueDefault=ignore
+
+[Sp Before Send Oc Colon]
+Category=1
+Description="<html>(OC) Add or remove space before the colon in message specs,<br/>i.e. '[object setValue:1];' vs. '[object setValue :1];'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_before_send_oc_colon=ignore|sp_before_send_oc_colon=add|sp_before_send_oc_colon=remove|sp_before_send_oc_colon=force|sp_before_send_oc_colon=not_defined
+ChoicesReadable="Ignore Sp Before Send Oc Colon|Add Sp Before Send Oc Colon|Remove Sp Before Send Oc Colon|Force Sp Before Send Oc Colon"
+ValueDefault=ignore
+
+[Sp After Oc Type]
+Category=1
+Description="<html>(OC) Add or remove space after the (type) in message specs,<br/>i.e. '-(int)f: (int) x;' vs. '-(int)f: (int)x;'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_after_oc_type=ignore|sp_after_oc_type=add|sp_after_oc_type=remove|sp_after_oc_type=force|sp_after_oc_type=not_defined
+ChoicesReadable="Ignore Sp After Oc Type|Add Sp After Oc Type|Remove Sp After Oc Type|Force Sp After Oc Type"
+ValueDefault=ignore
+
+[Sp After Oc Return Type]
+Category=1
+Description="<html>(OC) Add or remove space after the first (type) in message specs,<br/>i.e. '-(int) f:(int)x;' vs. '-(int)f:(int)x;'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_after_oc_return_type=ignore|sp_after_oc_return_type=add|sp_after_oc_return_type=remove|sp_after_oc_return_type=force|sp_after_oc_return_type=not_defined
+ChoicesReadable="Ignore Sp After Oc Return Type|Add Sp After Oc Return Type|Remove Sp After Oc Return Type|Force Sp After Oc Return Type"
+ValueDefault=ignore
+
+[Sp After Oc At Sel]
+Category=1
+Description="<html>(OC) Add or remove space between '@selector' and '(',<br/>i.e. '@selector(msgName)' vs. '@selector (msgName)'.<br/>Also applies to '@protocol()' constructs.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_after_oc_at_sel=ignore|sp_after_oc_at_sel=add|sp_after_oc_at_sel=remove|sp_after_oc_at_sel=force|sp_after_oc_at_sel=not_defined
+ChoicesReadable="Ignore Sp After Oc At Sel|Add Sp After Oc At Sel|Remove Sp After Oc At Sel|Force Sp After Oc At Sel"
+ValueDefault=ignore
+
+[Sp After Oc At Sel Parens]
+Category=1
+Description="<html>(OC) Add or remove space between '@selector(x)' and the following word,<br/>i.e. '@selector(foo) a:' vs. '@selector(foo)a:'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_after_oc_at_sel_parens=ignore|sp_after_oc_at_sel_parens=add|sp_after_oc_at_sel_parens=remove|sp_after_oc_at_sel_parens=force|sp_after_oc_at_sel_parens=not_defined
+ChoicesReadable="Ignore Sp After Oc At Sel Parens|Add Sp After Oc At Sel Parens|Remove Sp After Oc At Sel Parens|Force Sp After Oc At Sel Parens"
+ValueDefault=ignore
+
+[Sp Inside Oc At Sel Parens]
+Category=1
+Description="<html>(OC) Add or remove space inside '@selector' parentheses,<br/>i.e. '@selector(foo)' vs. '@selector( foo )'.<br/>Also applies to '@protocol()' constructs.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_inside_oc_at_sel_parens=ignore|sp_inside_oc_at_sel_parens=add|sp_inside_oc_at_sel_parens=remove|sp_inside_oc_at_sel_parens=force|sp_inside_oc_at_sel_parens=not_defined
+ChoicesReadable="Ignore Sp Inside Oc At Sel Parens|Add Sp Inside Oc At Sel Parens|Remove Sp Inside Oc At Sel Parens|Force Sp Inside Oc At Sel Parens"
+ValueDefault=ignore
+
+[Sp Before Oc Block Caret]
+Category=1
+Description="<html>(OC) Add or remove space before a block pointer caret,<br/>i.e. '^int (int arg){...}' vs. ' ^int (int arg){...}'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_before_oc_block_caret=ignore|sp_before_oc_block_caret=add|sp_before_oc_block_caret=remove|sp_before_oc_block_caret=force|sp_before_oc_block_caret=not_defined
+ChoicesReadable="Ignore Sp Before Oc Block Caret|Add Sp Before Oc Block Caret|Remove Sp Before Oc Block Caret|Force Sp Before Oc Block Caret"
+ValueDefault=ignore
+
+[Sp After Oc Block Caret]
+Category=1
+Description="<html>(OC) Add or remove space after a block pointer caret,<br/>i.e. '^int (int arg){...}' vs. '^ int (int arg){...}'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_after_oc_block_caret=ignore|sp_after_oc_block_caret=add|sp_after_oc_block_caret=remove|sp_after_oc_block_caret=force|sp_after_oc_block_caret=not_defined
+ChoicesReadable="Ignore Sp After Oc Block Caret|Add Sp After Oc Block Caret|Remove Sp After Oc Block Caret|Force Sp After Oc Block Caret"
+ValueDefault=ignore
+
+[Sp After Oc Msg Receiver]
+Category=1
+Description="<html>(OC) Add or remove space between the receiver and selector in a message,<br/>as in '[receiver selector ...]'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_after_oc_msg_receiver=ignore|sp_after_oc_msg_receiver=add|sp_after_oc_msg_receiver=remove|sp_after_oc_msg_receiver=force|sp_after_oc_msg_receiver=not_defined
+ChoicesReadable="Ignore Sp After Oc Msg Receiver|Add Sp After Oc Msg Receiver|Remove Sp After Oc Msg Receiver|Force Sp After Oc Msg Receiver"
+ValueDefault=ignore
+
+[Sp After Oc Property]
+Category=1
+Description="<html>(OC) Add or remove space after '@property'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_after_oc_property=ignore|sp_after_oc_property=add|sp_after_oc_property=remove|sp_after_oc_property=force|sp_after_oc_property=not_defined
+ChoicesReadable="Ignore Sp After Oc Property|Add Sp After Oc Property|Remove Sp After Oc Property|Force Sp After Oc Property"
+ValueDefault=ignore
+
+[Sp After Oc Synchronized]
+Category=1
+Description="<html>(OC) Add or remove space between '@synchronized' and the open parenthesis,<br/>i.e. '@synchronized(foo)' vs. '@synchronized (foo)'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_after_oc_synchronized=ignore|sp_after_oc_synchronized=add|sp_after_oc_synchronized=remove|sp_after_oc_synchronized=force|sp_after_oc_synchronized=not_defined
+ChoicesReadable="Ignore Sp After Oc Synchronized|Add Sp After Oc Synchronized|Remove Sp After Oc Synchronized|Force Sp After Oc Synchronized"
+ValueDefault=ignore
+
+[Sp Cond Colon]
+Category=1
+Description="<html>Add or remove space around the ':' in 'b ? t : f'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_cond_colon=ignore|sp_cond_colon=add|sp_cond_colon=remove|sp_cond_colon=force|sp_cond_colon=not_defined
+ChoicesReadable="Ignore Sp Cond Colon|Add Sp Cond Colon|Remove Sp Cond Colon|Force Sp Cond Colon"
+ValueDefault=ignore
+
+[Sp Cond Colon Before]
+Category=1
+Description="<html>Add or remove space before the ':' in 'b ? t : f'.<br/><br/>Overrides sp_cond_colon.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_cond_colon_before=ignore|sp_cond_colon_before=add|sp_cond_colon_before=remove|sp_cond_colon_before=force|sp_cond_colon_before=not_defined
+ChoicesReadable="Ignore Sp Cond Colon Before|Add Sp Cond Colon Before|Remove Sp Cond Colon Before|Force Sp Cond Colon Before"
+ValueDefault=ignore
+
+[Sp Cond Colon After]
+Category=1
+Description="<html>Add or remove space after the ':' in 'b ? t : f'.<br/><br/>Overrides sp_cond_colon.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_cond_colon_after=ignore|sp_cond_colon_after=add|sp_cond_colon_after=remove|sp_cond_colon_after=force|sp_cond_colon_after=not_defined
+ChoicesReadable="Ignore Sp Cond Colon After|Add Sp Cond Colon After|Remove Sp Cond Colon After|Force Sp Cond Colon After"
+ValueDefault=ignore
+
+[Sp Cond Question]
+Category=1
+Description="<html>Add or remove space around the '?' in 'b ? t : f'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_cond_question=ignore|sp_cond_question=add|sp_cond_question=remove|sp_cond_question=force|sp_cond_question=not_defined
+ChoicesReadable="Ignore Sp Cond Question|Add Sp Cond Question|Remove Sp Cond Question|Force Sp Cond Question"
+ValueDefault=ignore
+
+[Sp Cond Question Before]
+Category=1
+Description="<html>Add or remove space before the '?' in 'b ? t : f'.<br/><br/>Overrides sp_cond_question.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_cond_question_before=ignore|sp_cond_question_before=add|sp_cond_question_before=remove|sp_cond_question_before=force|sp_cond_question_before=not_defined
+ChoicesReadable="Ignore Sp Cond Question Before|Add Sp Cond Question Before|Remove Sp Cond Question Before|Force Sp Cond Question Before"
+ValueDefault=ignore
+
+[Sp Cond Question After]
+Category=1
+Description="<html>Add or remove space after the '?' in 'b ? t : f'.<br/><br/>Overrides sp_cond_question.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_cond_question_after=ignore|sp_cond_question_after=add|sp_cond_question_after=remove|sp_cond_question_after=force|sp_cond_question_after=not_defined
+ChoicesReadable="Ignore Sp Cond Question After|Add Sp Cond Question After|Remove Sp Cond Question After|Force Sp Cond Question After"
+ValueDefault=ignore
+
+[Sp Cond Ternary Short]
+Category=1
+Description="<html>In the abbreviated ternary form '(a ?: b)', add or remove space between '?'<br/>and ':'.<br/><br/>Overrides all other sp_cond_* options.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_cond_ternary_short=ignore|sp_cond_ternary_short=add|sp_cond_ternary_short=remove|sp_cond_ternary_short=force|sp_cond_ternary_short=not_defined
+ChoicesReadable="Ignore Sp Cond Ternary Short|Add Sp Cond Ternary Short|Remove Sp Cond Ternary Short|Force Sp Cond Ternary Short"
+ValueDefault=ignore
+
+[Sp Case Label]
+Category=1
+Description="<html>Fix the spacing between 'case' and the label. Only 'ignore' and 'force' make<br/>sense here.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_case_label=ignore|sp_case_label=add|sp_case_label=remove|sp_case_label=force|sp_case_label=not_defined
+ChoicesReadable="Ignore Sp Case Label|Add Sp Case Label|Remove Sp Case Label|Force Sp Case Label"
+ValueDefault=ignore
+
+[Sp Range]
+Category=1
+Description="<html>(D) Add or remove space around the D '..' operator.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_range=ignore|sp_range=add|sp_range=remove|sp_range=force|sp_range=not_defined
+ChoicesReadable="Ignore Sp Range|Add Sp Range|Remove Sp Range|Force Sp Range"
+ValueDefault=ignore
+
+[Sp After For Colon]
+Category=1
+Description="<html>Add or remove space after ':' in a Java/C++11 range-based 'for',<br/>as in 'for (Type var : &lt;here&gt; expr)'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_after_for_colon=ignore|sp_after_for_colon=add|sp_after_for_colon=remove|sp_after_for_colon=force|sp_after_for_colon=not_defined
+ChoicesReadable="Ignore Sp After For Colon|Add Sp After For Colon|Remove Sp After For Colon|Force Sp After For Colon"
+ValueDefault=ignore
+
+[Sp Before For Colon]
+Category=1
+Description="<html>Add or remove space before ':' in a Java/C++11 range-based 'for',<br/>as in 'for (Type var &lt;here&gt; : expr)'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_before_for_colon=ignore|sp_before_for_colon=add|sp_before_for_colon=remove|sp_before_for_colon=force|sp_before_for_colon=not_defined
+ChoicesReadable="Ignore Sp Before For Colon|Add Sp Before For Colon|Remove Sp Before For Colon|Force Sp Before For Colon"
+ValueDefault=ignore
+
+[Sp Extern Paren]
+Category=1
+Description="<html>(D) Add or remove space between 'extern' and '(' as in 'extern &lt;here&gt; (C)'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_extern_paren=ignore|sp_extern_paren=add|sp_extern_paren=remove|sp_extern_paren=force|sp_extern_paren=not_defined
+ChoicesReadable="Ignore Sp Extern Paren|Add Sp Extern Paren|Remove Sp Extern Paren|Force Sp Extern Paren"
+ValueDefault=ignore
+
+[Sp Cmt Cpp Start]
+Category=1
+Description="<html>Add or remove space after the opening of a C++ comment, as in '// &lt;here&gt; A'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_cmt_cpp_start=ignore|sp_cmt_cpp_start=add|sp_cmt_cpp_start=remove|sp_cmt_cpp_start=force|sp_cmt_cpp_start=not_defined
+ChoicesReadable="Ignore Sp Cmt Cpp Start|Add Sp Cmt Cpp Start|Remove Sp Cmt Cpp Start|Force Sp Cmt Cpp Start"
+ValueDefault=ignore
+
+[Sp Cmt Cpp Region]
+Category=1
+Description="<html>Add or remove space in a C++ region marker comment, as in '// &lt;here&gt; BEGIN'.<br/>A region marker is defined as a comment which is not preceded by other text<br/>(i.e. the comment is the first non-whitespace on the line), and which starts<br/>with either 'BEGIN' or 'END'.<br/><br/>Overrides sp_cmt_cpp_start.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_cmt_cpp_region=ignore|sp_cmt_cpp_region=add|sp_cmt_cpp_region=remove|sp_cmt_cpp_region=force|sp_cmt_cpp_region=not_defined
+ChoicesReadable="Ignore Sp Cmt Cpp Region|Add Sp Cmt Cpp Region|Remove Sp Cmt Cpp Region|Force Sp Cmt Cpp Region"
+ValueDefault=ignore
+
+[Sp Cmt Cpp Doxygen]
+Category=1
+Description="<html>If true, space added with sp_cmt_cpp_start will be added after Doxygen<br/>sequences like '///', '///&lt;', '//!' and '//!&lt;'.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=sp_cmt_cpp_doxygen=true|sp_cmt_cpp_doxygen=false
+ValueDefault=false
+
+[Sp Cmt Cpp Qttr]
+Category=1
+Description="<html>If true, space added with sp_cmt_cpp_start will be added after Qt translator<br/>or meta-data comments like '//:', '//=', and '//~'.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=sp_cmt_cpp_qttr=true|sp_cmt_cpp_qttr=false
+ValueDefault=false
+
+[Sp Endif Cmt]
+Category=1
+Description="<html>Add or remove space between #else or #endif and a trailing comment.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_endif_cmt=ignore|sp_endif_cmt=add|sp_endif_cmt=remove|sp_endif_cmt=force|sp_endif_cmt=not_defined
+ChoicesReadable="Ignore Sp Endif Cmt|Add Sp Endif Cmt|Remove Sp Endif Cmt|Force Sp Endif Cmt"
+ValueDefault=ignore
+
+[Sp After New]
+Category=1
+Description="<html>Add or remove space after 'new', 'delete' and 'delete[]'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_after_new=ignore|sp_after_new=add|sp_after_new=remove|sp_after_new=force|sp_after_new=not_defined
+ChoicesReadable="Ignore Sp After New|Add Sp After New|Remove Sp After New|Force Sp After New"
+ValueDefault=ignore
+
+[Sp Between New Paren]
+Category=1
+Description="<html>Add or remove space between 'new' and '(' in 'new()'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_between_new_paren=ignore|sp_between_new_paren=add|sp_between_new_paren=remove|sp_between_new_paren=force|sp_between_new_paren=not_defined
+ChoicesReadable="Ignore Sp Between New Paren|Add Sp Between New Paren|Remove Sp Between New Paren|Force Sp Between New Paren"
+ValueDefault=ignore
+
+[Sp After Newop Paren]
+Category=1
+Description="<html>Add or remove space between ')' and type in 'new(foo) BAR'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_after_newop_paren=ignore|sp_after_newop_paren=add|sp_after_newop_paren=remove|sp_after_newop_paren=force|sp_after_newop_paren=not_defined
+ChoicesReadable="Ignore Sp After Newop Paren|Add Sp After Newop Paren|Remove Sp After Newop Paren|Force Sp After Newop Paren"
+ValueDefault=ignore
+
+[Sp Inside Newop Paren]
+Category=1
+Description="<html>Add or remove space inside parenthesis of the new operator<br/>as in 'new(foo) BAR'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_inside_newop_paren=ignore|sp_inside_newop_paren=add|sp_inside_newop_paren=remove|sp_inside_newop_paren=force|sp_inside_newop_paren=not_defined
+ChoicesReadable="Ignore Sp Inside Newop Paren|Add Sp Inside Newop Paren|Remove Sp Inside Newop Paren|Force Sp Inside Newop Paren"
+ValueDefault=ignore
+
+[Sp Inside Newop Paren Open]
+Category=1
+Description="<html>Add or remove space after the open parenthesis of the new operator,<br/>as in 'new(foo) BAR'.<br/><br/>Overrides sp_inside_newop_paren.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_inside_newop_paren_open=ignore|sp_inside_newop_paren_open=add|sp_inside_newop_paren_open=remove|sp_inside_newop_paren_open=force|sp_inside_newop_paren_open=not_defined
+ChoicesReadable="Ignore Sp Inside Newop Paren Open|Add Sp Inside Newop Paren Open|Remove Sp Inside Newop Paren Open|Force Sp Inside Newop Paren Open"
+ValueDefault=ignore
+
+[Sp Inside Newop Paren Close]
+Category=1
+Description="<html>Add or remove space before the close parenthesis of the new operator,<br/>as in 'new(foo) BAR'.<br/><br/>Overrides sp_inside_newop_paren.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_inside_newop_paren_close=ignore|sp_inside_newop_paren_close=add|sp_inside_newop_paren_close=remove|sp_inside_newop_paren_close=force|sp_inside_newop_paren_close=not_defined
+ChoicesReadable="Ignore Sp Inside Newop Paren Close|Add Sp Inside Newop Paren Close|Remove Sp Inside Newop Paren Close|Force Sp Inside Newop Paren Close"
+ValueDefault=ignore
+
+[Sp Before Tr Cmt]
+Category=1
+Description="<html>Add or remove space before a trailing comment.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_before_tr_cmt=ignore|sp_before_tr_cmt=add|sp_before_tr_cmt=remove|sp_before_tr_cmt=force|sp_before_tr_cmt=not_defined
+ChoicesReadable="Ignore Sp Before Tr Cmt|Add Sp Before Tr Cmt|Remove Sp Before Tr Cmt|Force Sp Before Tr Cmt"
+ValueDefault=ignore
+
+[Sp Num Before Tr Cmt]
+Category=1
+Description="<html>Number of spaces before a trailing comment.</html>"
+Enabled=false
+EditorType=numeric
+CallName="sp_num_before_tr_cmt="
+MinVal=0
+MaxVal=16
+ValueDefault=0
+
+[Sp Before Emb Cmt]
+Category=1
+Description="<html>Add or remove space before an embedded comment.<br/><br/>Default: force</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_before_emb_cmt=ignore|sp_before_emb_cmt=add|sp_before_emb_cmt=remove|sp_before_emb_cmt=force|sp_before_emb_cmt=not_defined
+ChoicesReadable="Ignore Sp Before Emb Cmt|Add Sp Before Emb Cmt|Remove Sp Before Emb Cmt|Force Sp Before Emb Cmt"
+ValueDefault=force
+
+[Sp Num Before Emb Cmt]
+Category=1
+Description="<html>Number of spaces before an embedded comment.<br/><br/>Default: 1</html>"
+Enabled=false
+EditorType=numeric
+CallName="sp_num_before_emb_cmt="
+MinVal=0
+MaxVal=16
+ValueDefault=1
+
+[Sp After Emb Cmt]
+Category=1
+Description="<html>Add or remove space after an embedded comment.<br/><br/>Default: force</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_after_emb_cmt=ignore|sp_after_emb_cmt=add|sp_after_emb_cmt=remove|sp_after_emb_cmt=force|sp_after_emb_cmt=not_defined
+ChoicesReadable="Ignore Sp After Emb Cmt|Add Sp After Emb Cmt|Remove Sp After Emb Cmt|Force Sp After Emb Cmt"
+ValueDefault=force
+
+[Sp Num After Emb Cmt]
+Category=1
+Description="<html>Number of spaces after an embedded comment.<br/><br/>Default: 1</html>"
+Enabled=false
+EditorType=numeric
+CallName="sp_num_after_emb_cmt="
+MinVal=0
+MaxVal=16
+ValueDefault=1
+
+[Sp Annotation Paren]
+Category=1
+Description="<html>(Java) Add or remove space between an annotation and the open parenthesis.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_annotation_paren=ignore|sp_annotation_paren=add|sp_annotation_paren=remove|sp_annotation_paren=force|sp_annotation_paren=not_defined
+ChoicesReadable="Ignore Sp Annotation Paren|Add Sp Annotation Paren|Remove Sp Annotation Paren|Force Sp Annotation Paren"
+ValueDefault=ignore
+
+[Sp Skip Vbrace Tokens]
+Category=1
+Description="<html>If true, vbrace tokens are dropped to the previous token and skipped.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=sp_skip_vbrace_tokens=true|sp_skip_vbrace_tokens=false
+ValueDefault=false
+
+[Sp After Noexcept]
+Category=1
+Description="<html>Add or remove space after 'noexcept'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_after_noexcept=ignore|sp_after_noexcept=add|sp_after_noexcept=remove|sp_after_noexcept=force|sp_after_noexcept=not_defined
+ChoicesReadable="Ignore Sp After Noexcept|Add Sp After Noexcept|Remove Sp After Noexcept|Force Sp After Noexcept"
+ValueDefault=ignore
+
+[Sp Vala After Translation]
+Category=1
+Description="<html>Add or remove space after '_'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=sp_vala_after_translation=ignore|sp_vala_after_translation=add|sp_vala_after_translation=remove|sp_vala_after_translation=force|sp_vala_after_translation=not_defined
+ChoicesReadable="Ignore Sp Vala After Translation|Add Sp Vala After Translation|Remove Sp Vala After Translation|Force Sp Vala After Translation"
+ValueDefault=ignore
+
+[Force Tab After Define]
+Category=1
+Description="<html>If true, a &lt;TAB&gt; is inserted after #define.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=force_tab_after_define=true|force_tab_after_define=false
+ValueDefault=false
+
+[Indent Columns]
+Category=2
+Description="<html>The number of columns to indent per level. Usually 2, 3, 4, or 8.<br/><br/>Default: 8</html>"
+Enabled=false
+EditorType=numeric
+CallName="indent_columns="
+MinVal=0
+MaxVal=16
+ValueDefault=8
+
+[Indent Continue]
+Category=2
+Description="<html>The continuation indent. If non-zero, this overrides the indent of '(', '['<br/>and '=' continuation indents. Negative values are OK; negative value is<br/>absolute and not increased for each '(' or '[' level.<br/><br/>For FreeBSD, this is set to 4.</html>"
+Enabled=false
+EditorType=numeric
+CallName="indent_continue="
+MinVal=-16
+MaxVal=16
+ValueDefault=0
+
+[Indent Continue Class Head]
+Category=2
+Description="<html>The continuation indent, only for class header line(s). If non-zero, this<br/>overrides the indent of 'class' continuation indents.</html>"
+Enabled=false
+EditorType=numeric
+CallName="indent_continue_class_head="
+MinVal=0
+MaxVal=16
+ValueDefault=0
+
+[Indent Single Newlines]
+Category=2
+Description="<html>Whether to indent empty lines (i.e. lines which contain only spaces before<br/>the newline character).</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=indent_single_newlines=true|indent_single_newlines=false
+ValueDefault=false
+
+[Indent Param]
+Category=2
+Description="<html>The continuation indent for func_*_param if they are true. If non-zero, this<br/>overrides the indent.</html>"
+Enabled=false
+EditorType=numeric
+CallName="indent_param="
+MinVal=0
+MaxVal=16
+ValueDefault=0
+
+[Indent With Tabs]
+Category=2
+Description="<html>How to use tabs when indenting code.<br/><br/>0: Spaces only<br/>1: Indent with tabs to brace level, align with spaces (default)<br/>2: Indent and align with tabs, using spaces when not on a tabstop<br/><br/>Default: 1</html>"
+Enabled=true
+EditorType=multiple
+Choices="indent_with_tabs=0|indent_with_tabs=1|indent_with_tabs=2"
+ChoicesReadable="Spaces only|Indent with tabs, align with spaces|Indent and align with tabs"
+ValueDefault=1
+
+[Indent Cmt With Tabs]
+Category=2
+Description="<html>Whether to indent comments that are not at a brace level with tabs on a<br/>tabstop. Requires indent_with_tabs=2. If false, will use spaces.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=indent_cmt_with_tabs=true|indent_cmt_with_tabs=false
+ValueDefault=false
+
+[Indent Align String]
+Category=2
+Description="<html>Whether to indent strings broken by '\' so that they line up.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=indent_align_string=true|indent_align_string=false
+ValueDefault=false
+
+[Indent Xml String]
+Category=2
+Description="<html>The number of spaces to indent multi-line XML strings.<br/>Requires indent_align_string=true.</html>"
+Enabled=false
+EditorType=numeric
+CallName="indent_xml_string="
+MinVal=0
+MaxVal=16
+ValueDefault=0
+
+[Indent Brace]
+Category=2
+Description="<html>Spaces to indent '{' from level.</html>"
+Enabled=false
+EditorType=numeric
+CallName="indent_brace="
+MinVal=0
+MaxVal=16
+ValueDefault=0
+
+[Indent Braces]
+Category=2
+Description="<html>Whether braces are indented to the body level.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=indent_braces=true|indent_braces=false
+ValueDefault=false
+
+[Indent Braces No Func]
+Category=2
+Description="<html>Whether to disable indenting function braces if indent_braces=true.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=indent_braces_no_func=true|indent_braces_no_func=false
+ValueDefault=false
+
+[Indent Braces No Class]
+Category=2
+Description="<html>Whether to disable indenting class braces if indent_braces=true.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=indent_braces_no_class=true|indent_braces_no_class=false
+ValueDefault=false
+
+[Indent Braces No Struct]
+Category=2
+Description="<html>Whether to disable indenting struct braces if indent_braces=true.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=indent_braces_no_struct=true|indent_braces_no_struct=false
+ValueDefault=false
+
+[Indent Brace Parent]
+Category=2
+Description="<html>Whether to indent based on the size of the brace parent,<br/>i.e. 'if' =&gt; 3 spaces, 'for' =&gt; 4 spaces, etc.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=indent_brace_parent=true|indent_brace_parent=false
+ValueDefault=false
+
+[Indent Paren Open Brace]
+Category=2
+Description="<html>Whether to indent based on the open parenthesis instead of the open brace<br/>in '({\n'.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=indent_paren_open_brace=true|indent_paren_open_brace=false
+ValueDefault=false
+
+[Indent Cs Delegate Brace]
+Category=2
+Description="<html>(C#) Whether to indent the brace of a C# delegate by another level.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=indent_cs_delegate_brace=true|indent_cs_delegate_brace=false
+ValueDefault=false
+
+[Indent Cs Delegate Body]
+Category=2
+Description="<html>(C#) Whether to indent a C# delegate (to handle delegates with no brace) by<br/>another level.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=indent_cs_delegate_body=true|indent_cs_delegate_body=false
+ValueDefault=false
+
+[Indent Namespace]
+Category=2
+Description="<html>Whether to indent the body of a 'namespace'.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=indent_namespace=true|indent_namespace=false
+ValueDefault=false
+
+[Indent Namespace Single Indent]
+Category=2
+Description="<html>Whether to indent only the first namespace, and not any nested namespaces.<br/>Requires indent_namespace=true.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=indent_namespace_single_indent=true|indent_namespace_single_indent=false
+ValueDefault=false
+
+[Indent Namespace Level]
+Category=2
+Description="<html>The number of spaces to indent a namespace block.<br/>If set to zero, use the value indent_columns</html>"
+Enabled=false
+EditorType=numeric
+CallName="indent_namespace_level="
+MinVal=0
+MaxVal=16
+ValueDefault=0
+
+[Indent Namespace Limit]
+Category=2
+Description="<html>If the body of the namespace is longer than this number, it won't be<br/>indented. Requires indent_namespace=true. 0 means no limit.</html>"
+Enabled=false
+EditorType=numeric
+CallName="indent_namespace_limit="
+MinVal=0
+MaxVal=255
+ValueDefault=0
+
+[Indent Extern]
+Category=2
+Description="<html>Whether the 'extern "C"' body is indented.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=indent_extern=true|indent_extern=false
+ValueDefault=false
+
+[Indent Class]
+Category=2
+Description="<html>Whether the 'class' body is indented.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=indent_class=true|indent_class=false
+ValueDefault=false
+
+[Indent Before Class Colon]
+Category=2
+Description="<html>Additional indent before the leading base class colon.<br/>Negative values decrease indent down to the first column.<br/>Requires a newline break before colon (see pos_class_colon<br/>and nl_class_colon)</html>"
+Enabled=false
+EditorType=numeric
+CallName="indent_before_class_colon="
+MinVal=-16
+MaxVal=16
+ValueDefault=0
+
+[Indent Class Colon]
+Category=2
+Description="<html>Whether to indent the stuff after a leading base class colon.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=indent_class_colon=true|indent_class_colon=false
+ValueDefault=false
+
+[Indent Class On Colon]
+Category=2
+Description="<html>Whether to indent based on a class colon instead of the stuff after the<br/>colon. Requires indent_class_colon=true.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=indent_class_on_colon=true|indent_class_on_colon=false
+ValueDefault=false
+
+[Indent Constr Colon]
+Category=2
+Description="<html>Whether to indent the stuff after a leading class initializer colon.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=indent_constr_colon=true|indent_constr_colon=false
+ValueDefault=false
+
+[Indent Ctor Init Leading]
+Category=2
+Description="<html>Virtual indent from the ':' for leading member initializers.<br/><br/>Default: 2</html>"
+Enabled=false
+EditorType=numeric
+CallName="indent_ctor_init_leading="
+MinVal=0
+MaxVal=16
+ValueDefault=2
+
+[Indent Ctor Init Following]
+Category=2
+Description="<html>Virtual indent from the ':' for following member initializers.<br/><br/>Default: 2</html>"
+Enabled=false
+EditorType=numeric
+CallName="indent_ctor_init_following="
+MinVal=0
+MaxVal=16
+ValueDefault=2
+
+[Indent Ctor Init]
+Category=2
+Description="<html>Additional indent for constructor initializer list.<br/>Negative values decrease indent down to the first column.</html>"
+Enabled=false
+EditorType=numeric
+CallName="indent_ctor_init="
+MinVal=-16
+MaxVal=16
+ValueDefault=0
+
+[Indent Else If]
+Category=2
+Description="<html>Whether to indent 'if' following 'else' as a new block under the 'else'.<br/>If false, 'else\nif' is treated as 'else if' for indenting purposes.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=indent_else_if=true|indent_else_if=false
+ValueDefault=false
+
+[Indent Var Def Blk]
+Category=2
+Description="<html>Amount to indent variable declarations after a open brace.<br/><br/> &lt;0: Relative<br/>&gt;=0: Absolute</html>"
+Enabled=false
+EditorType=numeric
+CallName="indent_var_def_blk="
+MinVal=-16
+MaxVal=16
+ValueDefault=0
+
+[Indent Var Def Cont]
+Category=2
+Description="<html>Whether to indent continued variable declarations instead of aligning.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=indent_var_def_cont=true|indent_var_def_cont=false
+ValueDefault=false
+
+[Indent Shift]
+Category=2
+Description="<html>Whether to indent continued shift expressions ('&lt;&lt;' and '&gt;&gt;') instead of<br/>aligning. Set align_left_shift=false when enabling this.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=indent_shift=true|indent_shift=false
+ValueDefault=false
+
+[Indent Func Def Force Col1]
+Category=2
+Description="<html>Whether to force indentation of function definitions to start in column 1.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=indent_func_def_force_col1=true|indent_func_def_force_col1=false
+ValueDefault=false
+
+[Indent Func Call Param]
+Category=2
+Description="<html>Whether to indent continued function call parameters one indent level,<br/>rather than aligning parameters under the open parenthesis.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=indent_func_call_param=true|indent_func_call_param=false
+ValueDefault=false
+
+[Indent Func Def Param]
+Category=2
+Description="<html>Whether to indent continued function definition parameters one indent level,<br/>rather than aligning parameters under the open parenthesis.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=indent_func_def_param=true|indent_func_def_param=false
+ValueDefault=false
+
+[Indent Func Def Param Paren Pos Threshold]
+Category=2
+Description="<html>for function definitions, only if indent_func_def_param is false<br/>Allows to align params when appropriate and indent them when not<br/>behave as if it was true if paren position is more than this value<br/>if paren position is more than the option value</html>"
+Enabled=false
+EditorType=numeric
+CallName="indent_func_def_param_paren_pos_threshold="
+MinVal=0
+MaxVal=160
+ValueDefault=0
+
+[Indent Func Proto Param]
+Category=2
+Description="<html>Whether to indent continued function call prototype one indent level,<br/>rather than aligning parameters under the open parenthesis.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=indent_func_proto_param=true|indent_func_proto_param=false
+ValueDefault=false
+
+[Indent Func Class Param]
+Category=2
+Description="<html>Whether to indent continued function call declaration one indent level,<br/>rather than aligning parameters under the open parenthesis.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=indent_func_class_param=true|indent_func_class_param=false
+ValueDefault=false
+
+[Indent Func Ctor Var Param]
+Category=2
+Description="<html>Whether to indent continued class variable constructors one indent level,<br/>rather than aligning parameters under the open parenthesis.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=indent_func_ctor_var_param=true|indent_func_ctor_var_param=false
+ValueDefault=false
+
+[Indent Template Param]
+Category=2
+Description="<html>Whether to indent continued template parameter list one indent level,<br/>rather than aligning parameters under the open parenthesis.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=indent_template_param=true|indent_template_param=false
+ValueDefault=false
+
+[Indent Func Param Double]
+Category=2
+Description="<html>Double the indent for indent_func_xxx_param options.<br/>Use both values of the options indent_columns and indent_param.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=indent_func_param_double=true|indent_func_param_double=false
+ValueDefault=false
+
+[Indent Func Const]
+Category=2
+Description="<html>Indentation column for standalone 'const' qualifier on a function<br/>prototype.</html>"
+Enabled=false
+EditorType=numeric
+CallName="indent_func_const="
+MinVal=0
+MaxVal=69
+ValueDefault=0
+
+[Indent Func Throw]
+Category=2
+Description="<html>Indentation column for standalone 'throw' qualifier on a function<br/>prototype.</html>"
+Enabled=false
+EditorType=numeric
+CallName="indent_func_throw="
+MinVal=0
+MaxVal=41
+ValueDefault=0
+
+[Indent Macro Brace]
+Category=2
+Description="<html>How to indent within a macro followed by a brace on the same line<br/>This allows reducing the indent in macros that have (for example)<br/>`do { ... } while ` blocks bracketing them.<br/><br/>true: add an indent for the brace on the same line as the macro<br/>false: do not add an indent for the brace on the same line as the macro<br/><br/>Default: true</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=indent_macro_brace=true|indent_macro_brace=false
+ValueDefault=true
+
+[Indent Member]
+Category=2
+Description="<html>The number of spaces to indent a continued '-&gt;' or '.'.<br/>Usually set to 0, 1, or indent_columns.</html>"
+Enabled=false
+EditorType=numeric
+CallName="indent_member="
+MinVal=0
+MaxVal=16
+ValueDefault=0
+
+[Indent Member Single]
+Category=2
+Description="<html>Whether lines broken at '.' or '-&gt;' should be indented by a single indent.<br/>The indent_member option will not be effective if this is set to true.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=indent_member_single=true|indent_member_single=false
+ValueDefault=false
+
+[Indent Single Line Comments Before]
+Category=2
+Description="<html>Spaces to indent single line ('//') comments on lines before code.</html>"
+Enabled=false
+EditorType=numeric
+CallName="indent_single_line_comments_before="
+MinVal=0
+MaxVal=16
+ValueDefault=0
+
+[Indent Single Line Comments After]
+Category=2
+Description="<html>Spaces to indent single line ('//') comments on lines after code.</html>"
+Enabled=false
+EditorType=numeric
+CallName="indent_single_line_comments_after="
+MinVal=0
+MaxVal=16
+ValueDefault=0
+
+[Indent Sparen Extra]
+Category=2
+Description="<html>When opening a paren for a control statement (if, for, while, etc), increase<br/>the indent level by this value. Negative values decrease the indent level.</html>"
+Enabled=false
+EditorType=numeric
+CallName="indent_sparen_extra="
+MinVal=-16
+MaxVal=16
+ValueDefault=0
+
+[Indent Relative Single Line Comments]
+Category=2
+Description="<html>Whether to indent trailing single line ('//') comments relative to the code<br/>instead of trying to keep the same absolute column.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=indent_relative_single_line_comments=true|indent_relative_single_line_comments=false
+ValueDefault=false
+
+[Indent Switch Case]
+Category=2
+Description="<html>Spaces to indent 'case' from 'switch'. Usually 0 or indent_columns.<br/>It might be wise to choose the same value for the option indent_case_brace.</html>"
+Enabled=false
+EditorType=numeric
+CallName="indent_switch_case="
+MinVal=0
+MaxVal=16
+ValueDefault=0
+
+[Indent Switch Body]
+Category=2
+Description="<html>Spaces to indent the body of a 'switch' before any 'case'.<br/>Usually the same as indent_columns or indent_switch_case.</html>"
+Enabled=false
+EditorType=numeric
+CallName="indent_switch_body="
+MinVal=0
+MaxVal=16
+ValueDefault=0
+
+[Indent Case Brace]
+Category=2
+Description="<html>Spaces to indent '{' from 'case'. By default, the brace will appear under<br/>the 'c' in case. Usually set to 0 or indent_columns. Negative values are OK.<br/>It might be wise to choose the same value for the option indent_switch_case.</html>"
+Enabled=false
+EditorType=numeric
+CallName="indent_case_brace="
+MinVal=-16
+MaxVal=16
+ValueDefault=0
+
+[Indent Switch Break With Case]
+Category=2
+Description="<html>indent 'break' with 'case' from 'switch'.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=indent_switch_break_with_case=true|indent_switch_break_with_case=false
+ValueDefault=false
+
+[Indent Switch Pp]
+Category=2
+Description="<html>Whether to indent preprocessor statements inside of switch statements.<br/><br/>Default: true</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=indent_switch_pp=true|indent_switch_pp=false
+ValueDefault=true
+
+[Indent Case Shift]
+Category=2
+Description="<html>Spaces to shift the 'case' line, without affecting any other lines.<br/>Usually 0.</html>"
+Enabled=false
+EditorType=numeric
+CallName="indent_case_shift="
+MinVal=0
+MaxVal=16
+ValueDefault=0
+
+[Indent Case Comment]
+Category=2
+Description="<html>Whether to align comments before 'case' with the 'case'.<br/><br/>Default: true</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=indent_case_comment=true|indent_case_comment=false
+ValueDefault=true
+
+[Indent Comment]
+Category=2
+Description="<html>Whether to indent comments not found in first column.<br/><br/>Default: true</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=indent_comment=true|indent_comment=false
+ValueDefault=true
+
+[Indent Col1 Comment]
+Category=2
+Description="<html>Whether to indent comments found in first column.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=indent_col1_comment=true|indent_col1_comment=false
+ValueDefault=false
+
+[Indent Col1 Multi String Literal]
+Category=2
+Description="<html>Whether to indent multi string literal in first column.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=indent_col1_multi_string_literal=true|indent_col1_multi_string_literal=false
+ValueDefault=false
+
+[Indent Comment Align Thresh]
+Category=2
+Description="<html>Align comments on adjacent lines that are this many columns apart or less.<br/><br/>Default: 3</html>"
+Enabled=false
+EditorType=numeric
+CallName="indent_comment_align_thresh="
+MinVal=0
+MaxVal=16
+ValueDefault=3
+
+[Indent Ignore Label]
+Category=2
+Description="<html>Whether to ignore indent for goto labels.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=indent_ignore_label=true|indent_ignore_label=false
+ValueDefault=false
+
+[Indent Label]
+Category=2
+Description="<html>How to indent goto labels. Requires indent_ignore_label=false.<br/><br/> &gt;0: Absolute column where 1 is the leftmost column<br/>&lt;=0: Subtract from brace indent<br/><br/>Default: 1</html>"
+Enabled=false
+EditorType=numeric
+CallName="indent_label="
+MinVal=-16
+MaxVal=16
+ValueDefault=1
+
+[Indent Access Spec]
+Category=2
+Description="<html>How to indent access specifiers that are followed by a<br/>colon.<br/><br/> &gt;0: Absolute column where 1 is the leftmost column<br/>&lt;=0: Subtract from brace indent<br/><br/>Default: 1</html>"
+Enabled=false
+EditorType=numeric
+CallName="indent_access_spec="
+MinVal=-16
+MaxVal=16
+ValueDefault=1
+
+[Indent Access Spec Body]
+Category=2
+Description="<html>Whether to indent the code after an access specifier by one level.<br/>If true, this option forces 'indent_access_spec=0'.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=indent_access_spec_body=true|indent_access_spec_body=false
+ValueDefault=false
+
+[Indent Paren Nl]
+Category=2
+Description="<html>If an open parenthesis is followed by a newline, whether to indent the next<br/>line so that it lines up after the open parenthesis (not recommended).</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=indent_paren_nl=true|indent_paren_nl=false
+ValueDefault=false
+
+[Indent Paren Close]
+Category=2
+Description="<html>How to indent a close parenthesis after a newline.<br/><br/>0: Indent to body level (default)<br/>1: Align under the open parenthesis<br/>2: Indent to the brace level</html>"
+Enabled=false
+EditorType=numeric
+CallName="indent_paren_close="
+MinVal=0
+MaxVal=2
+ValueDefault=0
+
+[Indent Paren After Func Def]
+Category=2
+Description="<html>Whether to indent the open parenthesis of a function definition,<br/>if the parenthesis is on its own line.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=indent_paren_after_func_def=true|indent_paren_after_func_def=false
+ValueDefault=false
+
+[Indent Paren After Func Decl]
+Category=2
+Description="<html>Whether to indent the open parenthesis of a function declaration,<br/>if the parenthesis is on its own line.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=indent_paren_after_func_decl=true|indent_paren_after_func_decl=false
+ValueDefault=false
+
+[Indent Paren After Func Call]
+Category=2
+Description="<html>Whether to indent the open parenthesis of a function call,<br/>if the parenthesis is on its own line.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=indent_paren_after_func_call=true|indent_paren_after_func_call=false
+ValueDefault=false
+
+[Indent Comma Brace]
+Category=2
+Description="<html>Whether to indent a comma when inside a brace.<br/>If true, aligns under the open brace.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=indent_comma_brace=true|indent_comma_brace=false
+ValueDefault=false
+
+[Indent Comma Paren]
+Category=2
+Description="<html>Whether to indent a comma when inside a parenthesis.<br/>If true, aligns under the open parenthesis.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=indent_comma_paren=true|indent_comma_paren=false
+ValueDefault=false
+
+[Indent Bool Paren]
+Category=2
+Description="<html>Whether to indent a Boolean operator when inside a parenthesis.<br/>If true, aligns under the open parenthesis.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=indent_bool_paren=true|indent_bool_paren=false
+ValueDefault=false
+
+[Indent Semicolon For Paren]
+Category=2
+Description="<html>Whether to indent a semicolon when inside a for parenthesis.<br/>If true, aligns under the open for parenthesis.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=indent_semicolon_for_paren=true|indent_semicolon_for_paren=false
+ValueDefault=false
+
+[Indent First Bool Expr]
+Category=2
+Description="<html>Whether to align the first expression to following ones<br/>if indent_bool_paren=true.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=indent_first_bool_expr=true|indent_first_bool_expr=false
+ValueDefault=false
+
+[Indent First For Expr]
+Category=2
+Description="<html>Whether to align the first expression to following ones<br/>if indent_semicolon_for_paren=true.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=indent_first_for_expr=true|indent_first_for_expr=false
+ValueDefault=false
+
+[Indent Square Nl]
+Category=2
+Description="<html>If an open square is followed by a newline, whether to indent the next line<br/>so that it lines up after the open square (not recommended).</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=indent_square_nl=true|indent_square_nl=false
+ValueDefault=false
+
+[Indent Preserve Sql]
+Category=2
+Description="<html>(ESQL/C) Whether to preserve the relative indent of 'EXEC SQL' bodies.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=indent_preserve_sql=true|indent_preserve_sql=false
+ValueDefault=false
+
+[Indent Align Assign]
+Category=2
+Description="<html>Whether to align continued statements at the '='. If false or if the '=' is<br/>followed by a newline, the next line is indent one tab.<br/><br/>Default: true</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=indent_align_assign=true|indent_align_assign=false
+ValueDefault=true
+
+[Indent Off After Assign]
+Category=2
+Description="<html>If true, the indentation of the chunks after a '=' sequence will be set at<br/>LHS token indentation column before '='.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=indent_off_after_assign=true|indent_off_after_assign=false
+ValueDefault=false
+
+[Indent Align Paren]
+Category=2
+Description="<html>Whether to align continued statements at the '('. If false or the '(' is<br/>followed by a newline, the next line indent is one tab.<br/><br/>Default: true</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=indent_align_paren=true|indent_align_paren=false
+ValueDefault=true
+
+[Indent Oc Inside Msg Sel]
+Category=2
+Description="<html>(OC) Whether to indent Objective-C code inside message selectors.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=indent_oc_inside_msg_sel=true|indent_oc_inside_msg_sel=false
+ValueDefault=false
+
+[Indent Oc Block]
+Category=2
+Description="<html>(OC) Whether to indent Objective-C blocks at brace level instead of usual<br/>rules.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=indent_oc_block=true|indent_oc_block=false
+ValueDefault=false
+
+[Indent Oc Block Msg]
+Category=2
+Description="<html>(OC) Indent for Objective-C blocks in a message relative to the parameter<br/>name.<br/><br/>=0: Use indent_oc_block rules<br/>&gt;0: Use specified number of spaces to indent</html>"
+Enabled=false
+EditorType=numeric
+CallName="indent_oc_block_msg="
+MinVal=0
+MaxVal=16
+ValueDefault=0
+
+[Indent Oc Msg Colon]
+Category=2
+Description="<html>(OC) Minimum indent for subsequent parameters</html>"
+Enabled=false
+EditorType=numeric
+CallName="indent_oc_msg_colon="
+MinVal=0
+MaxVal=5000
+ValueDefault=0
+
+[Indent Oc Msg Prioritize First Colon]
+Category=2
+Description="<html>(OC) Whether to prioritize aligning with initial colon (and stripping spaces<br/>from lines, if necessary).<br/><br/>Default: true</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=indent_oc_msg_prioritize_first_colon=true|indent_oc_msg_prioritize_first_colon=false
+ValueDefault=true
+
+[Indent Oc Block Msg Xcode Style]
+Category=2
+Description="<html>(OC) Whether to indent blocks the way that Xcode does by default<br/>(from the keyword if the parameter is on its own line; otherwise, from the<br/>previous indentation level). Requires indent_oc_block_msg=true.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=indent_oc_block_msg_xcode_style=true|indent_oc_block_msg_xcode_style=false
+ValueDefault=false
+
+[Indent Oc Block Msg From Keyword]
+Category=2
+Description="<html>(OC) Whether to indent blocks from where the brace is, relative to a<br/>message keyword. Requires indent_oc_block_msg=true.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=indent_oc_block_msg_from_keyword=true|indent_oc_block_msg_from_keyword=false
+ValueDefault=false
+
+[Indent Oc Block Msg From Colon]
+Category=2
+Description="<html>(OC) Whether to indent blocks from where the brace is, relative to a message<br/>colon. Requires indent_oc_block_msg=true.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=indent_oc_block_msg_from_colon=true|indent_oc_block_msg_from_colon=false
+ValueDefault=false
+
+[Indent Oc Block Msg From Caret]
+Category=2
+Description="<html>(OC) Whether to indent blocks from where the block caret is.<br/>Requires indent_oc_block_msg=true.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=indent_oc_block_msg_from_caret=true|indent_oc_block_msg_from_caret=false
+ValueDefault=false
+
+[Indent Oc Block Msg From Brace]
+Category=2
+Description="<html>(OC) Whether to indent blocks from where the brace caret is.<br/>Requires indent_oc_block_msg=true.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=indent_oc_block_msg_from_brace=true|indent_oc_block_msg_from_brace=false
+ValueDefault=false
+
+[Indent Min Vbrace Open]
+Category=2
+Description="<html>When indenting after virtual brace open and newline add further spaces to<br/>reach this minimum indent.</html>"
+Enabled=false
+EditorType=numeric
+CallName="indent_min_vbrace_open="
+MinVal=0
+MaxVal=16
+ValueDefault=0
+
+[Indent Vbrace Open On Tabstop]
+Category=2
+Description="<html>Whether to add further spaces after regular indent to reach next tabstop<br/>when indenting after virtual brace open and newline.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=indent_vbrace_open_on_tabstop=true|indent_vbrace_open_on_tabstop=false
+ValueDefault=false
+
+[Indent Token After Brace]
+Category=2
+Description="<html>How to indent after a brace followed by another token (not a newline).<br/>true: indent all contained lines to match the token<br/>false: indent all contained lines to match the brace<br/><br/>Default: true</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=indent_token_after_brace=true|indent_token_after_brace=false
+ValueDefault=true
+
+[Indent Cpp Lambda Body]
+Category=2
+Description="<html>Whether to indent the body of a C++11 lambda.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=indent_cpp_lambda_body=true|indent_cpp_lambda_body=false
+ValueDefault=false
+
+[Indent Compound Literal Return]
+Category=2
+Description="<html>How to indent compound literals that are being returned.<br/>true: add both the indent from return &amp; the compound literal open brace<br/> (i.e. 2 indent levels)<br/>false: only indent 1 level, don't add the indent for the open brace, only<br/> add the indent for the return.<br/><br/>Default: true</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=indent_compound_literal_return=true|indent_compound_literal_return=false
+ValueDefault=true
+
+[Indent Using Block]
+Category=2
+Description="<html>(C#) Whether to indent a 'using' block if no braces are used.<br/><br/>Default: true</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=indent_using_block=true|indent_using_block=false
+ValueDefault=true
+
+[Indent Ternary Operator]
+Category=2
+Description="<html>How to indent the continuation of ternary operator.<br/><br/>0: Off (default)<br/>1: When the `if_false` is a continuation, indent it under `if_false`<br/>2: When the `:` is a continuation, indent it under `?`</html>"
+Enabled=false
+EditorType=numeric
+CallName="indent_ternary_operator="
+MinVal=0
+MaxVal=2
+ValueDefault=0
+
+[Indent Inside Ternary Operator]
+Category=2
+Description="<html>Whether to indent the statements inside ternary operator.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=indent_inside_ternary_operator=true|indent_inside_ternary_operator=false
+ValueDefault=false
+
+[Indent Off After Return]
+Category=2
+Description="<html>If true, the indentation of the chunks after a `return` sequence will be set at return indentation column.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=indent_off_after_return=true|indent_off_after_return=false
+ValueDefault=false
+
+[Indent Off After Return New]
+Category=2
+Description="<html>If true, the indentation of the chunks after a `return new` sequence will be set at return indentation column.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=indent_off_after_return_new=true|indent_off_after_return_new=false
+ValueDefault=false
+
+[Indent Single After Return]
+Category=2
+Description="<html>If true, the tokens after return are indented with regular single indentation. By default (false) the indentation is after the return token.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=indent_single_after_return=true|indent_single_after_return=false
+ValueDefault=false
+
+[Indent Ignore Asm Block]
+Category=2
+Description="<html>Whether to ignore indent and alignment for 'asm' blocks (i.e. assume they<br/>have their own indentation).</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=indent_ignore_asm_block=true|indent_ignore_asm_block=false
+ValueDefault=false
+
+[Donot Indent Func Def Close Paren]
+Category=2
+Description="<html>Don't indent the close parenthesis of a function definition,<br/>if the parenthesis is on its own line.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=donot_indent_func_def_close_paren=true|donot_indent_func_def_close_paren=false
+ValueDefault=false
+
+[Nl Collapse Empty Body]
+Category=3
+Description="<html>Whether to collapse empty blocks between '{' and '}'.<br/>If true, overrides nl_inside_empty_func</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=nl_collapse_empty_body=true|nl_collapse_empty_body=false
+ValueDefault=false
+
+[Nl Assign Leave One Liners]
+Category=3
+Description="<html>Don't split one-line braced assignments, as in 'foo_t f = { 1, 2 };'.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=nl_assign_leave_one_liners=true|nl_assign_leave_one_liners=false
+ValueDefault=false
+
+[Nl Class Leave One Liners]
+Category=3
+Description="<html>Don't split one-line braced statements inside a 'class xx { }' body.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=nl_class_leave_one_liners=true|nl_class_leave_one_liners=false
+ValueDefault=false
+
+[Nl Enum Leave One Liners]
+Category=3
+Description="<html>Don't split one-line enums, as in 'enum foo { BAR = 15 };'</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=nl_enum_leave_one_liners=true|nl_enum_leave_one_liners=false
+ValueDefault=false
+
+[Nl Getset Leave One Liners]
+Category=3
+Description="<html>Don't split one-line get or set functions.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=nl_getset_leave_one_liners=true|nl_getset_leave_one_liners=false
+ValueDefault=false
+
+[Nl Cs Property Leave One Liners]
+Category=3
+Description="<html>(C#) Don't split one-line property get or set functions.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=nl_cs_property_leave_one_liners=true|nl_cs_property_leave_one_liners=false
+ValueDefault=false
+
+[Nl Func Leave One Liners]
+Category=3
+Description="<html>Don't split one-line function definitions, as in 'int foo() { return 0; }'.<br/>might modify nl_func_type_name</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=nl_func_leave_one_liners=true|nl_func_leave_one_liners=false
+ValueDefault=false
+
+[Nl Cpp Lambda Leave One Liners]
+Category=3
+Description="<html>Don't split one-line C++11 lambdas, as in '[]() { return 0; }'.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=nl_cpp_lambda_leave_one_liners=true|nl_cpp_lambda_leave_one_liners=false
+ValueDefault=false
+
+[Nl If Leave One Liners]
+Category=3
+Description="<html>Don't split one-line if/else statements, as in 'if(...) b++;'.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=nl_if_leave_one_liners=true|nl_if_leave_one_liners=false
+ValueDefault=false
+
+[Nl While Leave One Liners]
+Category=3
+Description="<html>Don't split one-line while statements, as in 'while(...) b++;'.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=nl_while_leave_one_liners=true|nl_while_leave_one_liners=false
+ValueDefault=false
+
+[Nl Do Leave One Liners]
+Category=3
+Description="<html>Don't split one-line do statements, as in 'do { b++; } while(...);'.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=nl_do_leave_one_liners=true|nl_do_leave_one_liners=false
+ValueDefault=false
+
+[Nl For Leave One Liners]
+Category=3
+Description="<html>Don't split one-line for statements, as in 'for(...) b++;'.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=nl_for_leave_one_liners=true|nl_for_leave_one_liners=false
+ValueDefault=false
+
+[Nl Oc Msg Leave One Liner]
+Category=3
+Description="<html>(OC) Don't split one-line Objective-C messages.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=nl_oc_msg_leave_one_liner=true|nl_oc_msg_leave_one_liner=false
+ValueDefault=false
+
+[Nl Oc Mdef Brace]
+Category=3
+Description="<html>(OC) Add or remove newline between method declaration and '{'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_oc_mdef_brace=ignore|nl_oc_mdef_brace=add|nl_oc_mdef_brace=remove|nl_oc_mdef_brace=force|nl_oc_mdef_brace=not_defined
+ChoicesReadable="Ignore Nl Oc Mdef Brace|Add Nl Oc Mdef Brace|Remove Nl Oc Mdef Brace|Force Nl Oc Mdef Brace"
+ValueDefault=ignore
+
+[Nl Oc Block Brace]
+Category=3
+Description="<html>(OC) Add or remove newline between Objective-C block signature and '{'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_oc_block_brace=ignore|nl_oc_block_brace=add|nl_oc_block_brace=remove|nl_oc_block_brace=force|nl_oc_block_brace=not_defined
+ChoicesReadable="Ignore Nl Oc Block Brace|Add Nl Oc Block Brace|Remove Nl Oc Block Brace|Force Nl Oc Block Brace"
+ValueDefault=ignore
+
+[Nl Oc Before Interface]
+Category=3
+Description="<html>(OC) Add or remove blank line before '@interface' statement.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_oc_before_interface=ignore|nl_oc_before_interface=add|nl_oc_before_interface=remove|nl_oc_before_interface=force|nl_oc_before_interface=not_defined
+ChoicesReadable="Ignore Nl Oc Before Interface|Add Nl Oc Before Interface|Remove Nl Oc Before Interface|Force Nl Oc Before Interface"
+ValueDefault=ignore
+
+[Nl Oc Before Implementation]
+Category=3
+Description="<html>(OC) Add or remove blank line before '@implementation' statement.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_oc_before_implementation=ignore|nl_oc_before_implementation=add|nl_oc_before_implementation=remove|nl_oc_before_implementation=force|nl_oc_before_implementation=not_defined
+ChoicesReadable="Ignore Nl Oc Before Implementation|Add Nl Oc Before Implementation|Remove Nl Oc Before Implementation|Force Nl Oc Before Implementation"
+ValueDefault=ignore
+
+[Nl Oc Before End]
+Category=3
+Description="<html>(OC) Add or remove blank line before '@end' statement.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_oc_before_end=ignore|nl_oc_before_end=add|nl_oc_before_end=remove|nl_oc_before_end=force|nl_oc_before_end=not_defined
+ChoicesReadable="Ignore Nl Oc Before End|Add Nl Oc Before End|Remove Nl Oc Before End|Force Nl Oc Before End"
+ValueDefault=ignore
+
+[Nl Oc Interface Brace]
+Category=3
+Description="<html>(OC) Add or remove newline between '@interface' and '{'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_oc_interface_brace=ignore|nl_oc_interface_brace=add|nl_oc_interface_brace=remove|nl_oc_interface_brace=force|nl_oc_interface_brace=not_defined
+ChoicesReadable="Ignore Nl Oc Interface Brace|Add Nl Oc Interface Brace|Remove Nl Oc Interface Brace|Force Nl Oc Interface Brace"
+ValueDefault=ignore
+
+[Nl Oc Implementation Brace]
+Category=3
+Description="<html>(OC) Add or remove newline between '@implementation' and '{'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_oc_implementation_brace=ignore|nl_oc_implementation_brace=add|nl_oc_implementation_brace=remove|nl_oc_implementation_brace=force|nl_oc_implementation_brace=not_defined
+ChoicesReadable="Ignore Nl Oc Implementation Brace|Add Nl Oc Implementation Brace|Remove Nl Oc Implementation Brace|Force Nl Oc Implementation Brace"
+ValueDefault=ignore
+
+[Nl Start Of File]
+Category=3
+Description="<html>Add or remove newlines at the start of the file.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_start_of_file=ignore|nl_start_of_file=add|nl_start_of_file=remove|nl_start_of_file=force|nl_start_of_file=not_defined
+ChoicesReadable="Ignore Nl Start Of File|Add Nl Start Of File|Remove Nl Start Of File|Force Nl Start Of File"
+ValueDefault=ignore
+
+[Nl Start Of File Min]
+Category=3
+Description="<html>The minimum number of newlines at the start of the file (only used if<br/>nl_start_of_file is 'add' or 'force').</html>"
+Enabled=false
+EditorType=numeric
+CallName="nl_start_of_file_min="
+MinVal=0
+MaxVal=16
+ValueDefault=0
+
+[Nl End Of File]
+Category=3
+Description="<html>Add or remove newline at the end of the file.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_end_of_file=ignore|nl_end_of_file=add|nl_end_of_file=remove|nl_end_of_file=force|nl_end_of_file=not_defined
+ChoicesReadable="Ignore Nl End Of File|Add Nl End Of File|Remove Nl End Of File|Force Nl End Of File"
+ValueDefault=ignore
+
+[Nl End Of File Min]
+Category=3
+Description="<html>The minimum number of newlines at the end of the file (only used if<br/>nl_end_of_file is 'add' or 'force').</html>"
+Enabled=false
+EditorType=numeric
+CallName="nl_end_of_file_min="
+MinVal=0
+MaxVal=16
+ValueDefault=0
+
+[Nl Assign Brace]
+Category=3
+Description="<html>Add or remove newline between '=' and '{'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_assign_brace=ignore|nl_assign_brace=add|nl_assign_brace=remove|nl_assign_brace=force|nl_assign_brace=not_defined
+ChoicesReadable="Ignore Nl Assign Brace|Add Nl Assign Brace|Remove Nl Assign Brace|Force Nl Assign Brace"
+ValueDefault=ignore
+
+[Nl Assign Square]
+Category=3
+Description="<html>(D) Add or remove newline between '=' and '['.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_assign_square=ignore|nl_assign_square=add|nl_assign_square=remove|nl_assign_square=force|nl_assign_square=not_defined
+ChoicesReadable="Ignore Nl Assign Square|Add Nl Assign Square|Remove Nl Assign Square|Force Nl Assign Square"
+ValueDefault=ignore
+
+[Nl Tsquare Brace]
+Category=3
+Description="<html>Add or remove newline between '[]' and '{'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_tsquare_brace=ignore|nl_tsquare_brace=add|nl_tsquare_brace=remove|nl_tsquare_brace=force|nl_tsquare_brace=not_defined
+ChoicesReadable="Ignore Nl Tsquare Brace|Add Nl Tsquare Brace|Remove Nl Tsquare Brace|Force Nl Tsquare Brace"
+ValueDefault=ignore
+
+[Nl After Square Assign]
+Category=3
+Description="<html>(D) Add or remove newline after '= ['. Will also affect the newline before<br/>the ']'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_after_square_assign=ignore|nl_after_square_assign=add|nl_after_square_assign=remove|nl_after_square_assign=force|nl_after_square_assign=not_defined
+ChoicesReadable="Ignore Nl After Square Assign|Add Nl After Square Assign|Remove Nl After Square Assign|Force Nl After Square Assign"
+ValueDefault=ignore
+
+[Nl Fcall Brace]
+Category=3
+Description="<html>Add or remove newline between a function call's ')' and '{', as in<br/>'list_for_each(item, &amp;list) { }'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_fcall_brace=ignore|nl_fcall_brace=add|nl_fcall_brace=remove|nl_fcall_brace=force|nl_fcall_brace=not_defined
+ChoicesReadable="Ignore Nl Fcall Brace|Add Nl Fcall Brace|Remove Nl Fcall Brace|Force Nl Fcall Brace"
+ValueDefault=ignore
+
+[Nl Enum Brace]
+Category=3
+Description="<html>Add or remove newline between 'enum' and '{'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_enum_brace=ignore|nl_enum_brace=add|nl_enum_brace=remove|nl_enum_brace=force|nl_enum_brace=not_defined
+ChoicesReadable="Ignore Nl Enum Brace|Add Nl Enum Brace|Remove Nl Enum Brace|Force Nl Enum Brace"
+ValueDefault=ignore
+
+[Nl Enum Class]
+Category=3
+Description="<html>Add or remove newline between 'enum' and 'class'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_enum_class=ignore|nl_enum_class=add|nl_enum_class=remove|nl_enum_class=force|nl_enum_class=not_defined
+ChoicesReadable="Ignore Nl Enum Class|Add Nl Enum Class|Remove Nl Enum Class|Force Nl Enum Class"
+ValueDefault=ignore
+
+[Nl Enum Class Identifier]
+Category=3
+Description="<html>Add or remove newline between 'enum class' and the identifier.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_enum_class_identifier=ignore|nl_enum_class_identifier=add|nl_enum_class_identifier=remove|nl_enum_class_identifier=force|nl_enum_class_identifier=not_defined
+ChoicesReadable="Ignore Nl Enum Class Identifier|Add Nl Enum Class Identifier|Remove Nl Enum Class Identifier|Force Nl Enum Class Identifier"
+ValueDefault=ignore
+
+[Nl Enum Identifier Colon]
+Category=3
+Description="<html>Add or remove newline between 'enum class' type and ':'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_enum_identifier_colon=ignore|nl_enum_identifier_colon=add|nl_enum_identifier_colon=remove|nl_enum_identifier_colon=force|nl_enum_identifier_colon=not_defined
+ChoicesReadable="Ignore Nl Enum Identifier Colon|Add Nl Enum Identifier Colon|Remove Nl Enum Identifier Colon|Force Nl Enum Identifier Colon"
+ValueDefault=ignore
+
+[Nl Enum Colon Type]
+Category=3
+Description="<html>Add or remove newline between 'enum class identifier :' and type.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_enum_colon_type=ignore|nl_enum_colon_type=add|nl_enum_colon_type=remove|nl_enum_colon_type=force|nl_enum_colon_type=not_defined
+ChoicesReadable="Ignore Nl Enum Colon Type|Add Nl Enum Colon Type|Remove Nl Enum Colon Type|Force Nl Enum Colon Type"
+ValueDefault=ignore
+
+[Nl Struct Brace]
+Category=3
+Description="<html>Add or remove newline between 'struct and '{'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_struct_brace=ignore|nl_struct_brace=add|nl_struct_brace=remove|nl_struct_brace=force|nl_struct_brace=not_defined
+ChoicesReadable="Ignore Nl Struct Brace|Add Nl Struct Brace|Remove Nl Struct Brace|Force Nl Struct Brace"
+ValueDefault=ignore
+
+[Nl Union Brace]
+Category=3
+Description="<html>Add or remove newline between 'union' and '{'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_union_brace=ignore|nl_union_brace=add|nl_union_brace=remove|nl_union_brace=force|nl_union_brace=not_defined
+ChoicesReadable="Ignore Nl Union Brace|Add Nl Union Brace|Remove Nl Union Brace|Force Nl Union Brace"
+ValueDefault=ignore
+
+[Nl If Brace]
+Category=3
+Description="<html>Add or remove newline between 'if' and '{'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_if_brace=ignore|nl_if_brace=add|nl_if_brace=remove|nl_if_brace=force|nl_if_brace=not_defined
+ChoicesReadable="Ignore Nl If Brace|Add Nl If Brace|Remove Nl If Brace|Force Nl If Brace"
+ValueDefault=ignore
+
+[Nl Brace Else]
+Category=3
+Description="<html>Add or remove newline between '}' and 'else'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_brace_else=ignore|nl_brace_else=add|nl_brace_else=remove|nl_brace_else=force|nl_brace_else=not_defined
+ChoicesReadable="Ignore Nl Brace Else|Add Nl Brace Else|Remove Nl Brace Else|Force Nl Brace Else"
+ValueDefault=ignore
+
+[Nl Elseif Brace]
+Category=3
+Description="<html>Add or remove newline between 'else if' and '{'. If set to ignore,<br/>nl_if_brace is used instead.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_elseif_brace=ignore|nl_elseif_brace=add|nl_elseif_brace=remove|nl_elseif_brace=force|nl_elseif_brace=not_defined
+ChoicesReadable="Ignore Nl Elseif Brace|Add Nl Elseif Brace|Remove Nl Elseif Brace|Force Nl Elseif Brace"
+ValueDefault=ignore
+
+[Nl Else Brace]
+Category=3
+Description="<html>Add or remove newline between 'else' and '{'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_else_brace=ignore|nl_else_brace=add|nl_else_brace=remove|nl_else_brace=force|nl_else_brace=not_defined
+ChoicesReadable="Ignore Nl Else Brace|Add Nl Else Brace|Remove Nl Else Brace|Force Nl Else Brace"
+ValueDefault=ignore
+
+[Nl Else If]
+Category=3
+Description="<html>Add or remove newline between 'else' and 'if'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_else_if=ignore|nl_else_if=add|nl_else_if=remove|nl_else_if=force|nl_else_if=not_defined
+ChoicesReadable="Ignore Nl Else If|Add Nl Else If|Remove Nl Else If|Force Nl Else If"
+ValueDefault=ignore
+
+[Nl Before Opening Brace Func Class Def]
+Category=3
+Description="<html>Add or remove newline before '{' opening brace</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_before_opening_brace_func_class_def=ignore|nl_before_opening_brace_func_class_def=add|nl_before_opening_brace_func_class_def=remove|nl_before_opening_brace_func_class_def=force|nl_before_opening_brace_func_class_def=not_defined
+ChoicesReadable="Ignore Nl Before Opening Brace Func Class Def|Add Nl Before Opening Brace Func Class Def|Remove Nl Before Opening Brace Func Class Def|Force Nl Before Opening Brace Func Class Def"
+ValueDefault=ignore
+
+[Nl Before If Closing Paren]
+Category=3
+Description="<html>Add or remove newline before 'if'/'else if' closing parenthesis.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_before_if_closing_paren=ignore|nl_before_if_closing_paren=add|nl_before_if_closing_paren=remove|nl_before_if_closing_paren=force|nl_before_if_closing_paren=not_defined
+ChoicesReadable="Ignore Nl Before If Closing Paren|Add Nl Before If Closing Paren|Remove Nl Before If Closing Paren|Force Nl Before If Closing Paren"
+ValueDefault=ignore
+
+[Nl Brace Finally]
+Category=3
+Description="<html>Add or remove newline between '}' and 'finally'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_brace_finally=ignore|nl_brace_finally=add|nl_brace_finally=remove|nl_brace_finally=force|nl_brace_finally=not_defined
+ChoicesReadable="Ignore Nl Brace Finally|Add Nl Brace Finally|Remove Nl Brace Finally|Force Nl Brace Finally"
+ValueDefault=ignore
+
+[Nl Finally Brace]
+Category=3
+Description="<html>Add or remove newline between 'finally' and '{'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_finally_brace=ignore|nl_finally_brace=add|nl_finally_brace=remove|nl_finally_brace=force|nl_finally_brace=not_defined
+ChoicesReadable="Ignore Nl Finally Brace|Add Nl Finally Brace|Remove Nl Finally Brace|Force Nl Finally Brace"
+ValueDefault=ignore
+
+[Nl Try Brace]
+Category=3
+Description="<html>Add or remove newline between 'try' and '{'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_try_brace=ignore|nl_try_brace=add|nl_try_brace=remove|nl_try_brace=force|nl_try_brace=not_defined
+ChoicesReadable="Ignore Nl Try Brace|Add Nl Try Brace|Remove Nl Try Brace|Force Nl Try Brace"
+ValueDefault=ignore
+
+[Nl Getset Brace]
+Category=3
+Description="<html>Add or remove newline between get/set and '{'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_getset_brace=ignore|nl_getset_brace=add|nl_getset_brace=remove|nl_getset_brace=force|nl_getset_brace=not_defined
+ChoicesReadable="Ignore Nl Getset Brace|Add Nl Getset Brace|Remove Nl Getset Brace|Force Nl Getset Brace"
+ValueDefault=ignore
+
+[Nl For Brace]
+Category=3
+Description="<html>Add or remove newline between 'for' and '{'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_for_brace=ignore|nl_for_brace=add|nl_for_brace=remove|nl_for_brace=force|nl_for_brace=not_defined
+ChoicesReadable="Ignore Nl For Brace|Add Nl For Brace|Remove Nl For Brace|Force Nl For Brace"
+ValueDefault=ignore
+
+[Nl Catch Brace]
+Category=3
+Description="<html>Add or remove newline before the '{' of a 'catch' statement, as in<br/>'catch (decl) &lt;here&gt; {'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_catch_brace=ignore|nl_catch_brace=add|nl_catch_brace=remove|nl_catch_brace=force|nl_catch_brace=not_defined
+ChoicesReadable="Ignore Nl Catch Brace|Add Nl Catch Brace|Remove Nl Catch Brace|Force Nl Catch Brace"
+ValueDefault=ignore
+
+[Nl Oc Catch Brace]
+Category=3
+Description="<html>(OC) Add or remove newline before the '{' of a '@catch' statement, as in<br/>'@catch (decl) &lt;here&gt; {'. If set to ignore, nl_catch_brace is used.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_oc_catch_brace=ignore|nl_oc_catch_brace=add|nl_oc_catch_brace=remove|nl_oc_catch_brace=force|nl_oc_catch_brace=not_defined
+ChoicesReadable="Ignore Nl Oc Catch Brace|Add Nl Oc Catch Brace|Remove Nl Oc Catch Brace|Force Nl Oc Catch Brace"
+ValueDefault=ignore
+
+[Nl Brace Catch]
+Category=3
+Description="<html>Add or remove newline between '}' and 'catch'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_brace_catch=ignore|nl_brace_catch=add|nl_brace_catch=remove|nl_brace_catch=force|nl_brace_catch=not_defined
+ChoicesReadable="Ignore Nl Brace Catch|Add Nl Brace Catch|Remove Nl Brace Catch|Force Nl Brace Catch"
+ValueDefault=ignore
+
+[Nl Oc Brace Catch]
+Category=3
+Description="<html>(OC) Add or remove newline between '}' and '@catch'. If set to ignore,<br/>nl_brace_catch is used.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_oc_brace_catch=ignore|nl_oc_brace_catch=add|nl_oc_brace_catch=remove|nl_oc_brace_catch=force|nl_oc_brace_catch=not_defined
+ChoicesReadable="Ignore Nl Oc Brace Catch|Add Nl Oc Brace Catch|Remove Nl Oc Brace Catch|Force Nl Oc Brace Catch"
+ValueDefault=ignore
+
+[Nl Brace Square]
+Category=3
+Description="<html>Add or remove newline between '}' and ']'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_brace_square=ignore|nl_brace_square=add|nl_brace_square=remove|nl_brace_square=force|nl_brace_square=not_defined
+ChoicesReadable="Ignore Nl Brace Square|Add Nl Brace Square|Remove Nl Brace Square|Force Nl Brace Square"
+ValueDefault=ignore
+
+[Nl Brace Fparen]
+Category=3
+Description="<html>Add or remove newline between '}' and ')' in a function invocation.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_brace_fparen=ignore|nl_brace_fparen=add|nl_brace_fparen=remove|nl_brace_fparen=force|nl_brace_fparen=not_defined
+ChoicesReadable="Ignore Nl Brace Fparen|Add Nl Brace Fparen|Remove Nl Brace Fparen|Force Nl Brace Fparen"
+ValueDefault=ignore
+
+[Nl While Brace]
+Category=3
+Description="<html>Add or remove newline between 'while' and '{'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_while_brace=ignore|nl_while_brace=add|nl_while_brace=remove|nl_while_brace=force|nl_while_brace=not_defined
+ChoicesReadable="Ignore Nl While Brace|Add Nl While Brace|Remove Nl While Brace|Force Nl While Brace"
+ValueDefault=ignore
+
+[Nl Scope Brace]
+Category=3
+Description="<html>(D) Add or remove newline between 'scope (x)' and '{'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_scope_brace=ignore|nl_scope_brace=add|nl_scope_brace=remove|nl_scope_brace=force|nl_scope_brace=not_defined
+ChoicesReadable="Ignore Nl Scope Brace|Add Nl Scope Brace|Remove Nl Scope Brace|Force Nl Scope Brace"
+ValueDefault=ignore
+
+[Nl Unittest Brace]
+Category=3
+Description="<html>(D) Add or remove newline between 'unittest' and '{'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_unittest_brace=ignore|nl_unittest_brace=add|nl_unittest_brace=remove|nl_unittest_brace=force|nl_unittest_brace=not_defined
+ChoicesReadable="Ignore Nl Unittest Brace|Add Nl Unittest Brace|Remove Nl Unittest Brace|Force Nl Unittest Brace"
+ValueDefault=ignore
+
+[Nl Version Brace]
+Category=3
+Description="<html>(D) Add or remove newline between 'version (x)' and '{'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_version_brace=ignore|nl_version_brace=add|nl_version_brace=remove|nl_version_brace=force|nl_version_brace=not_defined
+ChoicesReadable="Ignore Nl Version Brace|Add Nl Version Brace|Remove Nl Version Brace|Force Nl Version Brace"
+ValueDefault=ignore
+
+[Nl Using Brace]
+Category=3
+Description="<html>(C#) Add or remove newline between 'using' and '{'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_using_brace=ignore|nl_using_brace=add|nl_using_brace=remove|nl_using_brace=force|nl_using_brace=not_defined
+ChoicesReadable="Ignore Nl Using Brace|Add Nl Using Brace|Remove Nl Using Brace|Force Nl Using Brace"
+ValueDefault=ignore
+
+[Nl Brace Brace]
+Category=3
+Description="<html>Add or remove newline between two open or close braces. Due to general<br/>newline/brace handling, REMOVE may not work.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_brace_brace=ignore|nl_brace_brace=add|nl_brace_brace=remove|nl_brace_brace=force|nl_brace_brace=not_defined
+ChoicesReadable="Ignore Nl Brace Brace|Add Nl Brace Brace|Remove Nl Brace Brace|Force Nl Brace Brace"
+ValueDefault=ignore
+
+[Nl Do Brace]
+Category=3
+Description="<html>Add or remove newline between 'do' and '{'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_do_brace=ignore|nl_do_brace=add|nl_do_brace=remove|nl_do_brace=force|nl_do_brace=not_defined
+ChoicesReadable="Ignore Nl Do Brace|Add Nl Do Brace|Remove Nl Do Brace|Force Nl Do Brace"
+ValueDefault=ignore
+
+[Nl Brace While]
+Category=3
+Description="<html>Add or remove newline between '}' and 'while' of 'do' statement.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_brace_while=ignore|nl_brace_while=add|nl_brace_while=remove|nl_brace_while=force|nl_brace_while=not_defined
+ChoicesReadable="Ignore Nl Brace While|Add Nl Brace While|Remove Nl Brace While|Force Nl Brace While"
+ValueDefault=ignore
+
+[Nl Switch Brace]
+Category=3
+Description="<html>Add or remove newline between 'switch' and '{'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_switch_brace=ignore|nl_switch_brace=add|nl_switch_brace=remove|nl_switch_brace=force|nl_switch_brace=not_defined
+ChoicesReadable="Ignore Nl Switch Brace|Add Nl Switch Brace|Remove Nl Switch Brace|Force Nl Switch Brace"
+ValueDefault=ignore
+
+[Nl Synchronized Brace]
+Category=3
+Description="<html>Add or remove newline between 'synchronized' and '{'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_synchronized_brace=ignore|nl_synchronized_brace=add|nl_synchronized_brace=remove|nl_synchronized_brace=force|nl_synchronized_brace=not_defined
+ChoicesReadable="Ignore Nl Synchronized Brace|Add Nl Synchronized Brace|Remove Nl Synchronized Brace|Force Nl Synchronized Brace"
+ValueDefault=ignore
+
+[Nl Multi Line Cond]
+Category=3
+Description="<html>Add a newline between ')' and '{' if the ')' is on a different line than the<br/>if/for/etc.<br/><br/>Overrides nl_for_brace, nl_if_brace, nl_switch_brace, nl_while_switch and<br/>nl_catch_brace.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=nl_multi_line_cond=true|nl_multi_line_cond=false
+ValueDefault=false
+
+[Nl Multi Line Sparen Open]
+Category=3
+Description="<html>Add a newline after '(' if an if/for/while/switch condition spans multiple<br/>lines</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_multi_line_sparen_open=ignore|nl_multi_line_sparen_open=add|nl_multi_line_sparen_open=remove|nl_multi_line_sparen_open=force|nl_multi_line_sparen_open=not_defined
+ChoicesReadable="Ignore Nl Multi Line Sparen Open|Add Nl Multi Line Sparen Open|Remove Nl Multi Line Sparen Open|Force Nl Multi Line Sparen Open"
+ValueDefault=ignore
+
+[Nl Multi Line Sparen Close]
+Category=3
+Description="<html>Add a newline before ')' if an if/for/while/switch condition spans multiple<br/>lines. Overrides nl_before_if_closing_paren if both are specified.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_multi_line_sparen_close=ignore|nl_multi_line_sparen_close=add|nl_multi_line_sparen_close=remove|nl_multi_line_sparen_close=force|nl_multi_line_sparen_close=not_defined
+ChoicesReadable="Ignore Nl Multi Line Sparen Close|Add Nl Multi Line Sparen Close|Remove Nl Multi Line Sparen Close|Force Nl Multi Line Sparen Close"
+ValueDefault=ignore
+
+[Nl Multi Line Define]
+Category=3
+Description="<html>Force a newline in a define after the macro name for multi-line defines.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=nl_multi_line_define=true|nl_multi_line_define=false
+ValueDefault=false
+
+[Nl Before Case]
+Category=3
+Description="<html>Whether to add a newline before 'case', and a blank line before a 'case'<br/>statement that follows a ';' or '}'.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=nl_before_case=true|nl_before_case=false
+ValueDefault=false
+
+[Nl After Case]
+Category=3
+Description="<html>Whether to add a newline after a 'case' statement.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=nl_after_case=true|nl_after_case=false
+ValueDefault=false
+
+[Nl Case Colon Brace]
+Category=3
+Description="<html>Add or remove newline between a case ':' and '{'.<br/><br/>Overrides nl_after_case.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_case_colon_brace=ignore|nl_case_colon_brace=add|nl_case_colon_brace=remove|nl_case_colon_brace=force|nl_case_colon_brace=not_defined
+ChoicesReadable="Ignore Nl Case Colon Brace|Add Nl Case Colon Brace|Remove Nl Case Colon Brace|Force Nl Case Colon Brace"
+ValueDefault=ignore
+
+[Nl Before Throw]
+Category=3
+Description="<html>Add or remove newline between ')' and 'throw'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_before_throw=ignore|nl_before_throw=add|nl_before_throw=remove|nl_before_throw=force|nl_before_throw=not_defined
+ChoicesReadable="Ignore Nl Before Throw|Add Nl Before Throw|Remove Nl Before Throw|Force Nl Before Throw"
+ValueDefault=ignore
+
+[Nl Namespace Brace]
+Category=3
+Description="<html>Add or remove newline between 'namespace' and '{'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_namespace_brace=ignore|nl_namespace_brace=add|nl_namespace_brace=remove|nl_namespace_brace=force|nl_namespace_brace=not_defined
+ChoicesReadable="Ignore Nl Namespace Brace|Add Nl Namespace Brace|Remove Nl Namespace Brace|Force Nl Namespace Brace"
+ValueDefault=ignore
+
+[Nl Template Class]
+Category=3
+Description="<html>Add or remove newline after 'template&lt;...&gt;' of a template class.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_template_class=ignore|nl_template_class=add|nl_template_class=remove|nl_template_class=force|nl_template_class=not_defined
+ChoicesReadable="Ignore Nl Template Class|Add Nl Template Class|Remove Nl Template Class|Force Nl Template Class"
+ValueDefault=ignore
+
+[Nl Template Class Decl]
+Category=3
+Description="<html>Add or remove newline after 'template&lt;...&gt;' of a template class declaration.<br/><br/>Overrides nl_template_class.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_template_class_decl=ignore|nl_template_class_decl=add|nl_template_class_decl=remove|nl_template_class_decl=force|nl_template_class_decl=not_defined
+ChoicesReadable="Ignore Nl Template Class Decl|Add Nl Template Class Decl|Remove Nl Template Class Decl|Force Nl Template Class Decl"
+ValueDefault=ignore
+
+[Nl Template Class Decl Special]
+Category=3
+Description="<html>Add or remove newline after 'template&lt;&gt;' of a specialized class declaration.<br/><br/>Overrides nl_template_class_decl.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_template_class_decl_special=ignore|nl_template_class_decl_special=add|nl_template_class_decl_special=remove|nl_template_class_decl_special=force|nl_template_class_decl_special=not_defined
+ChoicesReadable="Ignore Nl Template Class Decl Special|Add Nl Template Class Decl Special|Remove Nl Template Class Decl Special|Force Nl Template Class Decl Special"
+ValueDefault=ignore
+
+[Nl Template Class Def]
+Category=3
+Description="<html>Add or remove newline after 'template&lt;...&gt;' of a template class definition.<br/><br/>Overrides nl_template_class.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_template_class_def=ignore|nl_template_class_def=add|nl_template_class_def=remove|nl_template_class_def=force|nl_template_class_def=not_defined
+ChoicesReadable="Ignore Nl Template Class Def|Add Nl Template Class Def|Remove Nl Template Class Def|Force Nl Template Class Def"
+ValueDefault=ignore
+
+[Nl Template Class Def Special]
+Category=3
+Description="<html>Add or remove newline after 'template&lt;&gt;' of a specialized class definition.<br/><br/>Overrides nl_template_class_def.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_template_class_def_special=ignore|nl_template_class_def_special=add|nl_template_class_def_special=remove|nl_template_class_def_special=force|nl_template_class_def_special=not_defined
+ChoicesReadable="Ignore Nl Template Class Def Special|Add Nl Template Class Def Special|Remove Nl Template Class Def Special|Force Nl Template Class Def Special"
+ValueDefault=ignore
+
+[Nl Template Func]
+Category=3
+Description="<html>Add or remove newline after 'template&lt;...&gt;' of a template function.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_template_func=ignore|nl_template_func=add|nl_template_func=remove|nl_template_func=force|nl_template_func=not_defined
+ChoicesReadable="Ignore Nl Template Func|Add Nl Template Func|Remove Nl Template Func|Force Nl Template Func"
+ValueDefault=ignore
+
+[Nl Template Func Decl]
+Category=3
+Description="<html>Add or remove newline after 'template&lt;...&gt;' of a template function<br/>declaration.<br/><br/>Overrides nl_template_func.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_template_func_decl=ignore|nl_template_func_decl=add|nl_template_func_decl=remove|nl_template_func_decl=force|nl_template_func_decl=not_defined
+ChoicesReadable="Ignore Nl Template Func Decl|Add Nl Template Func Decl|Remove Nl Template Func Decl|Force Nl Template Func Decl"
+ValueDefault=ignore
+
+[Nl Template Func Decl Special]
+Category=3
+Description="<html>Add or remove newline after 'template&lt;&gt;' of a specialized function<br/>declaration.<br/><br/>Overrides nl_template_func_decl.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_template_func_decl_special=ignore|nl_template_func_decl_special=add|nl_template_func_decl_special=remove|nl_template_func_decl_special=force|nl_template_func_decl_special=not_defined
+ChoicesReadable="Ignore Nl Template Func Decl Special|Add Nl Template Func Decl Special|Remove Nl Template Func Decl Special|Force Nl Template Func Decl Special"
+ValueDefault=ignore
+
+[Nl Template Func Def]
+Category=3
+Description="<html>Add or remove newline after 'template&lt;...&gt;' of a template function<br/>definition.<br/><br/>Overrides nl_template_func.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_template_func_def=ignore|nl_template_func_def=add|nl_template_func_def=remove|nl_template_func_def=force|nl_template_func_def=not_defined
+ChoicesReadable="Ignore Nl Template Func Def|Add Nl Template Func Def|Remove Nl Template Func Def|Force Nl Template Func Def"
+ValueDefault=ignore
+
+[Nl Template Func Def Special]
+Category=3
+Description="<html>Add or remove newline after 'template&lt;&gt;' of a specialized function<br/>definition.<br/><br/>Overrides nl_template_func_def.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_template_func_def_special=ignore|nl_template_func_def_special=add|nl_template_func_def_special=remove|nl_template_func_def_special=force|nl_template_func_def_special=not_defined
+ChoicesReadable="Ignore Nl Template Func Def Special|Add Nl Template Func Def Special|Remove Nl Template Func Def Special|Force Nl Template Func Def Special"
+ValueDefault=ignore
+
+[Nl Template Var]
+Category=3
+Description="<html>Add or remove newline after 'template&lt;...&gt;' of a template variable.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_template_var=ignore|nl_template_var=add|nl_template_var=remove|nl_template_var=force|nl_template_var=not_defined
+ChoicesReadable="Ignore Nl Template Var|Add Nl Template Var|Remove Nl Template Var|Force Nl Template Var"
+ValueDefault=ignore
+
+[Nl Template Using]
+Category=3
+Description="<html>Add or remove newline between 'template&lt;...&gt;' and 'using' of a templated<br/>type alias.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_template_using=ignore|nl_template_using=add|nl_template_using=remove|nl_template_using=force|nl_template_using=not_defined
+ChoicesReadable="Ignore Nl Template Using|Add Nl Template Using|Remove Nl Template Using|Force Nl Template Using"
+ValueDefault=ignore
+
+[Nl Class Brace]
+Category=3
+Description="<html>Add or remove newline between 'class' and '{'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_class_brace=ignore|nl_class_brace=add|nl_class_brace=remove|nl_class_brace=force|nl_class_brace=not_defined
+ChoicesReadable="Ignore Nl Class Brace|Add Nl Class Brace|Remove Nl Class Brace|Force Nl Class Brace"
+ValueDefault=ignore
+
+[Nl Class Init Args]
+Category=3
+Description="<html>Add or remove newline before or after (depending on pos_class_comma,<br/>may not be IGNORE) each',' in the base class list.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_class_init_args=ignore|nl_class_init_args=add|nl_class_init_args=remove|nl_class_init_args=force|nl_class_init_args=not_defined
+ChoicesReadable="Ignore Nl Class Init Args|Add Nl Class Init Args|Remove Nl Class Init Args|Force Nl Class Init Args"
+ValueDefault=ignore
+
+[Nl Constr Init Args]
+Category=3
+Description="<html>Add or remove newline after each ',' in the constructor member<br/>initialization. Related to nl_constr_colon, pos_constr_colon and<br/>pos_constr_comma.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_constr_init_args=ignore|nl_constr_init_args=add|nl_constr_init_args=remove|nl_constr_init_args=force|nl_constr_init_args=not_defined
+ChoicesReadable="Ignore Nl Constr Init Args|Add Nl Constr Init Args|Remove Nl Constr Init Args|Force Nl Constr Init Args"
+ValueDefault=ignore
+
+[Nl Enum Own Lines]
+Category=3
+Description="<html>Add or remove newline before first element, after comma, and after last<br/>element, in 'enum'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_enum_own_lines=ignore|nl_enum_own_lines=add|nl_enum_own_lines=remove|nl_enum_own_lines=force|nl_enum_own_lines=not_defined
+ChoicesReadable="Ignore Nl Enum Own Lines|Add Nl Enum Own Lines|Remove Nl Enum Own Lines|Force Nl Enum Own Lines"
+ValueDefault=ignore
+
+[Nl Func Type Name]
+Category=3
+Description="<html>Add or remove newline between return type and function name in a function<br/>definition.<br/>might be modified by nl_func_leave_one_liners</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_func_type_name=ignore|nl_func_type_name=add|nl_func_type_name=remove|nl_func_type_name=force|nl_func_type_name=not_defined
+ChoicesReadable="Ignore Nl Func Type Name|Add Nl Func Type Name|Remove Nl Func Type Name|Force Nl Func Type Name"
+ValueDefault=ignore
+
+[Nl Func Type Name Class]
+Category=3
+Description="<html>Add or remove newline between return type and function name inside a class<br/>definition. If set to ignore, nl_func_type_name or nl_func_proto_type_name<br/>is used instead.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_func_type_name_class=ignore|nl_func_type_name_class=add|nl_func_type_name_class=remove|nl_func_type_name_class=force|nl_func_type_name_class=not_defined
+ChoicesReadable="Ignore Nl Func Type Name Class|Add Nl Func Type Name Class|Remove Nl Func Type Name Class|Force Nl Func Type Name Class"
+ValueDefault=ignore
+
+[Nl Func Class Scope]
+Category=3
+Description="<html>Add or remove newline between class specification and '::'<br/>in 'void A::f() { }'. Only appears in separate member implementation (does<br/>not appear with in-line implementation).</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_func_class_scope=ignore|nl_func_class_scope=add|nl_func_class_scope=remove|nl_func_class_scope=force|nl_func_class_scope=not_defined
+ChoicesReadable="Ignore Nl Func Class Scope|Add Nl Func Class Scope|Remove Nl Func Class Scope|Force Nl Func Class Scope"
+ValueDefault=ignore
+
+[Nl Func Scope Name]
+Category=3
+Description="<html>Add or remove newline between function scope and name, as in<br/>'void A :: &lt;here&gt; f() { }'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_func_scope_name=ignore|nl_func_scope_name=add|nl_func_scope_name=remove|nl_func_scope_name=force|nl_func_scope_name=not_defined
+ChoicesReadable="Ignore Nl Func Scope Name|Add Nl Func Scope Name|Remove Nl Func Scope Name|Force Nl Func Scope Name"
+ValueDefault=ignore
+
+[Nl Func Proto Type Name]
+Category=3
+Description="<html>Add or remove newline between return type and function name in a prototype.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_func_proto_type_name=ignore|nl_func_proto_type_name=add|nl_func_proto_type_name=remove|nl_func_proto_type_name=force|nl_func_proto_type_name=not_defined
+ChoicesReadable="Ignore Nl Func Proto Type Name|Add Nl Func Proto Type Name|Remove Nl Func Proto Type Name|Force Nl Func Proto Type Name"
+ValueDefault=ignore
+
+[Nl Func Paren]
+Category=3
+Description="<html>Add or remove newline between a function name and the opening '(' in the<br/>declaration.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_func_paren=ignore|nl_func_paren=add|nl_func_paren=remove|nl_func_paren=force|nl_func_paren=not_defined
+ChoicesReadable="Ignore Nl Func Paren|Add Nl Func Paren|Remove Nl Func Paren|Force Nl Func Paren"
+ValueDefault=ignore
+
+[Nl Func Paren Empty]
+Category=3
+Description="<html>Overrides nl_func_paren for functions with no parameters.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_func_paren_empty=ignore|nl_func_paren_empty=add|nl_func_paren_empty=remove|nl_func_paren_empty=force|nl_func_paren_empty=not_defined
+ChoicesReadable="Ignore Nl Func Paren Empty|Add Nl Func Paren Empty|Remove Nl Func Paren Empty|Force Nl Func Paren Empty"
+ValueDefault=ignore
+
+[Nl Func Def Paren]
+Category=3
+Description="<html>Add or remove newline between a function name and the opening '(' in the<br/>definition.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_func_def_paren=ignore|nl_func_def_paren=add|nl_func_def_paren=remove|nl_func_def_paren=force|nl_func_def_paren=not_defined
+ChoicesReadable="Ignore Nl Func Def Paren|Add Nl Func Def Paren|Remove Nl Func Def Paren|Force Nl Func Def Paren"
+ValueDefault=ignore
+
+[Nl Func Def Paren Empty]
+Category=3
+Description="<html>Overrides nl_func_def_paren for functions with no parameters.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_func_def_paren_empty=ignore|nl_func_def_paren_empty=add|nl_func_def_paren_empty=remove|nl_func_def_paren_empty=force|nl_func_def_paren_empty=not_defined
+ChoicesReadable="Ignore Nl Func Def Paren Empty|Add Nl Func Def Paren Empty|Remove Nl Func Def Paren Empty|Force Nl Func Def Paren Empty"
+ValueDefault=ignore
+
+[Nl Func Call Paren]
+Category=3
+Description="<html>Add or remove newline between a function name and the opening '(' in the<br/>call.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_func_call_paren=ignore|nl_func_call_paren=add|nl_func_call_paren=remove|nl_func_call_paren=force|nl_func_call_paren=not_defined
+ChoicesReadable="Ignore Nl Func Call Paren|Add Nl Func Call Paren|Remove Nl Func Call Paren|Force Nl Func Call Paren"
+ValueDefault=ignore
+
+[Nl Func Call Paren Empty]
+Category=3
+Description="<html>Overrides nl_func_call_paren for functions with no parameters.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_func_call_paren_empty=ignore|nl_func_call_paren_empty=add|nl_func_call_paren_empty=remove|nl_func_call_paren_empty=force|nl_func_call_paren_empty=not_defined
+ChoicesReadable="Ignore Nl Func Call Paren Empty|Add Nl Func Call Paren Empty|Remove Nl Func Call Paren Empty|Force Nl Func Call Paren Empty"
+ValueDefault=ignore
+
+[Nl Func Decl Start]
+Category=3
+Description="<html>Add or remove newline after '(' in a function declaration.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_func_decl_start=ignore|nl_func_decl_start=add|nl_func_decl_start=remove|nl_func_decl_start=force|nl_func_decl_start=not_defined
+ChoicesReadable="Ignore Nl Func Decl Start|Add Nl Func Decl Start|Remove Nl Func Decl Start|Force Nl Func Decl Start"
+ValueDefault=ignore
+
+[Nl Func Def Start]
+Category=3
+Description="<html>Add or remove newline after '(' in a function definition.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_func_def_start=ignore|nl_func_def_start=add|nl_func_def_start=remove|nl_func_def_start=force|nl_func_def_start=not_defined
+ChoicesReadable="Ignore Nl Func Def Start|Add Nl Func Def Start|Remove Nl Func Def Start|Force Nl Func Def Start"
+ValueDefault=ignore
+
+[Nl Func Decl Start Single]
+Category=3
+Description="<html>Overrides nl_func_decl_start when there is only one parameter.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_func_decl_start_single=ignore|nl_func_decl_start_single=add|nl_func_decl_start_single=remove|nl_func_decl_start_single=force|nl_func_decl_start_single=not_defined
+ChoicesReadable="Ignore Nl Func Decl Start Single|Add Nl Func Decl Start Single|Remove Nl Func Decl Start Single|Force Nl Func Decl Start Single"
+ValueDefault=ignore
+
+[Nl Func Def Start Single]
+Category=3
+Description="<html>Overrides nl_func_def_start when there is only one parameter.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_func_def_start_single=ignore|nl_func_def_start_single=add|nl_func_def_start_single=remove|nl_func_def_start_single=force|nl_func_def_start_single=not_defined
+ChoicesReadable="Ignore Nl Func Def Start Single|Add Nl Func Def Start Single|Remove Nl Func Def Start Single|Force Nl Func Def Start Single"
+ValueDefault=ignore
+
+[Nl Func Decl Start Multi Line]
+Category=3
+Description="<html>Whether to add a newline after '(' in a function declaration if '(' and ')'<br/>are in different lines. If false, nl_func_decl_start is used instead.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=nl_func_decl_start_multi_line=true|nl_func_decl_start_multi_line=false
+ValueDefault=false
+
+[Nl Func Def Start Multi Line]
+Category=3
+Description="<html>Whether to add a newline after '(' in a function definition if '(' and ')'<br/>are in different lines. If false, nl_func_def_start is used instead.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=nl_func_def_start_multi_line=true|nl_func_def_start_multi_line=false
+ValueDefault=false
+
+[Nl Func Decl Args]
+Category=3
+Description="<html>Add or remove newline after each ',' in a function declaration.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_func_decl_args=ignore|nl_func_decl_args=add|nl_func_decl_args=remove|nl_func_decl_args=force|nl_func_decl_args=not_defined
+ChoicesReadable="Ignore Nl Func Decl Args|Add Nl Func Decl Args|Remove Nl Func Decl Args|Force Nl Func Decl Args"
+ValueDefault=ignore
+
+[Nl Func Def Args]
+Category=3
+Description="<html>Add or remove newline after each ',' in a function definition.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_func_def_args=ignore|nl_func_def_args=add|nl_func_def_args=remove|nl_func_def_args=force|nl_func_def_args=not_defined
+ChoicesReadable="Ignore Nl Func Def Args|Add Nl Func Def Args|Remove Nl Func Def Args|Force Nl Func Def Args"
+ValueDefault=ignore
+
+[Nl Func Call Args]
+Category=3
+Description="<html>Add or remove newline after each ',' in a function call.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_func_call_args=ignore|nl_func_call_args=add|nl_func_call_args=remove|nl_func_call_args=force|nl_func_call_args=not_defined
+ChoicesReadable="Ignore Nl Func Call Args|Add Nl Func Call Args|Remove Nl Func Call Args|Force Nl Func Call Args"
+ValueDefault=ignore
+
+[Nl Func Decl Args Multi Line]
+Category=3
+Description="<html>Whether to add a newline after each ',' in a function declaration if '('<br/>and ')' are in different lines. If false, nl_func_decl_args is used instead.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=nl_func_decl_args_multi_line=true|nl_func_decl_args_multi_line=false
+ValueDefault=false
+
+[Nl Func Def Args Multi Line]
+Category=3
+Description="<html>Whether to add a newline after each ',' in a function definition if '('<br/>and ')' are in different lines. If false, nl_func_def_args is used instead.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=nl_func_def_args_multi_line=true|nl_func_def_args_multi_line=false
+ValueDefault=false
+
+[Nl Func Decl End]
+Category=3
+Description="<html>Add or remove newline before the ')' in a function declaration.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_func_decl_end=ignore|nl_func_decl_end=add|nl_func_decl_end=remove|nl_func_decl_end=force|nl_func_decl_end=not_defined
+ChoicesReadable="Ignore Nl Func Decl End|Add Nl Func Decl End|Remove Nl Func Decl End|Force Nl Func Decl End"
+ValueDefault=ignore
+
+[Nl Func Def End]
+Category=3
+Description="<html>Add or remove newline before the ')' in a function definition.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_func_def_end=ignore|nl_func_def_end=add|nl_func_def_end=remove|nl_func_def_end=force|nl_func_def_end=not_defined
+ChoicesReadable="Ignore Nl Func Def End|Add Nl Func Def End|Remove Nl Func Def End|Force Nl Func Def End"
+ValueDefault=ignore
+
+[Nl Func Decl End Single]
+Category=3
+Description="<html>Overrides nl_func_decl_end when there is only one parameter.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_func_decl_end_single=ignore|nl_func_decl_end_single=add|nl_func_decl_end_single=remove|nl_func_decl_end_single=force|nl_func_decl_end_single=not_defined
+ChoicesReadable="Ignore Nl Func Decl End Single|Add Nl Func Decl End Single|Remove Nl Func Decl End Single|Force Nl Func Decl End Single"
+ValueDefault=ignore
+
+[Nl Func Def End Single]
+Category=3
+Description="<html>Overrides nl_func_def_end when there is only one parameter.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_func_def_end_single=ignore|nl_func_def_end_single=add|nl_func_def_end_single=remove|nl_func_def_end_single=force|nl_func_def_end_single=not_defined
+ChoicesReadable="Ignore Nl Func Def End Single|Add Nl Func Def End Single|Remove Nl Func Def End Single|Force Nl Func Def End Single"
+ValueDefault=ignore
+
+[Nl Func Decl End Multi Line]
+Category=3
+Description="<html>Whether to add a newline before ')' in a function declaration if '(' and ')'<br/>are in different lines. If false, nl_func_decl_end is used instead.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=nl_func_decl_end_multi_line=true|nl_func_decl_end_multi_line=false
+ValueDefault=false
+
+[Nl Func Def End Multi Line]
+Category=3
+Description="<html>Whether to add a newline before ')' in a function definition if '(' and ')'<br/>are in different lines. If false, nl_func_def_end is used instead.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=nl_func_def_end_multi_line=true|nl_func_def_end_multi_line=false
+ValueDefault=false
+
+[Nl Func Decl Empty]
+Category=3
+Description="<html>Add or remove newline between '()' in a function declaration.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_func_decl_empty=ignore|nl_func_decl_empty=add|nl_func_decl_empty=remove|nl_func_decl_empty=force|nl_func_decl_empty=not_defined
+ChoicesReadable="Ignore Nl Func Decl Empty|Add Nl Func Decl Empty|Remove Nl Func Decl Empty|Force Nl Func Decl Empty"
+ValueDefault=ignore
+
+[Nl Func Def Empty]
+Category=3
+Description="<html>Add or remove newline between '()' in a function definition.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_func_def_empty=ignore|nl_func_def_empty=add|nl_func_def_empty=remove|nl_func_def_empty=force|nl_func_def_empty=not_defined
+ChoicesReadable="Ignore Nl Func Def Empty|Add Nl Func Def Empty|Remove Nl Func Def Empty|Force Nl Func Def Empty"
+ValueDefault=ignore
+
+[Nl Func Call Empty]
+Category=3
+Description="<html>Add or remove newline between '()' in a function call.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_func_call_empty=ignore|nl_func_call_empty=add|nl_func_call_empty=remove|nl_func_call_empty=force|nl_func_call_empty=not_defined
+ChoicesReadable="Ignore Nl Func Call Empty|Add Nl Func Call Empty|Remove Nl Func Call Empty|Force Nl Func Call Empty"
+ValueDefault=ignore
+
+[Nl Func Call Start]
+Category=3
+Description="<html>Whether to add a newline after '(' in a function call,<br/>has preference over nl_func_call_start_multi_line.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_func_call_start=ignore|nl_func_call_start=add|nl_func_call_start=remove|nl_func_call_start=force|nl_func_call_start=not_defined
+ChoicesReadable="Ignore Nl Func Call Start|Add Nl Func Call Start|Remove Nl Func Call Start|Force Nl Func Call Start"
+ValueDefault=ignore
+
+[Nl Func Call End]
+Category=3
+Description="<html>Whether to add a newline before ')' in a function call.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_func_call_end=ignore|nl_func_call_end=add|nl_func_call_end=remove|nl_func_call_end=force|nl_func_call_end=not_defined
+ChoicesReadable="Ignore Nl Func Call End|Add Nl Func Call End|Remove Nl Func Call End|Force Nl Func Call End"
+ValueDefault=ignore
+
+[Nl Func Call Start Multi Line]
+Category=3
+Description="<html>Whether to add a newline after '(' in a function call if '(' and ')' are in<br/>different lines.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=nl_func_call_start_multi_line=true|nl_func_call_start_multi_line=false
+ValueDefault=false
+
+[Nl Func Call Args Multi Line]
+Category=3
+Description="<html>Whether to add a newline after each ',' in a function call if '(' and ')'<br/>are in different lines.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=nl_func_call_args_multi_line=true|nl_func_call_args_multi_line=false
+ValueDefault=false
+
+[Nl Func Call End Multi Line]
+Category=3
+Description="<html>Whether to add a newline before ')' in a function call if '(' and ')' are in<br/>different lines.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=nl_func_call_end_multi_line=true|nl_func_call_end_multi_line=false
+ValueDefault=false
+
+[Nl Func Call Args Multi Line Ignore Closures]
+Category=3
+Description="<html>Whether to respect nl_func_call_XXX option in case of closure args.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=nl_func_call_args_multi_line_ignore_closures=true|nl_func_call_args_multi_line_ignore_closures=false
+ValueDefault=false
+
+[Nl Template Start]
+Category=3
+Description="<html>Whether to add a newline after '&lt;' of a template parameter list.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=nl_template_start=true|nl_template_start=false
+ValueDefault=false
+
+[Nl Template Args]
+Category=3
+Description="<html>Whether to add a newline after each ',' in a template parameter list.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=nl_template_args=true|nl_template_args=false
+ValueDefault=false
+
+[Nl Template End]
+Category=3
+Description="<html>Whether to add a newline before '&gt;' of a template parameter list.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=nl_template_end=true|nl_template_end=false
+ValueDefault=false
+
+[Nl Oc Msg Args]
+Category=3
+Description="<html>(OC) Whether to put each Objective-C message parameter on a separate line.<br/>See nl_oc_msg_leave_one_liner.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=nl_oc_msg_args=true|nl_oc_msg_args=false
+ValueDefault=false
+
+[Nl Fdef Brace]
+Category=3
+Description="<html>Add or remove newline between function signature and '{'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_fdef_brace=ignore|nl_fdef_brace=add|nl_fdef_brace=remove|nl_fdef_brace=force|nl_fdef_brace=not_defined
+ChoicesReadable="Ignore Nl Fdef Brace|Add Nl Fdef Brace|Remove Nl Fdef Brace|Force Nl Fdef Brace"
+ValueDefault=ignore
+
+[Nl Fdef Brace Cond]
+Category=3
+Description="<html>Add or remove newline between function signature and '{',<br/>if signature ends with ')'. Overrides nl_fdef_brace.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_fdef_brace_cond=ignore|nl_fdef_brace_cond=add|nl_fdef_brace_cond=remove|nl_fdef_brace_cond=force|nl_fdef_brace_cond=not_defined
+ChoicesReadable="Ignore Nl Fdef Brace Cond|Add Nl Fdef Brace Cond|Remove Nl Fdef Brace Cond|Force Nl Fdef Brace Cond"
+ValueDefault=ignore
+
+[Nl Cpp Ldef Brace]
+Category=3
+Description="<html>Add or remove newline between C++11 lambda signature and '{'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_cpp_ldef_brace=ignore|nl_cpp_ldef_brace=add|nl_cpp_ldef_brace=remove|nl_cpp_ldef_brace=force|nl_cpp_ldef_brace=not_defined
+ChoicesReadable="Ignore Nl Cpp Ldef Brace|Add Nl Cpp Ldef Brace|Remove Nl Cpp Ldef Brace|Force Nl Cpp Ldef Brace"
+ValueDefault=ignore
+
+[Nl Return Expr]
+Category=3
+Description="<html>Add or remove newline between 'return' and the return expression.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_return_expr=ignore|nl_return_expr=add|nl_return_expr=remove|nl_return_expr=force|nl_return_expr=not_defined
+ChoicesReadable="Ignore Nl Return Expr|Add Nl Return Expr|Remove Nl Return Expr|Force Nl Return Expr"
+ValueDefault=ignore
+
+[Nl After Semicolon]
+Category=3
+Description="<html>Whether to add a newline after semicolons, except in 'for' statements.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=nl_after_semicolon=true|nl_after_semicolon=false
+ValueDefault=false
+
+[Nl Paren Dbrace Open]
+Category=3
+Description="<html>(Java) Add or remove newline between the ')' and '{{' of the double brace<br/>initializer.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_paren_dbrace_open=ignore|nl_paren_dbrace_open=add|nl_paren_dbrace_open=remove|nl_paren_dbrace_open=force|nl_paren_dbrace_open=not_defined
+ChoicesReadable="Ignore Nl Paren Dbrace Open|Add Nl Paren Dbrace Open|Remove Nl Paren Dbrace Open|Force Nl Paren Dbrace Open"
+ValueDefault=ignore
+
+[Nl Type Brace Init Lst]
+Category=3
+Description="<html>Whether to add a newline after the type in an unnamed temporary<br/>direct-list-initialization.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_type_brace_init_lst=ignore|nl_type_brace_init_lst=add|nl_type_brace_init_lst=remove|nl_type_brace_init_lst=force|nl_type_brace_init_lst=not_defined
+ChoicesReadable="Ignore Nl Type Brace Init Lst|Add Nl Type Brace Init Lst|Remove Nl Type Brace Init Lst|Force Nl Type Brace Init Lst"
+ValueDefault=ignore
+
+[Nl Type Brace Init Lst Open]
+Category=3
+Description="<html>Whether to add a newline after the open brace in an unnamed temporary<br/>direct-list-initialization.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_type_brace_init_lst_open=ignore|nl_type_brace_init_lst_open=add|nl_type_brace_init_lst_open=remove|nl_type_brace_init_lst_open=force|nl_type_brace_init_lst_open=not_defined
+ChoicesReadable="Ignore Nl Type Brace Init Lst Open|Add Nl Type Brace Init Lst Open|Remove Nl Type Brace Init Lst Open|Force Nl Type Brace Init Lst Open"
+ValueDefault=ignore
+
+[Nl Type Brace Init Lst Close]
+Category=3
+Description="<html>Whether to add a newline before the close brace in an unnamed temporary<br/>direct-list-initialization.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_type_brace_init_lst_close=ignore|nl_type_brace_init_lst_close=add|nl_type_brace_init_lst_close=remove|nl_type_brace_init_lst_close=force|nl_type_brace_init_lst_close=not_defined
+ChoicesReadable="Ignore Nl Type Brace Init Lst Close|Add Nl Type Brace Init Lst Close|Remove Nl Type Brace Init Lst Close|Force Nl Type Brace Init Lst Close"
+ValueDefault=ignore
+
+[Nl Before Brace Open]
+Category=3
+Description="<html>Whether to add a newline before '{'.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=nl_before_brace_open=true|nl_before_brace_open=false
+ValueDefault=false
+
+[Nl After Brace Open]
+Category=3
+Description="<html>Whether to add a newline after '{'.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=nl_after_brace_open=true|nl_after_brace_open=false
+ValueDefault=false
+
+[Nl After Brace Open Cmt]
+Category=3
+Description="<html>Whether to add a newline between the open brace and a trailing single-line<br/>comment. Requires nl_after_brace_open=true.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=nl_after_brace_open_cmt=true|nl_after_brace_open_cmt=false
+ValueDefault=false
+
+[Nl After Vbrace Open]
+Category=3
+Description="<html>Whether to add a newline after a virtual brace open with a non-empty body.<br/>These occur in un-braced if/while/do/for statement bodies.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=nl_after_vbrace_open=true|nl_after_vbrace_open=false
+ValueDefault=false
+
+[Nl After Vbrace Open Empty]
+Category=3
+Description="<html>Whether to add a newline after a virtual brace open with an empty body.<br/>These occur in un-braced if/while/do/for statement bodies.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=nl_after_vbrace_open_empty=true|nl_after_vbrace_open_empty=false
+ValueDefault=false
+
+[Nl After Brace Close]
+Category=3
+Description="<html>Whether to add a newline after '}'. Does not apply if followed by a<br/>necessary ';'.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=nl_after_brace_close=true|nl_after_brace_close=false
+ValueDefault=false
+
+[Nl After Vbrace Close]
+Category=3
+Description="<html>Whether to add a newline after a virtual brace close,<br/>as in 'if (foo) a++; &lt;here&gt; return;'.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=nl_after_vbrace_close=true|nl_after_vbrace_close=false
+ValueDefault=false
+
+[Nl Brace Struct Var]
+Category=3
+Description="<html>Add or remove newline between the close brace and identifier,<br/>as in 'struct { int a; } &lt;here&gt; b;'. Affects enumerations, unions and<br/>structures. If set to ignore, uses nl_after_brace_close.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_brace_struct_var=ignore|nl_brace_struct_var=add|nl_brace_struct_var=remove|nl_brace_struct_var=force|nl_brace_struct_var=not_defined
+ChoicesReadable="Ignore Nl Brace Struct Var|Add Nl Brace Struct Var|Remove Nl Brace Struct Var|Force Nl Brace Struct Var"
+ValueDefault=ignore
+
+[Nl Define Macro]
+Category=3
+Description="<html>Whether to alter newlines in '#define' macros.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=nl_define_macro=true|nl_define_macro=false
+ValueDefault=false
+
+[Nl Squeeze Paren Close]
+Category=3
+Description="<html>Whether to alter newlines between consecutive parenthesis closes. The number<br/>of closing parentheses in a line will depend on respective open parenthesis<br/>lines.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=nl_squeeze_paren_close=true|nl_squeeze_paren_close=false
+ValueDefault=false
+
+[Nl Squeeze Ifdef]
+Category=3
+Description="<html>Whether to remove blanks after '#ifxx' and '#elxx', or before '#elxx' and<br/>'#endif'. Does not affect top-level #ifdefs.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=nl_squeeze_ifdef=true|nl_squeeze_ifdef=false
+ValueDefault=false
+
+[Nl Squeeze Ifdef Top Level]
+Category=3
+Description="<html>Makes the nl_squeeze_ifdef option affect the top-level #ifdefs as well.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=nl_squeeze_ifdef_top_level=true|nl_squeeze_ifdef_top_level=false
+ValueDefault=false
+
+[Nl Before If]
+Category=3
+Description="<html>Add or remove blank line before 'if'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_before_if=ignore|nl_before_if=add|nl_before_if=remove|nl_before_if=force|nl_before_if=not_defined
+ChoicesReadable="Ignore Nl Before If|Add Nl Before If|Remove Nl Before If|Force Nl Before If"
+ValueDefault=ignore
+
+[Nl After If]
+Category=3
+Description="<html>Add or remove blank line after 'if' statement. Add/Force work only if the<br/>next token is not a closing brace.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_after_if=ignore|nl_after_if=add|nl_after_if=remove|nl_after_if=force|nl_after_if=not_defined
+ChoicesReadable="Ignore Nl After If|Add Nl After If|Remove Nl After If|Force Nl After If"
+ValueDefault=ignore
+
+[Nl Before For]
+Category=3
+Description="<html>Add or remove blank line before 'for'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_before_for=ignore|nl_before_for=add|nl_before_for=remove|nl_before_for=force|nl_before_for=not_defined
+ChoicesReadable="Ignore Nl Before For|Add Nl Before For|Remove Nl Before For|Force Nl Before For"
+ValueDefault=ignore
+
+[Nl After For]
+Category=3
+Description="<html>Add or remove blank line after 'for' statement.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_after_for=ignore|nl_after_for=add|nl_after_for=remove|nl_after_for=force|nl_after_for=not_defined
+ChoicesReadable="Ignore Nl After For|Add Nl After For|Remove Nl After For|Force Nl After For"
+ValueDefault=ignore
+
+[Nl Before While]
+Category=3
+Description="<html>Add or remove blank line before 'while'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_before_while=ignore|nl_before_while=add|nl_before_while=remove|nl_before_while=force|nl_before_while=not_defined
+ChoicesReadable="Ignore Nl Before While|Add Nl Before While|Remove Nl Before While|Force Nl Before While"
+ValueDefault=ignore
+
+[Nl After While]
+Category=3
+Description="<html>Add or remove blank line after 'while' statement.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_after_while=ignore|nl_after_while=add|nl_after_while=remove|nl_after_while=force|nl_after_while=not_defined
+ChoicesReadable="Ignore Nl After While|Add Nl After While|Remove Nl After While|Force Nl After While"
+ValueDefault=ignore
+
+[Nl Before Switch]
+Category=3
+Description="<html>Add or remove blank line before 'switch'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_before_switch=ignore|nl_before_switch=add|nl_before_switch=remove|nl_before_switch=force|nl_before_switch=not_defined
+ChoicesReadable="Ignore Nl Before Switch|Add Nl Before Switch|Remove Nl Before Switch|Force Nl Before Switch"
+ValueDefault=ignore
+
+[Nl After Switch]
+Category=3
+Description="<html>Add or remove blank line after 'switch' statement.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_after_switch=ignore|nl_after_switch=add|nl_after_switch=remove|nl_after_switch=force|nl_after_switch=not_defined
+ChoicesReadable="Ignore Nl After Switch|Add Nl After Switch|Remove Nl After Switch|Force Nl After Switch"
+ValueDefault=ignore
+
+[Nl Before Synchronized]
+Category=3
+Description="<html>Add or remove blank line before 'synchronized'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_before_synchronized=ignore|nl_before_synchronized=add|nl_before_synchronized=remove|nl_before_synchronized=force|nl_before_synchronized=not_defined
+ChoicesReadable="Ignore Nl Before Synchronized|Add Nl Before Synchronized|Remove Nl Before Synchronized|Force Nl Before Synchronized"
+ValueDefault=ignore
+
+[Nl After Synchronized]
+Category=3
+Description="<html>Add or remove blank line after 'synchronized' statement.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_after_synchronized=ignore|nl_after_synchronized=add|nl_after_synchronized=remove|nl_after_synchronized=force|nl_after_synchronized=not_defined
+ChoicesReadable="Ignore Nl After Synchronized|Add Nl After Synchronized|Remove Nl After Synchronized|Force Nl After Synchronized"
+ValueDefault=ignore
+
+[Nl Before Do]
+Category=3
+Description="<html>Add or remove blank line before 'do'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_before_do=ignore|nl_before_do=add|nl_before_do=remove|nl_before_do=force|nl_before_do=not_defined
+ChoicesReadable="Ignore Nl Before Do|Add Nl Before Do|Remove Nl Before Do|Force Nl Before Do"
+ValueDefault=ignore
+
+[Nl After Do]
+Category=3
+Description="<html>Add or remove blank line after 'do/while' statement.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_after_do=ignore|nl_after_do=add|nl_after_do=remove|nl_after_do=force|nl_after_do=not_defined
+ChoicesReadable="Ignore Nl After Do|Add Nl After Do|Remove Nl After Do|Force Nl After Do"
+ValueDefault=ignore
+
+[Nl Before Ignore After Case]
+Category=3
+Description="<html>Ignore nl_before_{if,for,switch,do,synchronized} if the control<br/>statement is immediately after a case statement.<br/>if nl_before_{if,for,switch,do} is set to remove, this option<br/>does nothing.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=nl_before_ignore_after_case=true|nl_before_ignore_after_case=false
+ValueDefault=false
+
+[Nl Before Return]
+Category=3
+Description="<html>Whether to put a blank line before 'return' statements, unless after an open<br/>brace.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=nl_before_return=true|nl_before_return=false
+ValueDefault=false
+
+[Nl After Return]
+Category=3
+Description="<html>Whether to put a blank line after 'return' statements, unless followed by a<br/>close brace.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=nl_after_return=true|nl_after_return=false
+ValueDefault=false
+
+[Nl Before Member]
+Category=3
+Description="<html>Whether to put a blank line before a member '.' or '-&gt;' operators.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_before_member=ignore|nl_before_member=add|nl_before_member=remove|nl_before_member=force|nl_before_member=not_defined
+ChoicesReadable="Ignore Nl Before Member|Add Nl Before Member|Remove Nl Before Member|Force Nl Before Member"
+ValueDefault=ignore
+
+[Nl After Member]
+Category=3
+Description="<html>(Java) Whether to put a blank line after a member '.' or '-&gt;' operators.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_after_member=ignore|nl_after_member=add|nl_after_member=remove|nl_after_member=force|nl_after_member=not_defined
+ChoicesReadable="Ignore Nl After Member|Add Nl After Member|Remove Nl After Member|Force Nl After Member"
+ValueDefault=ignore
+
+[Nl Ds Struct Enum Cmt]
+Category=3
+Description="<html>Whether to double-space commented-entries in 'struct'/'union'/'enum'.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=nl_ds_struct_enum_cmt=true|nl_ds_struct_enum_cmt=false
+ValueDefault=false
+
+[Nl Ds Struct Enum Close Brace]
+Category=3
+Description="<html>Whether to force a newline before '}' of a 'struct'/'union'/'enum'.<br/>(Lower priority than eat_blanks_before_close_brace.)</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=nl_ds_struct_enum_close_brace=true|nl_ds_struct_enum_close_brace=false
+ValueDefault=false
+
+[Nl Class Colon]
+Category=3
+Description="<html>Add or remove newline before or after (depending on pos_class_colon) a class<br/>colon, as in 'class Foo &lt;here&gt; : &lt;or here&gt; public Bar'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_class_colon=ignore|nl_class_colon=add|nl_class_colon=remove|nl_class_colon=force|nl_class_colon=not_defined
+ChoicesReadable="Ignore Nl Class Colon|Add Nl Class Colon|Remove Nl Class Colon|Force Nl Class Colon"
+ValueDefault=ignore
+
+[Nl Constr Colon]
+Category=3
+Description="<html>Add or remove newline around a class constructor colon. The exact position<br/>depends on nl_constr_init_args, pos_constr_colon and pos_constr_comma.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_constr_colon=ignore|nl_constr_colon=add|nl_constr_colon=remove|nl_constr_colon=force|nl_constr_colon=not_defined
+ChoicesReadable="Ignore Nl Constr Colon|Add Nl Constr Colon|Remove Nl Constr Colon|Force Nl Constr Colon"
+ValueDefault=ignore
+
+[Nl Namespace Two To One Liner]
+Category=3
+Description="<html>Whether to collapse a two-line namespace, like 'namespace foo\n{ decl; }'<br/>into a single line. If true, prevents other brace newline rules from turning<br/>such code into four lines. If true, it also preserves one-liner namespaces.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=nl_namespace_two_to_one_liner=true|nl_namespace_two_to_one_liner=false
+ValueDefault=false
+
+[Nl Create If One Liner]
+Category=3
+Description="<html>Whether to remove a newline in simple unbraced if statements, turning them<br/>into one-liners, as in 'if(b)\n i++;' =&gt; 'if(b) i++;'.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=nl_create_if_one_liner=true|nl_create_if_one_liner=false
+ValueDefault=false
+
+[Nl Create For One Liner]
+Category=3
+Description="<html>Whether to remove a newline in simple unbraced for statements, turning them<br/>into one-liners, as in 'for (...)\n stmt;' =&gt; 'for (...) stmt;'.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=nl_create_for_one_liner=true|nl_create_for_one_liner=false
+ValueDefault=false
+
+[Nl Create While One Liner]
+Category=3
+Description="<html>Whether to remove a newline in simple unbraced while statements, turning<br/>them into one-liners, as in 'while (expr)\n stmt;' =&gt; 'while (expr) stmt;'.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=nl_create_while_one_liner=true|nl_create_while_one_liner=false
+ValueDefault=false
+
+[Nl Create Func Def One Liner]
+Category=3
+Description="<html>Whether to collapse a function definition whose body (not counting braces)<br/>is only one line so that the entire definition (prototype, braces, body) is<br/>a single line.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=nl_create_func_def_one_liner=true|nl_create_func_def_one_liner=false
+ValueDefault=false
+
+[Nl Create List One Liner]
+Category=3
+Description="<html>Whether to split one-line simple list definitions into three lines by<br/>adding newlines, as in 'int a[12] = { &lt;here&gt; 0 &lt;here&gt; };'.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=nl_create_list_one_liner=true|nl_create_list_one_liner=false
+ValueDefault=false
+
+[Nl Split If One Liner]
+Category=3
+Description="<html>Whether to split one-line simple unbraced if statements into two lines by<br/>adding a newline, as in 'if(b) &lt;here&gt; i++;'.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=nl_split_if_one_liner=true|nl_split_if_one_liner=false
+ValueDefault=false
+
+[Nl Split For One Liner]
+Category=3
+Description="<html>Whether to split one-line simple unbraced for statements into two lines by<br/>adding a newline, as in 'for (...) &lt;here&gt; stmt;'.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=nl_split_for_one_liner=true|nl_split_for_one_liner=false
+ValueDefault=false
+
+[Nl Split While One Liner]
+Category=3
+Description="<html>Whether to split one-line simple unbraced while statements into two lines by<br/>adding a newline, as in 'while (expr) &lt;here&gt; stmt;'.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=nl_split_while_one_liner=true|nl_split_while_one_liner=false
+ValueDefault=false
+
+[Donot Add Nl Before Cpp Comment]
+Category=3
+Description="<html>Don't add a newline before a cpp-comment in a parameter list of a function<br/>call.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=donot_add_nl_before_cpp_comment=true|donot_add_nl_before_cpp_comment=false
+ValueDefault=false
+
+[Nl Max]
+Category=4
+Description="<html>The maximum number of consecutive newlines (3 = 2 blank lines).</html>"
+Enabled=false
+EditorType=numeric
+CallName="nl_max="
+MinVal=0
+MaxVal=16
+ValueDefault=0
+
+[Nl Max Blank In Func]
+Category=4
+Description="<html>The maximum number of consecutive newlines in a function.</html>"
+Enabled=false
+EditorType=numeric
+CallName="nl_max_blank_in_func="
+MinVal=0
+MaxVal=16
+ValueDefault=0
+
+[Nl Inside Empty Func]
+Category=4
+Description="<html>The number of newlines inside an empty function body.<br/>This option overrides eat_blanks_after_open_brace and<br/>eat_blanks_before_close_brace, but is ignored when<br/>nl_collapse_empty_body=true</html>"
+Enabled=false
+EditorType=numeric
+CallName="nl_inside_empty_func="
+MinVal=0
+MaxVal=16
+ValueDefault=0
+
+[Nl Before Func Body Proto]
+Category=4
+Description="<html>The number of newlines before a function prototype.</html>"
+Enabled=false
+EditorType=numeric
+CallName="nl_before_func_body_proto="
+MinVal=0
+MaxVal=16
+ValueDefault=0
+
+[Nl Before Func Body Def]
+Category=4
+Description="<html>The number of newlines before a multi-line function definition. Where<br/>applicable, this option is overridden with eat_blanks_after_open_brace=true</html>"
+Enabled=false
+EditorType=numeric
+CallName="nl_before_func_body_def="
+MinVal=0
+MaxVal=16
+ValueDefault=0
+
+[Nl Before Func Class Proto]
+Category=4
+Description="<html>The number of newlines before a class constructor/destructor prototype.</html>"
+Enabled=false
+EditorType=numeric
+CallName="nl_before_func_class_proto="
+MinVal=0
+MaxVal=16
+ValueDefault=0
+
+[Nl Before Func Class Def]
+Category=4
+Description="<html>The number of newlines before a class constructor/destructor definition.</html>"
+Enabled=false
+EditorType=numeric
+CallName="nl_before_func_class_def="
+MinVal=0
+MaxVal=16
+ValueDefault=0
+
+[Nl After Func Proto]
+Category=4
+Description="<html>The number of newlines after a function prototype.</html>"
+Enabled=false
+EditorType=numeric
+CallName="nl_after_func_proto="
+MinVal=0
+MaxVal=16
+ValueDefault=0
+
+[Nl After Func Proto Group]
+Category=4
+Description="<html>The number of newlines after a function prototype, if not followed by<br/>another function prototype.</html>"
+Enabled=false
+EditorType=numeric
+CallName="nl_after_func_proto_group="
+MinVal=0
+MaxVal=16
+ValueDefault=0
+
+[Nl After Func Class Proto]
+Category=4
+Description="<html>The number of newlines after a class constructor/destructor prototype.</html>"
+Enabled=false
+EditorType=numeric
+CallName="nl_after_func_class_proto="
+MinVal=0
+MaxVal=16
+ValueDefault=0
+
+[Nl After Func Class Proto Group]
+Category=4
+Description="<html>The number of newlines after a class constructor/destructor prototype,<br/>if not followed by another constructor/destructor prototype.</html>"
+Enabled=false
+EditorType=numeric
+CallName="nl_after_func_class_proto_group="
+MinVal=0
+MaxVal=16
+ValueDefault=0
+
+[Nl Class Leave One Liner Groups]
+Category=4
+Description="<html>Whether one-line method definitions inside a class body should be treated<br/>as if they were prototypes for the purposes of adding newlines.<br/><br/>Requires nl_class_leave_one_liners=true. Overrides nl_before_func_body_def<br/>and nl_before_func_class_def for one-liners.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=nl_class_leave_one_liner_groups=true|nl_class_leave_one_liner_groups=false
+ValueDefault=false
+
+[Nl After Func Body]
+Category=4
+Description="<html>The number of newlines after '}' of a multi-line function body.</html>"
+Enabled=false
+EditorType=numeric
+CallName="nl_after_func_body="
+MinVal=0
+MaxVal=16
+ValueDefault=0
+
+[Nl After Func Body Class]
+Category=4
+Description="<html>The number of newlines after '}' of a multi-line function body in a class<br/>declaration. Also affects class constructors/destructors.<br/><br/>Overrides nl_after_func_body.</html>"
+Enabled=false
+EditorType=numeric
+CallName="nl_after_func_body_class="
+MinVal=0
+MaxVal=16
+ValueDefault=0
+
+[Nl After Func Body One Liner]
+Category=4
+Description="<html>The number of newlines after '}' of a single line function body. Also<br/>affects class constructors/destructors.<br/><br/>Overrides nl_after_func_body and nl_after_func_body_class.</html>"
+Enabled=false
+EditorType=numeric
+CallName="nl_after_func_body_one_liner="
+MinVal=0
+MaxVal=16
+ValueDefault=0
+
+[Nl Func Var Def Blk]
+Category=4
+Description="<html>The number of blank lines after a block of variable definitions at the top<br/>of a function body.<br/><br/>0: No change (default).</html>"
+Enabled=false
+EditorType=numeric
+CallName="nl_func_var_def_blk="
+MinVal=0
+MaxVal=16
+ValueDefault=0
+
+[Nl Typedef Blk Start]
+Category=4
+Description="<html>The number of newlines before a block of typedefs. If nl_after_access_spec<br/>is non-zero, that option takes precedence.<br/><br/>0: No change (default).</html>"
+Enabled=false
+EditorType=numeric
+CallName="nl_typedef_blk_start="
+MinVal=0
+MaxVal=16
+ValueDefault=0
+
+[Nl Typedef Blk End]
+Category=4
+Description="<html>The number of newlines after a block of typedefs.<br/><br/>0: No change (default).</html>"
+Enabled=false
+EditorType=numeric
+CallName="nl_typedef_blk_end="
+MinVal=0
+MaxVal=16
+ValueDefault=0
+
+[Nl Typedef Blk In]
+Category=4
+Description="<html>The maximum number of consecutive newlines within a block of typedefs.<br/><br/>0: No change (default).</html>"
+Enabled=false
+EditorType=numeric
+CallName="nl_typedef_blk_in="
+MinVal=0
+MaxVal=16
+ValueDefault=0
+
+[Nl Var Def Blk Start]
+Category=4
+Description="<html>The number of newlines before a block of variable definitions not at the top<br/>of a function body. If nl_after_access_spec is non-zero, that option takes<br/>precedence.<br/><br/>0: No change (default).</html>"
+Enabled=false
+EditorType=numeric
+CallName="nl_var_def_blk_start="
+MinVal=0
+MaxVal=16
+ValueDefault=0
+
+[Nl Var Def Blk End]
+Category=4
+Description="<html>The number of newlines after a block of variable definitions not at the top<br/>of a function body.<br/><br/>0: No change (default).</html>"
+Enabled=false
+EditorType=numeric
+CallName="nl_var_def_blk_end="
+MinVal=0
+MaxVal=16
+ValueDefault=0
+
+[Nl Var Def Blk In]
+Category=4
+Description="<html>The maximum number of consecutive newlines within a block of variable<br/>definitions.<br/><br/>0: No change (default).</html>"
+Enabled=false
+EditorType=numeric
+CallName="nl_var_def_blk_in="
+MinVal=0
+MaxVal=16
+ValueDefault=0
+
+[Nl Before Block Comment]
+Category=4
+Description="<html>The minimum number of newlines before a multi-line comment.<br/>Doesn't apply if after a brace open or another multi-line comment.</html>"
+Enabled=false
+EditorType=numeric
+CallName="nl_before_block_comment="
+MinVal=0
+MaxVal=16
+ValueDefault=0
+
+[Nl Before C Comment]
+Category=4
+Description="<html>The minimum number of newlines before a single-line C comment.<br/>Doesn't apply if after a brace open or other single-line C comments.</html>"
+Enabled=false
+EditorType=numeric
+CallName="nl_before_c_comment="
+MinVal=0
+MaxVal=16
+ValueDefault=0
+
+[Nl Before Cpp Comment]
+Category=4
+Description="<html>The minimum number of newlines before a CPP comment.<br/>Doesn't apply if after a brace open or other CPP comments.</html>"
+Enabled=false
+EditorType=numeric
+CallName="nl_before_cpp_comment="
+MinVal=0
+MaxVal=16
+ValueDefault=0
+
+[Nl After Multiline Comment]
+Category=4
+Description="<html>Whether to force a newline after a multi-line comment.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=nl_after_multiline_comment=true|nl_after_multiline_comment=false
+ValueDefault=false
+
+[Nl After Label Colon]
+Category=4
+Description="<html>Whether to force a newline after a label's colon.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=nl_after_label_colon=true|nl_after_label_colon=false
+ValueDefault=false
+
+[Nl Before Struct]
+Category=4
+Description="<html>The number of newlines before a struct definition.</html>"
+Enabled=false
+EditorType=numeric
+CallName="nl_before_struct="
+MinVal=0
+MaxVal=16
+ValueDefault=0
+
+[Nl After Struct]
+Category=4
+Description="<html>The number of newlines after '}' or ';' of a struct/enum/union definition.</html>"
+Enabled=false
+EditorType=numeric
+CallName="nl_after_struct="
+MinVal=0
+MaxVal=16
+ValueDefault=0
+
+[Nl Before Class]
+Category=4
+Description="<html>The number of newlines before a class definition.</html>"
+Enabled=false
+EditorType=numeric
+CallName="nl_before_class="
+MinVal=0
+MaxVal=16
+ValueDefault=0
+
+[Nl After Class]
+Category=4
+Description="<html>The number of newlines after '}' or ';' of a class definition.</html>"
+Enabled=false
+EditorType=numeric
+CallName="nl_after_class="
+MinVal=0
+MaxVal=16
+ValueDefault=0
+
+[Nl Before Namespace]
+Category=4
+Description="<html>The number of newlines before a namespace.</html>"
+Enabled=false
+EditorType=numeric
+CallName="nl_before_namespace="
+MinVal=0
+MaxVal=16
+ValueDefault=0
+
+[Nl Inside Namespace]
+Category=4
+Description="<html>The number of newlines after '{' of a namespace. This also adds newlines<br/>before the matching '}'.<br/><br/>0: Apply eat_blanks_after_open_brace or eat_blanks_before_close_brace if<br/> applicable, otherwise no change.<br/><br/>Overrides eat_blanks_after_open_brace and eat_blanks_before_close_brace.</html>"
+Enabled=false
+EditorType=numeric
+CallName="nl_inside_namespace="
+MinVal=0
+MaxVal=16
+ValueDefault=0
+
+[Nl After Namespace]
+Category=4
+Description="<html>The number of newlines after '}' of a namespace.</html>"
+Enabled=false
+EditorType=numeric
+CallName="nl_after_namespace="
+MinVal=0
+MaxVal=16
+ValueDefault=0
+
+[Nl Before Access Spec]
+Category=4
+Description="<html>The number of newlines before an access specifier label. This also includes<br/>the Qt-specific 'signals:' and 'slots:'. Will not change the newline count<br/>if after a brace open.<br/><br/>0: No change (default).</html>"
+Enabled=false
+EditorType=numeric
+CallName="nl_before_access_spec="
+MinVal=0
+MaxVal=16
+ValueDefault=0
+
+[Nl After Access Spec]
+Category=4
+Description="<html>The number of newlines after an access specifier label. This also includes<br/>the Qt-specific 'signals:' and 'slots:'. Will not change the newline count<br/>if after a brace open.<br/><br/>0: No change (default).<br/><br/>Overrides nl_typedef_blk_start and nl_var_def_blk_start.</html>"
+Enabled=false
+EditorType=numeric
+CallName="nl_after_access_spec="
+MinVal=0
+MaxVal=16
+ValueDefault=0
+
+[Nl Comment Func Def]
+Category=4
+Description="<html>The number of newlines between a function definition and the function<br/>comment, as in '// comment\n &lt;here&gt; void foo() {...}'.<br/><br/>0: No change (default).</html>"
+Enabled=false
+EditorType=numeric
+CallName="nl_comment_func_def="
+MinVal=0
+MaxVal=16
+ValueDefault=0
+
+[Nl After Try Catch Finally]
+Category=4
+Description="<html>The number of newlines after a try-catch-finally block that isn't followed<br/>by a brace close.<br/><br/>0: No change (default).</html>"
+Enabled=false
+EditorType=numeric
+CallName="nl_after_try_catch_finally="
+MinVal=0
+MaxVal=16
+ValueDefault=0
+
+[Nl Around Cs Property]
+Category=4
+Description="<html>(C#) The number of newlines before and after a property, indexer or event<br/>declaration.<br/><br/>0: No change (default).</html>"
+Enabled=false
+EditorType=numeric
+CallName="nl_around_cs_property="
+MinVal=0
+MaxVal=16
+ValueDefault=0
+
+[Nl Between Get Set]
+Category=4
+Description="<html>(C#) The number of newlines between the get/set/add/remove handlers.<br/><br/>0: No change (default).</html>"
+Enabled=false
+EditorType=numeric
+CallName="nl_between_get_set="
+MinVal=0
+MaxVal=16
+ValueDefault=0
+
+[Nl Property Brace]
+Category=4
+Description="<html>(C#) Add or remove newline between property and the '{'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_property_brace=ignore|nl_property_brace=add|nl_property_brace=remove|nl_property_brace=force|nl_property_brace=not_defined
+ChoicesReadable="Ignore Nl Property Brace|Add Nl Property Brace|Remove Nl Property Brace|Force Nl Property Brace"
+ValueDefault=ignore
+
+[Eat Blanks After Open Brace]
+Category=4
+Description="<html>Whether to remove blank lines after '{'.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=eat_blanks_after_open_brace=true|eat_blanks_after_open_brace=false
+ValueDefault=false
+
+[Eat Blanks Before Close Brace]
+Category=4
+Description="<html>Whether to remove blank lines before '}'.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=eat_blanks_before_close_brace=true|eat_blanks_before_close_brace=false
+ValueDefault=false
+
+[Nl Remove Extra Newlines]
+Category=4
+Description="<html>How aggressively to remove extra newlines not in preprocessor.<br/><br/>0: No change (default)<br/>1: Remove most newlines not handled by other config<br/>2: Remove all newlines and reformat completely by config</html>"
+Enabled=false
+EditorType=numeric
+CallName="nl_remove_extra_newlines="
+MinVal=0
+MaxVal=2
+ValueDefault=0
+
+[Nl After Annotation]
+Category=4
+Description="<html>(Java) Add or remove newline after an annotation statement. Only affects<br/>annotations that are after a newline.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_after_annotation=ignore|nl_after_annotation=add|nl_after_annotation=remove|nl_after_annotation=force|nl_after_annotation=not_defined
+ChoicesReadable="Ignore Nl After Annotation|Add Nl After Annotation|Remove Nl After Annotation|Force Nl After Annotation"
+ValueDefault=ignore
+
+[Nl Between Annotation]
+Category=4
+Description="<html>(Java) Add or remove newline between two annotations.</html>"
+Enabled=false
+EditorType=multiple
+Choices=nl_between_annotation=ignore|nl_between_annotation=add|nl_between_annotation=remove|nl_between_annotation=force|nl_between_annotation=not_defined
+ChoicesReadable="Ignore Nl Between Annotation|Add Nl Between Annotation|Remove Nl Between Annotation|Force Nl Between Annotation"
+ValueDefault=ignore
+
+[Nl Before Whole File Ifdef]
+Category=4
+Description="<html>The number of newlines before a whole-file #ifdef.<br/><br/>0: No change (default).</html>"
+Enabled=false
+EditorType=numeric
+CallName="nl_before_whole_file_ifdef="
+MinVal=0
+MaxVal=16
+ValueDefault=0
+
+[Nl After Whole File Ifdef]
+Category=4
+Description="<html>The number of newlines after a whole-file #ifdef.<br/><br/>0: No change (default).</html>"
+Enabled=false
+EditorType=numeric
+CallName="nl_after_whole_file_ifdef="
+MinVal=0
+MaxVal=16
+ValueDefault=0
+
+[Nl Before Whole File Endif]
+Category=4
+Description="<html>The number of newlines before a whole-file #endif.<br/><br/>0: No change (default).</html>"
+Enabled=false
+EditorType=numeric
+CallName="nl_before_whole_file_endif="
+MinVal=0
+MaxVal=16
+ValueDefault=0
+
+[Nl After Whole File Endif]
+Category=4
+Description="<html>The number of newlines after a whole-file #endif.<br/><br/>0: No change (default).</html>"
+Enabled=false
+EditorType=numeric
+CallName="nl_after_whole_file_endif="
+MinVal=0
+MaxVal=16
+ValueDefault=0
+
+[Pos Arith]
+Category=5
+Description="<html>The position of arithmetic operators in wrapped expressions.</html>"
+Enabled=false
+EditorType=multiple
+Choices=pos_arith=ignore|pos_arith=break|pos_arith=force|pos_arith=lead|pos_arith=trail|pos_arith=join|pos_arith=lead_break|pos_arith=lead_force|pos_arith=trail_break|pos_arith=trail_force
+ChoicesReadable="Ignore Pos Arith|Break Pos Arith|Force Pos Arith|Lead Pos Arith|Trail Pos Arith|Join Pos Arith|Lead Break Pos Arith|Lead Force Pos Arith|Trail Break Pos Arith|Trail Force Pos Arith"
+ValueDefault=ignore
+
+[Pos Assign]
+Category=5
+Description="<html>The position of assignment in wrapped expressions. Do not affect '='<br/>followed by '{'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=pos_assign=ignore|pos_assign=break|pos_assign=force|pos_assign=lead|pos_assign=trail|pos_assign=join|pos_assign=lead_break|pos_assign=lead_force|pos_assign=trail_break|pos_assign=trail_force
+ChoicesReadable="Ignore Pos Assign|Break Pos Assign|Force Pos Assign|Lead Pos Assign|Trail Pos Assign|Join Pos Assign|Lead Break Pos Assign|Lead Force Pos Assign|Trail Break Pos Assign|Trail Force Pos Assign"
+ValueDefault=ignore
+
+[Pos Bool]
+Category=5
+Description="<html>The position of Boolean operators in wrapped expressions.</html>"
+Enabled=false
+EditorType=multiple
+Choices=pos_bool=ignore|pos_bool=break|pos_bool=force|pos_bool=lead|pos_bool=trail|pos_bool=join|pos_bool=lead_break|pos_bool=lead_force|pos_bool=trail_break|pos_bool=trail_force
+ChoicesReadable="Ignore Pos Bool|Break Pos Bool|Force Pos Bool|Lead Pos Bool|Trail Pos Bool|Join Pos Bool|Lead Break Pos Bool|Lead Force Pos Bool|Trail Break Pos Bool|Trail Force Pos Bool"
+ValueDefault=ignore
+
+[Pos Compare]
+Category=5
+Description="<html>The position of comparison operators in wrapped expressions.</html>"
+Enabled=false
+EditorType=multiple
+Choices=pos_compare=ignore|pos_compare=break|pos_compare=force|pos_compare=lead|pos_compare=trail|pos_compare=join|pos_compare=lead_break|pos_compare=lead_force|pos_compare=trail_break|pos_compare=trail_force
+ChoicesReadable="Ignore Pos Compare|Break Pos Compare|Force Pos Compare|Lead Pos Compare|Trail Pos Compare|Join Pos Compare|Lead Break Pos Compare|Lead Force Pos Compare|Trail Break Pos Compare|Trail Force Pos Compare"
+ValueDefault=ignore
+
+[Pos Conditional]
+Category=5
+Description="<html>The position of conditional operators, as in the '?' and ':' of<br/>'expr ? stmt : stmt', in wrapped expressions.</html>"
+Enabled=false
+EditorType=multiple
+Choices=pos_conditional=ignore|pos_conditional=break|pos_conditional=force|pos_conditional=lead|pos_conditional=trail|pos_conditional=join|pos_conditional=lead_break|pos_conditional=lead_force|pos_conditional=trail_break|pos_conditional=trail_force
+ChoicesReadable="Ignore Pos Conditional|Break Pos Conditional|Force Pos Conditional|Lead Pos Conditional|Trail Pos Conditional|Join Pos Conditional|Lead Break Pos Conditional|Lead Force Pos Conditional|Trail Break Pos Conditional|Trail Force Pos Conditional"
+ValueDefault=ignore
+
+[Pos Comma]
+Category=5
+Description="<html>The position of the comma in wrapped expressions.</html>"
+Enabled=false
+EditorType=multiple
+Choices=pos_comma=ignore|pos_comma=break|pos_comma=force|pos_comma=lead|pos_comma=trail|pos_comma=join|pos_comma=lead_break|pos_comma=lead_force|pos_comma=trail_break|pos_comma=trail_force
+ChoicesReadable="Ignore Pos Comma|Break Pos Comma|Force Pos Comma|Lead Pos Comma|Trail Pos Comma|Join Pos Comma|Lead Break Pos Comma|Lead Force Pos Comma|Trail Break Pos Comma|Trail Force Pos Comma"
+ValueDefault=ignore
+
+[Pos Enum Comma]
+Category=5
+Description="<html>The position of the comma in enum entries.</html>"
+Enabled=false
+EditorType=multiple
+Choices=pos_enum_comma=ignore|pos_enum_comma=break|pos_enum_comma=force|pos_enum_comma=lead|pos_enum_comma=trail|pos_enum_comma=join|pos_enum_comma=lead_break|pos_enum_comma=lead_force|pos_enum_comma=trail_break|pos_enum_comma=trail_force
+ChoicesReadable="Ignore Pos Enum Comma|Break Pos Enum Comma|Force Pos Enum Comma|Lead Pos Enum Comma|Trail Pos Enum Comma|Join Pos Enum Comma|Lead Break Pos Enum Comma|Lead Force Pos Enum Comma|Trail Break Pos Enum Comma|Trail Force Pos Enum Comma"
+ValueDefault=ignore
+
+[Pos Class Comma]
+Category=5
+Description="<html>The position of the comma in the base class list if there is more than one<br/>line. Affects nl_class_init_args.</html>"
+Enabled=false
+EditorType=multiple
+Choices=pos_class_comma=ignore|pos_class_comma=break|pos_class_comma=force|pos_class_comma=lead|pos_class_comma=trail|pos_class_comma=join|pos_class_comma=lead_break|pos_class_comma=lead_force|pos_class_comma=trail_break|pos_class_comma=trail_force
+ChoicesReadable="Ignore Pos Class Comma|Break Pos Class Comma|Force Pos Class Comma|Lead Pos Class Comma|Trail Pos Class Comma|Join Pos Class Comma|Lead Break Pos Class Comma|Lead Force Pos Class Comma|Trail Break Pos Class Comma|Trail Force Pos Class Comma"
+ValueDefault=ignore
+
+[Pos Constr Comma]
+Category=5
+Description="<html>The position of the comma in the constructor initialization list.<br/>Related to nl_constr_colon, nl_constr_init_args and pos_constr_colon.</html>"
+Enabled=false
+EditorType=multiple
+Choices=pos_constr_comma=ignore|pos_constr_comma=break|pos_constr_comma=force|pos_constr_comma=lead|pos_constr_comma=trail|pos_constr_comma=join|pos_constr_comma=lead_break|pos_constr_comma=lead_force|pos_constr_comma=trail_break|pos_constr_comma=trail_force
+ChoicesReadable="Ignore Pos Constr Comma|Break Pos Constr Comma|Force Pos Constr Comma|Lead Pos Constr Comma|Trail Pos Constr Comma|Join Pos Constr Comma|Lead Break Pos Constr Comma|Lead Force Pos Constr Comma|Trail Break Pos Constr Comma|Trail Force Pos Constr Comma"
+ValueDefault=ignore
+
+[Pos Class Colon]
+Category=5
+Description="<html>The position of trailing/leading class colon, between class and base class<br/>list. Affects nl_class_colon.</html>"
+Enabled=false
+EditorType=multiple
+Choices=pos_class_colon=ignore|pos_class_colon=break|pos_class_colon=force|pos_class_colon=lead|pos_class_colon=trail|pos_class_colon=join|pos_class_colon=lead_break|pos_class_colon=lead_force|pos_class_colon=trail_break|pos_class_colon=trail_force
+ChoicesReadable="Ignore Pos Class Colon|Break Pos Class Colon|Force Pos Class Colon|Lead Pos Class Colon|Trail Pos Class Colon|Join Pos Class Colon|Lead Break Pos Class Colon|Lead Force Pos Class Colon|Trail Break Pos Class Colon|Trail Force Pos Class Colon"
+ValueDefault=ignore
+
+[Pos Constr Colon]
+Category=5
+Description="<html>The position of colons between constructor and member initialization.<br/>Related to nl_constr_colon, nl_constr_init_args and pos_constr_comma.</html>"
+Enabled=false
+EditorType=multiple
+Choices=pos_constr_colon=ignore|pos_constr_colon=break|pos_constr_colon=force|pos_constr_colon=lead|pos_constr_colon=trail|pos_constr_colon=join|pos_constr_colon=lead_break|pos_constr_colon=lead_force|pos_constr_colon=trail_break|pos_constr_colon=trail_force
+ChoicesReadable="Ignore Pos Constr Colon|Break Pos Constr Colon|Force Pos Constr Colon|Lead Pos Constr Colon|Trail Pos Constr Colon|Join Pos Constr Colon|Lead Break Pos Constr Colon|Lead Force Pos Constr Colon|Trail Break Pos Constr Colon|Trail Force Pos Constr Colon"
+ValueDefault=ignore
+
+[Pos Shift]
+Category=5
+Description="<html>The position of shift operators in wrapped expressions.</html>"
+Enabled=false
+EditorType=multiple
+Choices=pos_shift=ignore|pos_shift=break|pos_shift=force|pos_shift=lead|pos_shift=trail|pos_shift=join|pos_shift=lead_break|pos_shift=lead_force|pos_shift=trail_break|pos_shift=trail_force
+ChoicesReadable="Ignore Pos Shift|Break Pos Shift|Force Pos Shift|Lead Pos Shift|Trail Pos Shift|Join Pos Shift|Lead Break Pos Shift|Lead Force Pos Shift|Trail Break Pos Shift|Trail Force Pos Shift"
+ValueDefault=ignore
+
+[Code Width]
+Category=6
+Description="<html>Try to limit code width to N columns.</html>"
+Enabled=false
+EditorType=numeric
+CallName="code_width="
+MinVal=0
+MaxVal=10000
+ValueDefault=0
+
+[Ls For Split Full]
+Category=6
+Description="<html>Whether to fully split long 'for' statements at semi-colons.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=ls_for_split_full=true|ls_for_split_full=false
+ValueDefault=false
+
+[Ls Func Split Full]
+Category=6
+Description="<html>Whether to fully split long function prototypes/calls at commas.<br/>The option ls_code_width has priority over the option ls_func_split_full.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=ls_func_split_full=true|ls_func_split_full=false
+ValueDefault=false
+
+[Ls Code Width]
+Category=6
+Description="<html>Whether to split lines as close to code_width as possible and ignore some<br/>groupings.<br/>The option ls_code_width has priority over the option ls_func_split_full.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=ls_code_width=true|ls_code_width=false
+ValueDefault=false
+
+[Align Keep Tabs]
+Category=7
+Description="<html>Whether to keep non-indenting tabs.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=align_keep_tabs=true|align_keep_tabs=false
+ValueDefault=false
+
+[Align With Tabs]
+Category=7
+Description="<html>Whether to use tabs for aligning.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=align_with_tabs=true|align_with_tabs=false
+ValueDefault=false
+
+[Align On Tabstop]
+Category=7
+Description="<html>Whether to bump out to the next tab when aligning.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=align_on_tabstop=true|align_on_tabstop=false
+ValueDefault=false
+
+[Align Number Right]
+Category=7
+Description="<html>Whether to right-align numbers.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=align_number_right=true|align_number_right=false
+ValueDefault=false
+
+[Align Keep Extra Space]
+Category=7
+Description="<html>Whether to keep whitespace not required for alignment.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=align_keep_extra_space=true|align_keep_extra_space=false
+ValueDefault=false
+
+[Align Func Params]
+Category=7
+Description="<html>Whether to align variable definitions in prototypes and functions.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=align_func_params=true|align_func_params=false
+ValueDefault=false
+
+[Align Func Params Span]
+Category=7
+Description="<html>The span for aligning parameter definitions in function on parameter name.<br/><br/>0: Don't align (default).</html>"
+Enabled=false
+EditorType=numeric
+CallName="align_func_params_span="
+MinVal=0
+MaxVal=16
+ValueDefault=0
+
+[Align Func Params Thresh]
+Category=7
+Description="<html>The threshold for aligning function parameter definitions.<br/>Use a negative number for absolute thresholds.<br/><br/>0: No limit (default).</html>"
+Enabled=false
+EditorType=numeric
+CallName="align_func_params_thresh="
+MinVal=-1000
+MaxVal=5000
+ValueDefault=0
+
+[Align Func Params Gap]
+Category=7
+Description="<html>The gap for aligning function parameter definitions.</html>"
+Enabled=false
+EditorType=numeric
+CallName="align_func_params_gap="
+MinVal=0
+MaxVal=16
+ValueDefault=0
+
+[Align Constr Value Span]
+Category=7
+Description="<html>The span for aligning constructor value.<br/><br/>0: Don't align (default).</html>"
+Enabled=false
+EditorType=numeric
+CallName="align_constr_value_span="
+MinVal=0
+MaxVal=16
+ValueDefault=0
+
+[Align Constr Value Thresh]
+Category=7
+Description="<html>The threshold for aligning constructor value.<br/>Use a negative number for absolute thresholds.<br/><br/>0: No limit (default).</html>"
+Enabled=false
+EditorType=numeric
+CallName="align_constr_value_thresh="
+MinVal=-1000
+MaxVal=5000
+ValueDefault=0
+
+[Align Constr Value Gap]
+Category=7
+Description="<html>The gap for aligning constructor value.</html>"
+Enabled=false
+EditorType=numeric
+CallName="align_constr_value_gap="
+MinVal=0
+MaxVal=16
+ValueDefault=0
+
+[Align Same Func Call Params]
+Category=7
+Description="<html>Whether to align parameters in single-line functions that have the same<br/>name. The function names must already be aligned with each other.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=align_same_func_call_params=true|align_same_func_call_params=false
+ValueDefault=false
+
+[Align Same Func Call Params Span]
+Category=7
+Description="<html>The span for aligning function-call parameters for single line functions.<br/><br/>0: Don't align (default).</html>"
+Enabled=false
+EditorType=numeric
+CallName="align_same_func_call_params_span="
+MinVal=0
+MaxVal=5000
+ValueDefault=0
+
+[Align Same Func Call Params Thresh]
+Category=7
+Description="<html>The threshold for aligning function-call parameters for single line<br/>functions.<br/>Use a negative number for absolute thresholds.<br/><br/>0: No limit (default).</html>"
+Enabled=false
+EditorType=numeric
+CallName="align_same_func_call_params_thresh="
+MinVal=-1000
+MaxVal=5000
+ValueDefault=0
+
+[Align Var Def Span]
+Category=7
+Description="<html>The span for aligning variable definitions.<br/><br/>0: Don't align (default).</html>"
+Enabled=false
+EditorType=numeric
+CallName="align_var_def_span="
+MinVal=0
+MaxVal=5000
+ValueDefault=0
+
+[Align Var Def Star Style]
+Category=7
+Description="<html>How to consider (or treat) the '*' in the alignment of variable definitions.<br/><br/>0: Part of the type 'void * foo;' (default)<br/>1: Part of the variable 'void *foo;'<br/>2: Dangling 'void *foo;'<br/>Dangling: the '*' will not be taken into account when aligning.</html>"
+Enabled=false
+EditorType=numeric
+CallName="align_var_def_star_style="
+MinVal=0
+MaxVal=2
+ValueDefault=0
+
+[Align Var Def Amp Style]
+Category=7
+Description="<html>How to consider (or treat) the '&amp;' in the alignment of variable definitions.<br/><br/>0: Part of the type 'long &amp; foo;' (default)<br/>1: Part of the variable 'long &amp;foo;'<br/>2: Dangling 'long &amp;foo;'<br/>Dangling: the '&amp;' will not be taken into account when aligning.</html>"
+Enabled=false
+EditorType=numeric
+CallName="align_var_def_amp_style="
+MinVal=0
+MaxVal=2
+ValueDefault=0
+
+[Align Var Def Thresh]
+Category=7
+Description="<html>The threshold for aligning variable definitions.<br/>Use a negative number for absolute thresholds.<br/><br/>0: No limit (default).</html>"
+Enabled=false
+EditorType=numeric
+CallName="align_var_def_thresh="
+MinVal=-1000
+MaxVal=5000
+ValueDefault=0
+
+[Align Var Def Gap]
+Category=7
+Description="<html>The gap for aligning variable definitions.</html>"
+Enabled=false
+EditorType=numeric
+CallName="align_var_def_gap="
+MinVal=0
+MaxVal=16
+ValueDefault=0
+
+[Align Var Def Colon]
+Category=7
+Description="<html>Whether to align the colon in struct bit fields.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=align_var_def_colon=true|align_var_def_colon=false
+ValueDefault=false
+
+[Align Var Def Colon Gap]
+Category=7
+Description="<html>The gap for aligning the colon in struct bit fields.</html>"
+Enabled=false
+EditorType=numeric
+CallName="align_var_def_colon_gap="
+MinVal=0
+MaxVal=16
+ValueDefault=0
+
+[Align Var Def Attribute]
+Category=7
+Description="<html>Whether to align any attribute after the variable name.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=align_var_def_attribute=true|align_var_def_attribute=false
+ValueDefault=false
+
+[Align Var Def Inline]
+Category=7
+Description="<html>Whether to align inline struct/enum/union variable definitions.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=align_var_def_inline=true|align_var_def_inline=false
+ValueDefault=false
+
+[Align Assign Span]
+Category=7
+Description="<html>The span for aligning on '=' in assignments.<br/><br/>0: Don't align (default).</html>"
+Enabled=false
+EditorType=numeric
+CallName="align_assign_span="
+MinVal=0
+MaxVal=5000
+ValueDefault=0
+
+[Align Assign Func Proto Span]
+Category=7
+Description="<html>The span for aligning on '=' in function prototype modifier.<br/><br/>0: Don't align (default).</html>"
+Enabled=false
+EditorType=numeric
+CallName="align_assign_func_proto_span="
+MinVal=0
+MaxVal=5000
+ValueDefault=0
+
+[Align Assign Thresh]
+Category=7
+Description="<html>The threshold for aligning on '=' in assignments.<br/>Use a negative number for absolute thresholds.<br/><br/>0: No limit (default).</html>"
+Enabled=false
+EditorType=numeric
+CallName="align_assign_thresh="
+MinVal=-1000
+MaxVal=5000
+ValueDefault=0
+
+[Align Assign Decl Func]
+Category=7
+Description="<html>How to apply align_assign_span to function declaration "assignments", i.e.<br/>'virtual void foo() = 0' or '~foo() = {default|delete}'.<br/><br/>0: Align with other assignments (default)<br/>1: Align with each other, ignoring regular assignments<br/>2: Don't align</html>"
+Enabled=false
+EditorType=numeric
+CallName="align_assign_decl_func="
+MinVal=0
+MaxVal=2
+ValueDefault=0
+
+[Align Enum Equ Span]
+Category=7
+Description="<html>The span for aligning on '=' in enums.<br/><br/>0: Don't align (default).</html>"
+Enabled=false
+EditorType=numeric
+CallName="align_enum_equ_span="
+MinVal=0
+MaxVal=5000
+ValueDefault=0
+
+[Align Enum Equ Thresh]
+Category=7
+Description="<html>The threshold for aligning on '=' in enums.<br/>Use a negative number for absolute thresholds.<br/><br/>0: no limit (default).</html>"
+Enabled=false
+EditorType=numeric
+CallName="align_enum_equ_thresh="
+MinVal=-1000
+MaxVal=5000
+ValueDefault=0
+
+[Align Var Class Span]
+Category=7
+Description="<html>The span for aligning class member definitions.<br/><br/>0: Don't align (default).</html>"
+Enabled=false
+EditorType=numeric
+CallName="align_var_class_span="
+MinVal=0
+MaxVal=5000
+ValueDefault=0
+
+[Align Var Class Thresh]
+Category=7
+Description="<html>The threshold for aligning class member definitions.<br/>Use a negative number for absolute thresholds.<br/><br/>0: No limit (default).</html>"
+Enabled=false
+EditorType=numeric
+CallName="align_var_class_thresh="
+MinVal=-1000
+MaxVal=5000
+ValueDefault=0
+
+[Align Var Class Gap]
+Category=7
+Description="<html>The gap for aligning class member definitions.</html>"
+Enabled=false
+EditorType=numeric
+CallName="align_var_class_gap="
+MinVal=0
+MaxVal=16
+ValueDefault=0
+
+[Align Var Struct Span]
+Category=7
+Description="<html>The span for aligning struct/union member definitions.<br/><br/>0: Don't align (default).</html>"
+Enabled=false
+EditorType=numeric
+CallName="align_var_struct_span="
+MinVal=0
+MaxVal=5000
+ValueDefault=0
+
+[Align Var Struct Thresh]
+Category=7
+Description="<html>The threshold for aligning struct/union member definitions.<br/>Use a negative number for absolute thresholds.<br/><br/>0: No limit (default).</html>"
+Enabled=false
+EditorType=numeric
+CallName="align_var_struct_thresh="
+MinVal=-1000
+MaxVal=5000
+ValueDefault=0
+
+[Align Var Struct Gap]
+Category=7
+Description="<html>The gap for aligning struct/union member definitions.</html>"
+Enabled=false
+EditorType=numeric
+CallName="align_var_struct_gap="
+MinVal=0
+MaxVal=16
+ValueDefault=0
+
+[Align Struct Init Span]
+Category=7
+Description="<html>The span for aligning struct initializer values.<br/><br/>0: Don't align (default).</html>"
+Enabled=false
+EditorType=numeric
+CallName="align_struct_init_span="
+MinVal=0
+MaxVal=5000
+ValueDefault=0
+
+[Align Typedef Span]
+Category=7
+Description="<html>The span for aligning single-line typedefs.<br/><br/>0: Don't align (default).</html>"
+Enabled=false
+EditorType=numeric
+CallName="align_typedef_span="
+MinVal=0
+MaxVal=16
+ValueDefault=0
+
+[Align Typedef Gap]
+Category=7
+Description="<html>The minimum space between the type and the synonym of a typedef.</html>"
+Enabled=false
+EditorType=numeric
+CallName="align_typedef_gap="
+MinVal=0
+MaxVal=16
+ValueDefault=0
+
+[Align Typedef Func]
+Category=7
+Description="<html>How to align typedef'd functions with other typedefs.<br/><br/>0: Don't mix them at all (default)<br/>1: Align the open parenthesis with the types<br/>2: Align the function type name with the other type names</html>"
+Enabled=false
+EditorType=numeric
+CallName="align_typedef_func="
+MinVal=0
+MaxVal=2
+ValueDefault=0
+
+[Align Typedef Star Style]
+Category=7
+Description="<html>How to consider (or treat) the '*' in the alignment of typedefs.<br/><br/>0: Part of the typedef type, 'typedef int * pint;' (default)<br/>1: Part of type name: 'typedef int *pint;'<br/>2: Dangling: 'typedef int *pint;'<br/>Dangling: the '*' will not be taken into account when aligning.</html>"
+Enabled=false
+EditorType=numeric
+CallName="align_typedef_star_style="
+MinVal=0
+MaxVal=2
+ValueDefault=0
+
+[Align Typedef Amp Style]
+Category=7
+Description="<html>How to consider (or treat) the '&amp;' in the alignment of typedefs.<br/><br/>0: Part of the typedef type, 'typedef int &amp; intref;' (default)<br/>1: Part of type name: 'typedef int &amp;intref;'<br/>2: Dangling: 'typedef int &amp;intref;'<br/>Dangling: the '&amp;' will not be taken into account when aligning.</html>"
+Enabled=false
+EditorType=numeric
+CallName="align_typedef_amp_style="
+MinVal=0
+MaxVal=2
+ValueDefault=0
+
+[Align Right Cmt Span]
+Category=7
+Description="<html>The span for aligning comments that end lines.<br/><br/>0: Don't align (default).</html>"
+Enabled=false
+EditorType=numeric
+CallName="align_right_cmt_span="
+MinVal=0
+MaxVal=5000
+ValueDefault=0
+
+[Align Right Cmt Gap]
+Category=7
+Description="<html>Minimum number of columns between preceding text and a trailing comment in<br/>order for the comment to qualify for being aligned. Must be non-zero to have<br/>an effect.</html>"
+Enabled=false
+EditorType=numeric
+CallName="align_right_cmt_gap="
+MinVal=0
+MaxVal=16
+ValueDefault=0
+
+[Align Right Cmt Mix]
+Category=7
+Description="<html>If aligning comments, whether to mix with comments after '}' and #endif with<br/>less than three spaces before the comment.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=align_right_cmt_mix=true|align_right_cmt_mix=false
+ValueDefault=false
+
+[Align Right Cmt Same Level]
+Category=7
+Description="<html>Whether to only align trailing comments that are at the same brace level.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=align_right_cmt_same_level=true|align_right_cmt_same_level=false
+ValueDefault=false
+
+[Align Right Cmt At Col]
+Category=7
+Description="<html>Minimum column at which to align trailing comments. Comments which are<br/>aligned beyond this column, but which can be aligned in a lesser column,<br/>may be "pulled in".<br/><br/>0: Ignore (default).</html>"
+Enabled=false
+EditorType=numeric
+CallName="align_right_cmt_at_col="
+MinVal=0
+MaxVal=200
+ValueDefault=0
+
+[Align Func Proto Span]
+Category=7
+Description="<html>The span for aligning function prototypes.<br/><br/>0: Don't align (default).</html>"
+Enabled=false
+EditorType=numeric
+CallName="align_func_proto_span="
+MinVal=0
+MaxVal=5000
+ValueDefault=0
+
+[Align Func Proto Star Style]
+Category=7
+Description="<html>How to consider (or treat) the '*' in the alignment of function prototypes.<br/><br/>0: Part of the type 'void * foo();' (default)<br/>1: Part of the function 'void *foo();'<br/>2: Dangling 'void *foo();'<br/>Dangling: the '*' will not be taken into account when aligning.</html>"
+Enabled=false
+EditorType=numeric
+CallName="align_func_proto_star_style="
+MinVal=0
+MaxVal=2
+ValueDefault=0
+
+[Align Func Proto Amp Style]
+Category=7
+Description="<html>How to consider (or treat) the '&amp;' in the alignment of function prototypes.<br/><br/>0: Part of the type 'long &amp; foo();' (default)<br/>1: Part of the function 'long &amp;foo();'<br/>2: Dangling 'long &amp;foo();'<br/>Dangling: the '&amp;' will not be taken into account when aligning.</html>"
+Enabled=false
+EditorType=numeric
+CallName="align_func_proto_amp_style="
+MinVal=0
+MaxVal=2
+ValueDefault=0
+
+[Align Func Proto Thresh]
+Category=7
+Description="<html>The threshold for aligning function prototypes.<br/>Use a negative number for absolute thresholds.<br/><br/>0: No limit (default).</html>"
+Enabled=false
+EditorType=numeric
+CallName="align_func_proto_thresh="
+MinVal=-1000
+MaxVal=5000
+ValueDefault=0
+
+[Align Func Proto Gap]
+Category=7
+Description="<html>Minimum gap between the return type and the function name.</html>"
+Enabled=false
+EditorType=numeric
+CallName="align_func_proto_gap="
+MinVal=0
+MaxVal=16
+ValueDefault=0
+
+[Align On Operator]
+Category=7
+Description="<html>Whether to align function prototypes on the 'operator' keyword instead of<br/>what follows.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=align_on_operator=true|align_on_operator=false
+ValueDefault=false
+
+[Align Mix Var Proto]
+Category=7
+Description="<html>Whether to mix aligning prototype and variable declarations. If true,<br/>align_var_def_XXX options are used instead of align_func_proto_XXX options.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=align_mix_var_proto=true|align_mix_var_proto=false
+ValueDefault=false
+
+[Align Single Line Func]
+Category=7
+Description="<html>Whether to align single-line functions with function prototypes.<br/>Uses align_func_proto_span.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=align_single_line_func=true|align_single_line_func=false
+ValueDefault=false
+
+[Align Single Line Brace]
+Category=7
+Description="<html>Whether to align the open brace of single-line functions.<br/>Requires align_single_line_func=true. Uses align_func_proto_span.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=align_single_line_brace=true|align_single_line_brace=false
+ValueDefault=false
+
+[Align Single Line Brace Gap]
+Category=7
+Description="<html>Gap for align_single_line_brace.</html>"
+Enabled=false
+EditorType=numeric
+CallName="align_single_line_brace_gap="
+MinVal=0
+MaxVal=16
+ValueDefault=0
+
+[Align Oc Msg Spec Span]
+Category=7
+Description="<html>(OC) The span for aligning Objective-C message specifications.<br/><br/>0: Don't align (default).</html>"
+Enabled=false
+EditorType=numeric
+CallName="align_oc_msg_spec_span="
+MinVal=0
+MaxVal=5000
+ValueDefault=0
+
+[Align Nl Cont]
+Category=7
+Description="<html>Whether to align macros wrapped with a backslash and a newline. This will<br/>not work right if the macro contains a multi-line comment.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=align_nl_cont=true|align_nl_cont=false
+ValueDefault=false
+
+[Align Pp Define Together]
+Category=7
+Description="<html>Whether to align macro functions and variables together.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=align_pp_define_together=true|align_pp_define_together=false
+ValueDefault=false
+
+[Align Pp Define Span]
+Category=7
+Description="<html>The span for aligning on '#define' bodies.<br/><br/>=0: Don't align (default)<br/>&gt;0: Number of lines (including comments) between blocks</html>"
+Enabled=false
+EditorType=numeric
+CallName="align_pp_define_span="
+MinVal=0
+MaxVal=5000
+ValueDefault=0
+
+[Align Pp Define Gap]
+Category=7
+Description="<html>The minimum space between label and value of a preprocessor define.</html>"
+Enabled=false
+EditorType=numeric
+CallName="align_pp_define_gap="
+MinVal=0
+MaxVal=16
+ValueDefault=0
+
+[Align Left Shift]
+Category=7
+Description="<html>Whether to align lines that start with '&lt;&lt;' with previous '&lt;&lt;'.<br/><br/>Default: true</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=align_left_shift=true|align_left_shift=false
+ValueDefault=true
+
+[Align Eigen Comma Init]
+Category=7
+Description="<html>Whether to align comma-separated statements following '&lt;&lt;' (as used to<br/>initialize Eigen matrices).</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=align_eigen_comma_init=true|align_eigen_comma_init=false
+ValueDefault=false
+
+[Align Asm Colon]
+Category=7
+Description="<html>Whether to align text after 'asm volatile ()' colons.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=align_asm_colon=true|align_asm_colon=false
+ValueDefault=false
+
+[Align Oc Msg Colon Span]
+Category=7
+Description="<html>(OC) Span for aligning parameters in an Objective-C message call<br/>on the ':'.<br/><br/>0: Don't align.</html>"
+Enabled=false
+EditorType=numeric
+CallName="align_oc_msg_colon_span="
+MinVal=0
+MaxVal=5000
+ValueDefault=0
+
+[Align Oc Msg Colon First]
+Category=7
+Description="<html>(OC) Whether to always align with the first parameter, even if it is too<br/>short.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=align_oc_msg_colon_first=true|align_oc_msg_colon_first=false
+ValueDefault=false
+
+[Align Oc Decl Colon]
+Category=7
+Description="<html>(OC) Whether to align parameters in an Objective-C '+' or '-' declaration<br/>on the ':'.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=align_oc_decl_colon=true|align_oc_decl_colon=false
+ValueDefault=false
+
+[Align Oc Msg Colon Xcode Like]
+Category=7
+Description="<html>(OC) Whether to not align parameters in an Objectve-C message call if first<br/>colon is not on next line of the message call (the same way Xcode does<br/>aligment)</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=align_oc_msg_colon_xcode_like=true|align_oc_msg_colon_xcode_like=false
+ValueDefault=false
+
+[Cmt Width]
+Category=8
+Description="<html>Try to wrap comments at N columns.</html>"
+Enabled=false
+EditorType=numeric
+CallName="cmt_width="
+MinVal=0
+MaxVal=256
+ValueDefault=0
+
+[Cmt Reflow Mode]
+Category=8
+Description="<html>How to reflow comments.<br/><br/>0: No reflowing (apart from the line wrapping due to cmt_width) (default)<br/>1: No touching at all<br/>2: Full reflow (enable cmt_indent_multi for indent with line wrapping due to cmt_width)</html>"
+Enabled=false
+EditorType=numeric
+CallName="cmt_reflow_mode="
+MinVal=0
+MaxVal=2
+ValueDefault=0
+
+[Cmt Reflow Fold Regex File]
+Category=8
+Description="<html>Path to a file that contains regular expressions describing patterns for<br/>which the end of one line and the beginning of the next will be folded into<br/>the same sentence or paragraph during full comment reflow. The regular<br/>expressions are described using ECMAScript syntax. The syntax for this<br/>specification is as follows, where "..." indicates the custom regular<br/>expression and "n" indicates the nth end_of_prev_line_regex and<br/>beg_of_next_line_regex regular expression pair:<br/><br/>end_of_prev_line_regex[1] = "...$"<br/>beg_of_next_line_regex[1] = "^..."<br/>end_of_prev_line_regex[2] = "...$"<br/>beg_of_next_line_regex[2] = "^..."<br/> .<br/> .<br/> .<br/>end_of_prev_line_regex[n] = "...$"<br/>beg_of_next_line_regex[n] = "^..."<br/><br/>Note that use of this option overrides the default reflow fold regular<br/>expressions, which are internally defined as follows:<br/><br/>end_of_prev_line_regex[1] = "[\w,\]\)]$"<br/>beg_of_next_line_regex[1] = "^[\w,\[\(]"<br/>end_of_prev_line_regex[2] = "\.$"<br/>beg_of_next_line_regex[2] = "^[A-Z]"</html>"
+Enabled=false
+CallName=cmt_reflow_fold_regex_file=
+EditorType=string
+ValueDefault=
+
+[Cmt Reflow Indent To Paragraph Start]
+Category=8
+Description="<html>Whether to indent wrapped lines to the start of the encompassing paragraph<br/>during full comment reflow (cmt_reflow_mode = 2). Overrides the value<br/>specified by cmt_sp_after_star_cont.<br/><br/>Note that cmt_align_doxygen_javadoc_tags overrides this option for<br/>paragraphs associated with javadoc tags</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=cmt_reflow_indent_to_paragraph_start=true|cmt_reflow_indent_to_paragraph_start=false
+ValueDefault=false
+
+[Cmt Convert Tab To Spaces]
+Category=8
+Description="<html>Whether to convert all tabs to spaces in comments. If false, tabs in<br/>comments are left alone, unless used for indenting.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=cmt_convert_tab_to_spaces=true|cmt_convert_tab_to_spaces=false
+ValueDefault=false
+
+[Cmt Indent Multi]
+Category=8
+Description="<html>Whether to apply changes to multi-line comments, including cmt_width,<br/>keyword substitution and leading chars.<br/><br/>Default: true</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=cmt_indent_multi=true|cmt_indent_multi=false
+ValueDefault=true
+
+[Cmt Align Doxygen Javadoc Tags]
+Category=8
+Description="<html>Whether to align doxygen javadoc-style tags ('@param', '@return', etc.)<br/>and corresponding fields such that groups of consecutive block tags,<br/>parameter names, and descriptions align with one another. Overrides that<br/>which is specified by the cmt_sp_after_star_cont. If cmt_width &gt; 0, it may<br/>be necessary to enable cmt_indent_multi and set cmt_reflow_mode = 2<br/>in order to achieve the desired alignment for line-wrapping.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=cmt_align_doxygen_javadoc_tags=true|cmt_align_doxygen_javadoc_tags=false
+ValueDefault=false
+
+[Cmt Sp Before Doxygen Javadoc Tags]
+Category=8
+Description="<html>The number of spaces to insert after the star and before doxygen<br/>javadoc-style tags (@param, @return, etc). Requires enabling<br/>cmt_align_doxygen_javadoc_tags. Overrides that which is specified by the<br/>cmt_sp_after_star_cont.<br/><br/>Default: 1</html>"
+Enabled=false
+EditorType=numeric
+CallName="cmt_sp_before_doxygen_javadoc_tags="
+MinVal=0
+MaxVal=16
+ValueDefault=1
+
+[Cmt Trailing Single Line C To Cpp]
+Category=8
+Description="<html>Whether to change trailing, single-line c-comments into cpp-comments.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=cmt_trailing_single_line_c_to_cpp=true|cmt_trailing_single_line_c_to_cpp=false
+ValueDefault=false
+
+[Cmt C Group]
+Category=8
+Description="<html>Whether to group c-comments that look like they are in a block.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=cmt_c_group=true|cmt_c_group=false
+ValueDefault=false
+
+[Cmt C Nl Start]
+Category=8
+Description="<html>Whether to put an empty '/*' on the first line of the combined c-comment.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=cmt_c_nl_start=true|cmt_c_nl_start=false
+ValueDefault=false
+
+[Cmt C Nl End]
+Category=8
+Description="<html>Whether to add a newline before the closing '*/' of the combined c-comment.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=cmt_c_nl_end=true|cmt_c_nl_end=false
+ValueDefault=false
+
+[Cmt Cpp To C]
+Category=8
+Description="<html>Whether to change cpp-comments into c-comments.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=cmt_cpp_to_c=true|cmt_cpp_to_c=false
+ValueDefault=false
+
+[Cmt Cpp Group]
+Category=8
+Description="<html>Whether to group cpp-comments that look like they are in a block. Only<br/>meaningful if cmt_cpp_to_c=true.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=cmt_cpp_group=true|cmt_cpp_group=false
+ValueDefault=false
+
+[Cmt Cpp Nl Start]
+Category=8
+Description="<html>Whether to put an empty '/*' on the first line of the combined cpp-comment<br/>when converting to a c-comment.<br/><br/>Requires cmt_cpp_to_c=true and cmt_cpp_group=true.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=cmt_cpp_nl_start=true|cmt_cpp_nl_start=false
+ValueDefault=false
+
+[Cmt Cpp Nl End]
+Category=8
+Description="<html>Whether to add a newline before the closing '*/' of the combined cpp-comment<br/>when converting to a c-comment.<br/><br/>Requires cmt_cpp_to_c=true and cmt_cpp_group=true.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=cmt_cpp_nl_end=true|cmt_cpp_nl_end=false
+ValueDefault=false
+
+[Cmt Star Cont]
+Category=8
+Description="<html>Whether to put a star on subsequent comment lines.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=cmt_star_cont=true|cmt_star_cont=false
+ValueDefault=false
+
+[Cmt Sp Before Star Cont]
+Category=8
+Description="<html>The number of spaces to insert at the start of subsequent comment lines.</html>"
+Enabled=false
+EditorType=numeric
+CallName="cmt_sp_before_star_cont="
+MinVal=0
+MaxVal=16
+ValueDefault=0
+
+[Cmt Sp After Star Cont]
+Category=8
+Description="<html>The number of spaces to insert after the star on subsequent comment lines.</html>"
+Enabled=false
+EditorType=numeric
+CallName="cmt_sp_after_star_cont="
+MinVal=0
+MaxVal=16
+ValueDefault=0
+
+[Cmt Multi Check Last]
+Category=8
+Description="<html>For multi-line comments with a '*' lead, remove leading spaces if the first<br/>and last lines of the comment are the same length.<br/><br/>Default: true</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=cmt_multi_check_last=true|cmt_multi_check_last=false
+ValueDefault=true
+
+[Cmt Multi First Len Minimum]
+Category=8
+Description="<html>For multi-line comments with a '*' lead, remove leading spaces if the first<br/>and last lines of the comment are the same length AND if the length is<br/>bigger as the first_len minimum.<br/><br/>Default: 4</html>"
+Enabled=false
+EditorType=numeric
+CallName="cmt_multi_first_len_minimum="
+MinVal=1
+MaxVal=20
+ValueDefault=4
+
+[Cmt Insert File Header]
+Category=8
+Description="<html>Path to a file that contains text to insert at the beginning of a file if<br/>the file doesn't start with a C/C++ comment. If the inserted text contains<br/>'$(filename)', that will be replaced with the current file's name.</html>"
+Enabled=false
+CallName=cmt_insert_file_header=
+EditorType=string
+ValueDefault=
+
+[Cmt Insert File Footer]
+Category=8
+Description="<html>Path to a file that contains text to insert at the end of a file if the<br/>file doesn't end with a C/C++ comment. If the inserted text contains<br/>'$(filename)', that will be replaced with the current file's name.</html>"
+Enabled=false
+CallName=cmt_insert_file_footer=
+EditorType=string
+ValueDefault=
+
+[Cmt Insert Func Header]
+Category=8
+Description="<html>Path to a file that contains text to insert before a function definition if<br/>the function isn't preceded by a C/C++ comment. If the inserted text<br/>contains '$(function)', '$(javaparam)' or '$(fclass)', these will be<br/>replaced with, respectively, the name of the function, the javadoc '@param'<br/>and '@return' stuff, or the name of the class to which the member function<br/>belongs.</html>"
+Enabled=false
+CallName=cmt_insert_func_header=
+EditorType=string
+ValueDefault=
+
+[Cmt Insert Class Header]
+Category=8
+Description="<html>Path to a file that contains text to insert before a class if the class<br/>isn't preceded by a C/C++ comment. If the inserted text contains '$(class)',<br/>that will be replaced with the class name.</html>"
+Enabled=false
+CallName=cmt_insert_class_header=
+EditorType=string
+ValueDefault=
+
+[Cmt Insert Oc Msg Header]
+Category=8
+Description="<html>Path to a file that contains text to insert before an Objective-C message<br/>specification, if the method isn't preceded by a C/C++ comment. If the<br/>inserted text contains '$(message)' or '$(javaparam)', these will be<br/>replaced with, respectively, the name of the function, or the javadoc<br/>'@param' and '@return' stuff.</html>"
+Enabled=false
+CallName=cmt_insert_oc_msg_header=
+EditorType=string
+ValueDefault=
+
+[Cmt Insert Before Preproc]
+Category=8
+Description="<html>Whether a comment should be inserted if a preprocessor is encountered when<br/>stepping backwards from a function name.<br/><br/>Applies to cmt_insert_oc_msg_header, cmt_insert_func_header and<br/>cmt_insert_class_header.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=cmt_insert_before_preproc=true|cmt_insert_before_preproc=false
+ValueDefault=false
+
+[Cmt Insert Before Inlines]
+Category=8
+Description="<html>Whether a comment should be inserted if a function is declared inline to a<br/>class definition.<br/><br/>Applies to cmt_insert_func_header.<br/><br/>Default: true</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=cmt_insert_before_inlines=true|cmt_insert_before_inlines=false
+ValueDefault=true
+
+[Cmt Insert Before Ctor Dtor]
+Category=8
+Description="<html>Whether a comment should be inserted if the function is a class constructor<br/>or destructor.<br/><br/>Applies to cmt_insert_func_header.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=cmt_insert_before_ctor_dtor=true|cmt_insert_before_ctor_dtor=false
+ValueDefault=false
+
+[Mod Full Brace Do]
+Category=9
+Description="<html>Add or remove braces on a single-line 'do' statement.</html>"
+Enabled=false
+EditorType=multiple
+Choices=mod_full_brace_do=ignore|mod_full_brace_do=add|mod_full_brace_do=remove|mod_full_brace_do=force|mod_full_brace_do=not_defined
+ChoicesReadable="Ignore Mod Full Brace Do|Add Mod Full Brace Do|Remove Mod Full Brace Do|Force Mod Full Brace Do"
+ValueDefault=ignore
+
+[Mod Full Brace For]
+Category=9
+Description="<html>Add or remove braces on a single-line 'for' statement.</html>"
+Enabled=false
+EditorType=multiple
+Choices=mod_full_brace_for=ignore|mod_full_brace_for=add|mod_full_brace_for=remove|mod_full_brace_for=force|mod_full_brace_for=not_defined
+ChoicesReadable="Ignore Mod Full Brace For|Add Mod Full Brace For|Remove Mod Full Brace For|Force Mod Full Brace For"
+ValueDefault=ignore
+
+[Mod Full Brace Function]
+Category=9
+Description="<html>(Pawn) Add or remove braces on a single-line function definition.</html>"
+Enabled=false
+EditorType=multiple
+Choices=mod_full_brace_function=ignore|mod_full_brace_function=add|mod_full_brace_function=remove|mod_full_brace_function=force|mod_full_brace_function=not_defined
+ChoicesReadable="Ignore Mod Full Brace Function|Add Mod Full Brace Function|Remove Mod Full Brace Function|Force Mod Full Brace Function"
+ValueDefault=ignore
+
+[Mod Full Brace If]
+Category=9
+Description="<html>Add or remove braces on a single-line 'if' statement. Braces will not be<br/>removed if the braced statement contains an 'else'.</html>"
+Enabled=false
+EditorType=multiple
+Choices=mod_full_brace_if=ignore|mod_full_brace_if=add|mod_full_brace_if=remove|mod_full_brace_if=force|mod_full_brace_if=not_defined
+ChoicesReadable="Ignore Mod Full Brace If|Add Mod Full Brace If|Remove Mod Full Brace If|Force Mod Full Brace If"
+ValueDefault=ignore
+
+[Mod Full Brace If Chain]
+Category=9
+Description="<html>Whether to enforce that all blocks of an 'if'/'else if'/'else' chain either<br/>have, or do not have, braces. If true, braces will be added if any block<br/>needs braces, and will only be removed if they can be removed from all<br/>blocks.<br/><br/>Overrides mod_full_brace_if.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=mod_full_brace_if_chain=true|mod_full_brace_if_chain=false
+ValueDefault=false
+
+[Mod Full Brace If Chain Only]
+Category=9
+Description="<html>Whether to add braces to all blocks of an 'if'/'else if'/'else' chain.<br/>If true, mod_full_brace_if_chain will only remove braces from an 'if' that<br/>does not have an 'else if' or 'else'.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=mod_full_brace_if_chain_only=true|mod_full_brace_if_chain_only=false
+ValueDefault=false
+
+[Mod Full Brace While]
+Category=9
+Description="<html>Add or remove braces on single-line 'while' statement.</html>"
+Enabled=false
+EditorType=multiple
+Choices=mod_full_brace_while=ignore|mod_full_brace_while=add|mod_full_brace_while=remove|mod_full_brace_while=force|mod_full_brace_while=not_defined
+ChoicesReadable="Ignore Mod Full Brace While|Add Mod Full Brace While|Remove Mod Full Brace While|Force Mod Full Brace While"
+ValueDefault=ignore
+
+[Mod Full Brace Using]
+Category=9
+Description="<html>Add or remove braces on single-line 'using ()' statement.</html>"
+Enabled=false
+EditorType=multiple
+Choices=mod_full_brace_using=ignore|mod_full_brace_using=add|mod_full_brace_using=remove|mod_full_brace_using=force|mod_full_brace_using=not_defined
+ChoicesReadable="Ignore Mod Full Brace Using|Add Mod Full Brace Using|Remove Mod Full Brace Using|Force Mod Full Brace Using"
+ValueDefault=ignore
+
+[Mod Full Brace Nl]
+Category=9
+Description="<html>Don't remove braces around statements that span N newlines</html>"
+Enabled=false
+EditorType=numeric
+CallName="mod_full_brace_nl="
+MinVal=0
+MaxVal=5000
+ValueDefault=0
+
+[Mod Full Brace Nl Block Rem Mlcond]
+Category=9
+Description="<html>Whether to prevent removal of braces from 'if'/'for'/'while'/etc. blocks<br/>which span multiple lines.<br/><br/>Affects:<br/> mod_full_brace_for<br/> mod_full_brace_if<br/> mod_full_brace_if_chain<br/> mod_full_brace_if_chain_only<br/> mod_full_brace_while<br/> mod_full_brace_using<br/><br/>Does not affect:<br/> mod_full_brace_do<br/> mod_full_brace_function</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=mod_full_brace_nl_block_rem_mlcond=true|mod_full_brace_nl_block_rem_mlcond=false
+ValueDefault=false
+
+[Mod Paren On Return]
+Category=9
+Description="<html>Add or remove unnecessary parenthesis on 'return' statement.</html>"
+Enabled=false
+EditorType=multiple
+Choices=mod_paren_on_return=ignore|mod_paren_on_return=add|mod_paren_on_return=remove|mod_paren_on_return=force|mod_paren_on_return=not_defined
+ChoicesReadable="Ignore Mod Paren On Return|Add Mod Paren On Return|Remove Mod Paren On Return|Force Mod Paren On Return"
+ValueDefault=ignore
+
+[Mod Pawn Semicolon]
+Category=9
+Description="<html>(Pawn) Whether to change optional semicolons to real semicolons.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=mod_pawn_semicolon=true|mod_pawn_semicolon=false
+ValueDefault=false
+
+[Mod Full Paren If Bool]
+Category=9
+Description="<html>Whether to fully parenthesize Boolean expressions in 'while' and 'if'<br/>statement, as in 'if (a &amp;&amp; b &gt; c)' =&gt; 'if (a &amp;&amp; (b &gt; c))'.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=mod_full_paren_if_bool=true|mod_full_paren_if_bool=false
+ValueDefault=false
+
+[Mod Remove Extra Semicolon]
+Category=9
+Description="<html>Whether to remove superfluous semicolons.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=mod_remove_extra_semicolon=true|mod_remove_extra_semicolon=false
+ValueDefault=false
+
+[Mod Remove Duplicate Include]
+Category=9
+Description="<html>Whether to remove duplicate include.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=mod_remove_duplicate_include=true|mod_remove_duplicate_include=false
+ValueDefault=false
+
+[Mod Add Long Function Closebrace Comment]
+Category=9
+Description="<html>If a function body exceeds the specified number of newlines and doesn't have<br/>a comment after the close brace, a comment will be added.</html>"
+Enabled=false
+EditorType=numeric
+CallName="mod_add_long_function_closebrace_comment="
+MinVal=0
+MaxVal=255
+ValueDefault=0
+
+[Mod Add Long Namespace Closebrace Comment]
+Category=9
+Description="<html>If a namespace body exceeds the specified number of newlines and doesn't<br/>have a comment after the close brace, a comment will be added.</html>"
+Enabled=false
+EditorType=numeric
+CallName="mod_add_long_namespace_closebrace_comment="
+MinVal=0
+MaxVal=255
+ValueDefault=0
+
+[Mod Add Long Class Closebrace Comment]
+Category=9
+Description="<html>If a class body exceeds the specified number of newlines and doesn't have a<br/>comment after the close brace, a comment will be added.</html>"
+Enabled=false
+EditorType=numeric
+CallName="mod_add_long_class_closebrace_comment="
+MinVal=0
+MaxVal=255
+ValueDefault=0
+
+[Mod Add Long Switch Closebrace Comment]
+Category=9
+Description="<html>If a switch body exceeds the specified number of newlines and doesn't have a<br/>comment after the close brace, a comment will be added.</html>"
+Enabled=false
+EditorType=numeric
+CallName="mod_add_long_switch_closebrace_comment="
+MinVal=0
+MaxVal=255
+ValueDefault=0
+
+[Mod Add Long Ifdef Endif Comment]
+Category=9
+Description="<html>If an #ifdef body exceeds the specified number of newlines and doesn't have<br/>a comment after the #endif, a comment will be added.</html>"
+Enabled=false
+EditorType=numeric
+CallName="mod_add_long_ifdef_endif_comment="
+MinVal=0
+MaxVal=255
+ValueDefault=0
+
+[Mod Add Long Ifdef Else Comment]
+Category=9
+Description="<html>If an #ifdef or #else body exceeds the specified number of newlines and<br/>doesn't have a comment after the #else, a comment will be added.</html>"
+Enabled=false
+EditorType=numeric
+CallName="mod_add_long_ifdef_else_comment="
+MinVal=0
+MaxVal=255
+ValueDefault=0
+
+[Mod Sort Case Sensitive]
+Category=9
+Description="<html>Whether to take care of the case by the mod_sort_xx options.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=mod_sort_case_sensitive=true|mod_sort_case_sensitive=false
+ValueDefault=false
+
+[Mod Sort Import]
+Category=9
+Description="<html>Whether to sort consecutive single-line 'import' statements.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=mod_sort_import=true|mod_sort_import=false
+ValueDefault=false
+
+[Mod Sort Using]
+Category=9
+Description="<html>(C#) Whether to sort consecutive single-line 'using' statements.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=mod_sort_using=true|mod_sort_using=false
+ValueDefault=false
+
+[Mod Sort Include]
+Category=9
+Description="<html>Whether to sort consecutive single-line '#include' statements (C/C++) and<br/>'#import' statements (Objective-C). Be aware that this has the potential to<br/>break your code if your includes/imports have ordering dependencies.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=mod_sort_include=true|mod_sort_include=false
+ValueDefault=false
+
+[Mod Sort Incl Import Prioritize Filename]
+Category=9
+Description="<html>Whether to prioritize '#include' and '#import' statements that contain<br/>filename without extension when sorting is enabled.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=mod_sort_incl_import_prioritize_filename=true|mod_sort_incl_import_prioritize_filename=false
+ValueDefault=false
+
+[Mod Sort Incl Import Prioritize Extensionless]
+Category=9
+Description="<html>Whether to prioritize '#include' and '#import' statements that does not<br/>contain extensions when sorting is enabled.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=mod_sort_incl_import_prioritize_extensionless=true|mod_sort_incl_import_prioritize_extensionless=false
+ValueDefault=false
+
+[Mod Sort Incl Import Prioritize Angle Over Quotes]
+Category=9
+Description="<html>Whether to prioritize '#include' and '#import' statements that contain<br/>angle over quotes when sorting is enabled.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=mod_sort_incl_import_prioritize_angle_over_quotes=true|mod_sort_incl_import_prioritize_angle_over_quotes=false
+ValueDefault=false
+
+[Mod Sort Incl Import Ignore Extension]
+Category=9
+Description="<html>Whether to ignore file extension in '#include' and '#import' statements<br/>for sorting comparison.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=mod_sort_incl_import_ignore_extension=true|mod_sort_incl_import_ignore_extension=false
+ValueDefault=false
+
+[Mod Sort Incl Import Grouping Enabled]
+Category=9
+Description="<html>Whether to group '#include' and '#import' statements when sorting is enabled.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=mod_sort_incl_import_grouping_enabled=true|mod_sort_incl_import_grouping_enabled=false
+ValueDefault=false
+
+[Mod Move Case Break]
+Category=9
+Description="<html>Whether to move a 'break' that appears after a fully braced 'case' before<br/>the close brace, as in 'case X: { ... } break;' =&gt; 'case X: { ... break; }'.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=mod_move_case_break=true|mod_move_case_break=false
+ValueDefault=false
+
+[Mod Case Brace]
+Category=9
+Description="<html>Add or remove braces around a fully braced case statement. Will only remove<br/>braces if there are no variable declarations in the block.</html>"
+Enabled=false
+EditorType=multiple
+Choices=mod_case_brace=ignore|mod_case_brace=add|mod_case_brace=remove|mod_case_brace=force|mod_case_brace=not_defined
+ChoicesReadable="Ignore Mod Case Brace|Add Mod Case Brace|Remove Mod Case Brace|Force Mod Case Brace"
+ValueDefault=ignore
+
+[Mod Remove Empty Return]
+Category=9
+Description="<html>Whether to remove a void 'return;' that appears as the last statement in a<br/>function.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=mod_remove_empty_return=true|mod_remove_empty_return=false
+ValueDefault=false
+
+[Mod Enum Last Comma]
+Category=9
+Description="<html>Add or remove the comma after the last value of an enumeration.</html>"
+Enabled=false
+EditorType=multiple
+Choices=mod_enum_last_comma=ignore|mod_enum_last_comma=add|mod_enum_last_comma=remove|mod_enum_last_comma=force|mod_enum_last_comma=not_defined
+ChoicesReadable="Ignore Mod Enum Last Comma|Add Mod Enum Last Comma|Remove Mod Enum Last Comma|Force Mod Enum Last Comma"
+ValueDefault=ignore
+
+[Mod Sort Oc Properties]
+Category=9
+Description="<html>(OC) Whether to organize the properties. If true, properties will be<br/>rearranged according to the mod_sort_oc_property_*_weight factors.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=mod_sort_oc_properties=true|mod_sort_oc_properties=false
+ValueDefault=false
+
+[Mod Sort Oc Property Class Weight]
+Category=9
+Description="<html>(OC) Weight of a class property modifier.</html>"
+Enabled=false
+EditorType=numeric
+CallName="mod_sort_oc_property_class_weight="
+MinVal=
+MaxVal=
+ValueDefault=0
+
+[Mod Sort Oc Property Thread Safe Weight]
+Category=9
+Description="<html>(OC) Weight of 'atomic' and 'nonatomic'.</html>"
+Enabled=false
+EditorType=numeric
+CallName="mod_sort_oc_property_thread_safe_weight="
+MinVal=
+MaxVal=
+ValueDefault=0
+
+[Mod Sort Oc Property Readwrite Weight]
+Category=9
+Description="<html>(OC) Weight of 'readwrite' when organizing properties.</html>"
+Enabled=false
+EditorType=numeric
+CallName="mod_sort_oc_property_readwrite_weight="
+MinVal=
+MaxVal=
+ValueDefault=0
+
+[Mod Sort Oc Property Reference Weight]
+Category=9
+Description="<html>(OC) Weight of a reference type specifier ('retain', 'copy', 'assign',<br/>'weak', 'strong') when organizing properties.</html>"
+Enabled=false
+EditorType=numeric
+CallName="mod_sort_oc_property_reference_weight="
+MinVal=
+MaxVal=
+ValueDefault=0
+
+[Mod Sort Oc Property Getter Weight]
+Category=9
+Description="<html>(OC) Weight of getter type ('getter=') when organizing properties.</html>"
+Enabled=false
+EditorType=numeric
+CallName="mod_sort_oc_property_getter_weight="
+MinVal=
+MaxVal=
+ValueDefault=0
+
+[Mod Sort Oc Property Setter Weight]
+Category=9
+Description="<html>(OC) Weight of setter type ('setter=') when organizing properties.</html>"
+Enabled=false
+EditorType=numeric
+CallName="mod_sort_oc_property_setter_weight="
+MinVal=
+MaxVal=
+ValueDefault=0
+
+[Mod Sort Oc Property Nullability Weight]
+Category=9
+Description="<html>(OC) Weight of nullability type ('nullable', 'nonnull', 'null_unspecified',<br/>'null_resettable') when organizing properties.</html>"
+Enabled=false
+EditorType=numeric
+CallName="mod_sort_oc_property_nullability_weight="
+MinVal=
+MaxVal=
+ValueDefault=0
+
+[Pp Indent]
+Category=10
+Description="<html>Add or remove indentation of preprocessor directives inside #if blocks<br/>at brace level 0 (file-level).</html>"
+Enabled=false
+EditorType=multiple
+Choices=pp_indent=ignore|pp_indent=add|pp_indent=remove|pp_indent=force|pp_indent=not_defined
+ChoicesReadable="Ignore Pp Indent|Add Pp Indent|Remove Pp Indent|Force Pp Indent"
+ValueDefault=ignore
+
+[Pp Indent At Level]
+Category=10
+Description="<html>Whether to indent #if/#else/#endif at the brace level. If false, these are<br/>indented from column 1.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=pp_indent_at_level=true|pp_indent_at_level=false
+ValueDefault=false
+
+[Pp Indent Count]
+Category=10
+Description="<html>Specifies the number of columns to indent preprocessors per level<br/>at brace level 0 (file-level). If pp_indent_at_level=false, also specifies<br/>the number of columns to indent preprocessors per level<br/>at brace level &gt; 0 (function-level).<br/><br/>Default: 1</html>"
+Enabled=false
+EditorType=numeric
+CallName="pp_indent_count="
+MinVal=0
+MaxVal=16
+ValueDefault=1
+
+[Pp Space]
+Category=10
+Description="<html>Add or remove space after # based on pp_level of #if blocks.</html>"
+Enabled=false
+EditorType=multiple
+Choices=pp_space=ignore|pp_space=add|pp_space=remove|pp_space=force|pp_space=not_defined
+ChoicesReadable="Ignore Pp Space|Add Pp Space|Remove Pp Space|Force Pp Space"
+ValueDefault=ignore
+
+[Pp Space Count]
+Category=10
+Description="<html>Sets the number of spaces per level added with pp_space.</html>"
+Enabled=false
+EditorType=numeric
+CallName="pp_space_count="
+MinVal=0
+MaxVal=16
+ValueDefault=0
+
+[Pp Indent Region]
+Category=10
+Description="<html>The indent for '#region' and '#endregion' in C# and '#pragma region' in<br/>C/C++. Negative values decrease indent down to the first column.</html>"
+Enabled=false
+EditorType=numeric
+CallName="pp_indent_region="
+MinVal=-16
+MaxVal=16
+ValueDefault=0
+
+[Pp Region Indent Code]
+Category=10
+Description="<html>Whether to indent the code between #region and #endregion.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=pp_region_indent_code=true|pp_region_indent_code=false
+ValueDefault=false
+
+[Pp Indent If]
+Category=10
+Description="<html>If pp_indent_at_level=true, sets the indent for #if, #else and #endif when<br/>not at file-level. Negative values decrease indent down to the first column.<br/><br/>=0: Indent preprocessors using output_tab_size<br/>&gt;0: Column at which all preprocessors will be indented</html>"
+Enabled=false
+EditorType=numeric
+CallName="pp_indent_if="
+MinVal=-16
+MaxVal=16
+ValueDefault=0
+
+[Pp If Indent Code]
+Category=10
+Description="<html>Whether to indent the code between #if, #else and #endif.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=pp_if_indent_code=true|pp_if_indent_code=false
+ValueDefault=false
+
+[Pp Indent In Guard]
+Category=10
+Description="<html>Whether to indent the body of an #if that encompasses all the code in the file.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=pp_indent_in_guard=true|pp_indent_in_guard=false
+ValueDefault=false
+
+[Pp Define At Level]
+Category=10
+Description="<html>Whether to indent '#define' at the brace level. If false, these are<br/>indented from column 1.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=pp_define_at_level=true|pp_define_at_level=false
+ValueDefault=false
+
+[Pp Include At Level]
+Category=10
+Description="<html>Whether to indent '#include' at the brace level.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=pp_include_at_level=true|pp_include_at_level=false
+ValueDefault=false
+
+[Pp Ignore Define Body]
+Category=10
+Description="<html>Whether to ignore the '#define' body while formatting.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=pp_ignore_define_body=true|pp_ignore_define_body=false
+ValueDefault=false
+
+[Pp Indent Case]
+Category=10
+Description="<html>Whether to indent case statements between #if, #else, and #endif.<br/>Only applies to the indent of the preprocesser that the case statements<br/>directly inside of.<br/><br/>Default: true</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=pp_indent_case=true|pp_indent_case=false
+ValueDefault=true
+
+[Pp Indent Func Def]
+Category=10
+Description="<html>Whether to indent whole function definitions between #if, #else, and #endif.<br/>Only applies to the indent of the preprocesser that the function definition<br/>is directly inside of.<br/><br/>Default: true</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=pp_indent_func_def=true|pp_indent_func_def=false
+ValueDefault=true
+
+[Pp Indent Extern]
+Category=10
+Description="<html>Whether to indent extern C blocks between #if, #else, and #endif.<br/>Only applies to the indent of the preprocesser that the extern block is<br/>directly inside of.<br/><br/>Default: true</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=pp_indent_extern=true|pp_indent_extern=false
+ValueDefault=true
+
+[Pp Indent Brace]
+Category=10
+Description="<html>Whether to indent braces directly inside #if, #else, and #endif.<br/>Only applies to the indent of the preprocesser that the braces are directly<br/>inside of.<br/><br/>Default: true</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=pp_indent_brace=true|pp_indent_brace=false
+ValueDefault=true
+
+[Include Category 0]
+Category=11
+Description="<html>The regex for include category with priority 0.</html>"
+Enabled=false
+CallName=include_category_0=
+EditorType=string
+ValueDefault=
+
+[Include Category 1]
+Category=11
+Description="<html>The regex for include category with priority 1.</html>"
+Enabled=false
+CallName=include_category_1=
+EditorType=string
+ValueDefault=
+
+[Include Category 2]
+Category=11
+Description="<html>The regex for include category with priority 2.</html>"
+Enabled=false
+CallName=include_category_2=
+EditorType=string
+ValueDefault=
+
+[Use Indent Func Call Param]
+Category=12
+Description="<html>true: indent_func_call_param will be used (default)<br/>false: indent_func_call_param will NOT be used<br/><br/>Default: true</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=use_indent_func_call_param=true|use_indent_func_call_param=false
+ValueDefault=true
+
+[Use Indent Continue Only Once]
+Category=12
+Description="<html>The value of the indentation for a continuation line is calculated<br/>differently if the statement is:<br/>- a declaration: your case with QString fileName ...<br/>- an assignment: your case with pSettings = new QSettings( ...<br/><br/>At the second case the indentation value might be used twice:<br/>- at the assignment<br/>- at the function call (if present)<br/><br/>To prevent the double use of the indentation value, use this option with the<br/>value 'true'.<br/><br/>true: indent_continue will be used only once<br/>false: indent_continue will be used every time (default)</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=use_indent_continue_only_once=true|use_indent_continue_only_once=false
+ValueDefault=false
+
+[Indent Cpp Lambda Only Once]
+Category=12
+Description="<html>The value might be used twice:<br/>- at the assignment<br/>- at the opening brace<br/><br/>To prevent the double use of the indentation value, use this option with the<br/>value 'true'.<br/><br/>true: indentation will be used only once<br/>false: indentation will be used every time (default)</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=indent_cpp_lambda_only_once=true|indent_cpp_lambda_only_once=false
+ValueDefault=false
+
+[Use Sp After Angle Always]
+Category=12
+Description="<html>Whether sp_after_angle takes precedence over sp_inside_fparen. This was the<br/>historic behavior, but is probably not the desired behavior, so this is off<br/>by default.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=use_sp_after_angle_always=true|use_sp_after_angle_always=false
+ValueDefault=false
+
+[Use Options Overriding For Qt Macros]
+Category=12
+Description="<html>Whether to apply special formatting for Qt SIGNAL/SLOT macros. Essentially,<br/>this tries to format these so that they match Qt's normalized form (i.e. the<br/>result of QMetaObject::normalizedSignature), which can slightly improve the<br/>performance of the QObject::connect call, rather than how they would<br/>otherwise be formatted.<br/><br/>See options_for_QT.cpp for details.<br/><br/>Default: true</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=use_options_overriding_for_qt_macros=true|use_options_overriding_for_qt_macros=false
+ValueDefault=true
+
+[Use Form Feed No More As Whitespace Character]
+Category=12
+Description="<html>If true: the form feed character is removed from the list of whitespace<br/>characters. See https://en.cppreference.com/w/cpp/string/byte/isspace.</html>"
+Enabled=false
+EditorType=boolean
+TrueFalse=use_form_feed_no_more_as_whitespace_character=true|use_form_feed_no_more_as_whitespace_character=false
+ValueDefault=false
+
+[Warn Level Tabs Found In Verbatim String Literals]
+Category=13
+Description="<html>(C#) Warning is given if doing tab-to-\t replacement and we have found one<br/>in a C# verbatim string literal.<br/><br/>Default: 2</html>"
+Enabled=false
+EditorType=numeric
+CallName="warn_level_tabs_found_in_verbatim_string_literals="
+MinVal=1
+MaxVal=3
+ValueDefault=2
+
+[Debug Max Number Of Loops]
+Category=13
+Description="<html>Limit the number of loops.<br/>Used by uncrustify.cpp to exit from infinite loop.<br/>0: no limit.</html>"
+Enabled=false
+EditorType=numeric
+CallName="debug_max_number_of_loops="
+MinVal=
+MaxVal=
+ValueDefault=0
+
+[Debug Line Number To Protocol]
+Category=13
+Description="<html>Set the number of the line to protocol;<br/>Used in the function prot_the_line if the 2. parameter is zero.<br/>0: nothing protocol.</html>"
+Enabled=false
+EditorType=numeric
+CallName="debug_line_number_to_protocol="
+MinVal=
+MaxVal=
+ValueDefault=0
+
+[Debug Timeout]
+Category=13
+Description="<html>Set the number of second(s) before terminating formatting the current file,<br/>0: no timeout.<br/>only for linux</html>"
+Enabled=false
+EditorType=numeric
+CallName="debug_timeout="
+MinVal=
+MaxVal=
+ValueDefault=0
+
+[Debug Truncate]
+Category=13
+Description="<html>Set the number of characters to be printed if the text is too long,<br/>0: do not truncate.</html>"
+Enabled=false
+EditorType=numeric
+CallName="debug_truncate="
+MinVal=0
+MaxVal=960
+ValueDefault=0
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/unmatched_close_pp.txt b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/unmatched_close_pp.txt
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/unmatched_close_pp.txt
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/v-out.txt b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/v-out.txt
new file mode 100644
index 00000000..129af768
--- /dev/null
+++ b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/v-out.txt
@@ -0,0 +1 @@
+Uncrustify
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/xyz-err.txt b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/xyz-err.txt
new file mode 100644
index 00000000..a16550ed
--- /dev/null
+++ b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/output/xyz-err.txt
@@ -0,0 +1,2 @@
+Specify the config file with '-c file' or set UNCRUSTIFY_CONFIG
+Try running with -h for usage information
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/test_cli_options.py b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/test_cli_options.py
new file mode 100755
index 00000000..69c1c620
--- /dev/null
+++ b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/tests/cli/test_cli_options.py
@@ -0,0 +1,853 @@
+#!/usr/bin/python
+
+"""
+test_cli_options.py
+
+Tests output generated by Uncrustifys commandline options
+(excluding actual source code formatting)
+
+:author: DanielChumak
+:license: GPL v2+
+"""
+
+from __future__ import print_function
+from sys import stderr, argv, exit as sys_exit
+from os import makedirs, remove, name as os_name
+from os.path import dirname, relpath, isdir, isfile, join as path_join, split as path_split
+from shutil import rmtree, copyfile
+from subprocess import Popen, PIPE
+from io import open
+from datetime import date
+import re
+import difflib
+import argparse
+import pprint
+
+if os_name == 'nt':
+ EX_OK = 0
+ EX_USAGE = 64
+ EX_SOFTWARE = 70
+ NULL_DEVICE = 'nul'
+else:
+ from os import EX_OK, EX_USAGE, EX_SOFTWARE
+ NULL_DEVICE = '/dev/null'
+
+RE_CALLSTACK = r'\[CallStack:( \w+:\w+(, \w+:\w+)*|-DEBUG NOT SET-)?\]'
+RE_DO_SPACE = (r'\n\ndo_space : WARNING: unrecognized do_space:'
+ r'\n[^\n]+\n[^\n]+\n')
+
+
+def eprint(*args, **kwargs):
+ """
+ print() wrapper that sets file=stderr
+ """
+ print(*args, file=stderr, **kwargs)
+
+
+def decode_out(text):
+ text = text.decode('utf-8')
+ text = text.replace(u'\r\n', u'\n')
+ text = text.replace(u'\r', u'\n')
+ return text
+
+
+def proc(bin_path, args_arr=()):
+ """
+ simple Popen wrapper to return std out/err utf8 strings
+
+
+ Parameters
+ ----------------------------------------------------------------------------
+ :param bin_path: string
+ path to the binary that is going to be called
+
+ :param args_arr : list/tuple
+ all needed arguments
+
+
+ :return: string, string
+ ----------------------------------------------------------------------------
+ generated output of both stdout and stderr
+
+ >>> proc("echo", "test")
+ 'test'
+ """
+ if not isfile(bin_path):
+ eprint("bin is not a file: %s" % bin_path)
+ return False
+
+ # call uncrustify, hold output in memory
+ call_arr = [bin_path]
+ call_arr.extend(args_arr)
+ proc = Popen(call_arr, stdout=PIPE, stderr=PIPE)
+
+ out_txt, err_txt = proc.communicate()
+
+ return decode_out(out_txt), decode_out(err_txt)
+
+
+def write_to_output_path(output_path, result_str):
+ """
+ writes the contents of result_str to the output path
+ """
+ print("Auto appending differences to: " + output_path)
+
+ '''
+ newline = None: this outputs \r\n
+ newline = "\r": this outputs \r
+ newline = "\n": this outputs \n
+ newline = "" : this outputs \n
+ For the sake of consistency, all newlines are now being written out as \n
+ However, if the result_str itself contains \r\n, then \r\n will be output
+ as this code doesn't post process the data being written out
+ '''
+ with open(output_path, 'w', encoding="utf-8", newline="\n") as f:
+ f.write(result_str)
+
+
+def get_file_content(fp):
+ """
+ returns file content as an utf8 string or None if fp is not a file
+
+
+ Parameters
+ ----------------------------------------------------------------------------
+ :param fp: string
+ path of the file that will be read
+
+
+ :return: string or None
+ ----------------------------------------------------------------------------
+ the file content
+
+ """
+ out = None
+
+ if isfile(fp):
+ with open(fp, encoding="utf-8", newline="\n") as f:
+ out = f.read()
+ else:
+ eprint("is not a file: %s" % fp)
+
+ return out
+
+
+def check_generated_output(gen_expected_path, gen_result_path,
+ result_manip=None, program_args=None):
+ """
+ compares the content of two files,
+
+ is intended to compare a file that was generated during a call of Uncrustify
+ with a file that has the expected content
+
+
+ Parameters
+ ----------------------------------------------------------------------------
+ :param gen_expected_path: string
+ path to a file that will be compared with the generated file
+
+ :param gen_result_path: string
+ path to the file that will be generated by Uncrustify
+
+ :param result_manip: lambda OR list or tuple of lambdas
+ optional lambda function(s) that will be applied (before the comparison)
+ on the content of the generated file,
+ the lambda function(s) should accept one string parameter
+
+ :param program_args: tuple of options
+ a collection of multiple options used to add extra functionality to the
+ script (i.e. auto apply changes or show diffs on command line)
+
+ :return: bool
+ ----------------------------------------------------------------------------
+ True or False depending on whether both files have the same content
+
+ >>> check_generated_output("/dev/null", "/dev/null")
+ True
+ """
+
+ gen_exp_txt = get_file_content(gen_expected_path)
+ if gen_exp_txt is None:
+ return False
+
+ gen_res_txt = get_file_content(gen_result_path)
+ if gen_res_txt is None:
+ return False
+
+ if result_manip is not None:
+ if type(result_manip) is list or type(result_manip) is tuple:
+ for m in result_manip:
+ gen_res_txt = m(gen_res_txt)
+ else:
+ gen_res_txt = result_manip(gen_res_txt)
+
+ if gen_res_txt != gen_exp_txt:
+ with open(gen_result_path, 'w', encoding="utf-8", newline="") as f:
+ f.write(gen_res_txt)
+
+ if program_args.apply and program_args.auto_output_path:
+ write_to_output_path(program_args.auto_output_path, gen_res_txt)
+ return True
+ elif program_args.diff:
+ print("\n************************************")
+ print("Problem (1) with %s" % gen_result_path)
+ print("************************************")
+
+ file_diff = difflib.ndiff(gen_res_txt.splitlines(False),
+ gen_exp_txt.splitlines(False))
+
+ for line in file_diff:
+ pprint.PrettyPrinter(indent=4, width=280).pprint(line)
+
+ return False
+ else:
+ print("\nProblem (2) with %s" % gen_result_path)
+ print("use(gen): '--diff' to find out why %s %s are different"
+ % (gen_result_path, gen_expected_path))
+ return False
+
+ remove(gen_result_path)
+
+ return True
+
+
+def check_std_output(expected_path, result_path, result_str, result_manip=None,
+ program_args=None):
+ """
+ compares output generated by Uncrustify (std out/err) with a the content of
+ a file
+
+ Parameters
+ ----------------------------------------------------------------------------
+ :param expected_path: string
+ path of the file that will be compared with the output of Uncrustify
+
+ :param result_path: string
+ path to which the Uncrustifys output will be saved in case of a mismatch
+
+ :param result_str: string (utf8)
+ the output string generated by Uncrustify
+
+ :param result_manip: lambda OR list or tuple of lambdas
+ see result_manip for check_generated_output
+
+ :param program_args: tuple of options
+ a collection of multiple options used to add extra functionality to the
+ script (i.e. auto apply changes or show diffs on command line)
+
+ :return: bool
+ ----------------------------------------------------------------------------
+ True or False depending on whether both files have the same content
+
+ """
+ exp_txt = get_file_content(expected_path)
+ if exp_txt is None:
+ return False
+
+ if result_manip is not None:
+ if type(result_manip) is list or type(result_manip) is tuple:
+ for m in result_manip:
+ result_str = m(result_str)
+ else:
+ result_str = result_manip(result_str)
+
+ if result_str != exp_txt:
+ with open(result_path, 'w', encoding="utf-8", newline="\n") as f:
+ f.write(result_str)
+
+ if program_args.apply and program_args.auto_output_path:
+ write_to_output_path(program_args.auto_output_path, result_str)
+ return True
+
+ if program_args.diff:
+ print("\n************************************")
+ print("Problem (3) with result_path is %s" % result_path)
+ print(" expected_path is %s" % expected_path)
+ print("************************************")
+
+ file_diff = difflib.ndiff(result_str.splitlines(False),
+ exp_txt.splitlines(False))
+
+ """
+ change the value of width
+ look at: If compact is false (the default)...
+ """
+ for line in file_diff:
+ pprint.PrettyPrinter(indent=4, width=280).pprint(line)
+ else:
+ print("\nProblem (4) with %s" % result_path)
+ print("use: '--diff' to find out why %s %s are different"
+ % (result_path, expected_path))
+ return False
+ return True
+
+
+def check_uncrustify_output(
+ uncr_bin,
+ program_args,
+ args_arr=(),
+ out_expected_path=None, out_result_manip=None, out_result_path=None,
+ err_expected_path=None, err_result_manip=None, err_result_path=None,
+ gen_expected_path=None, gen_result_manip=None, gen_result_path=None):
+ """
+ compares outputs generated by Uncrustify with files
+
+ Parameters
+ ----------------------------------------------------------------------------
+ :param uncr_bin: string
+ path to the Uncrustify binary
+
+ :param program_args: tuple of options
+ a collection of multiple options used to add extra functionality to the
+ script (i.e. auto apply changes or show diffs on command line)
+
+ :param args_arr: list/tuple
+ Uncrustify commandline arguments
+
+ :param out_expected_path: string
+ file that will be compared with Uncrustifys stdout output
+
+ :param out_result_manip: string
+ lambda function that will be applied to Uncrustifys stdout output
+ (before the comparison with out_expected_path),
+ the lambda function should accept one string parameter
+
+ :param out_result_path: string
+ path where Uncrustifys stdout output will be saved to in case of a
+ mismatch
+
+ :param err_expected_path: string
+ path to a file that will be compared with Uncrustifys stderr output
+
+ :param err_result_manip: string
+ see out_result_manip (is applied to Uncrustifys stderr instead)
+
+ :param err_result_path: string
+ see out_result_path (is applied to Uncrustifys stderr instead)
+
+ :param gen_expected_path: string
+ path to a file that will be compared with a file generated by Uncrustify
+
+ :param gen_result_path: string
+ path to a file that will be generated by Uncrustify
+
+ :param gen_result_manip:
+ see out_result_path (is applied, in memory, to the file content of the
+ file generated by Uncrustify instead)
+
+
+ :return: bool
+ ----------------------------------------------------------------------------
+ True if all specified files match up, False otherwise
+ """
+ # check param sanity
+ if not out_expected_path and not err_expected_path and not gen_expected_path:
+ eprint("No expected comparison file provided")
+ return False
+
+ if bool(gen_expected_path) != bool(gen_result_path):
+ eprint("'gen_expected_path' and 'gen_result_path' must be used in "
+ "combination")
+ return False
+
+ if gen_result_manip and not gen_result_path:
+ eprint("Set up 'gen_result_path' if 'gen_result_manip' is used")
+
+ out_res_txt, err_res_txt = proc(uncr_bin, args_arr)
+
+ ret_flag = True
+
+ if program_args.apply:
+ valid_path = [out_expected_path, err_expected_path, gen_expected_path]
+ program_args.auto_output_path = next(item for item in valid_path if item is not None)
+
+ if out_expected_path and not check_std_output(
+ out_expected_path, out_result_path, out_res_txt,
+ result_manip=out_result_manip,
+ program_args=program_args):
+ ret_flag = False
+
+ if program_args.apply:
+ valid_path = [err_expected_path, out_expected_path, gen_expected_path]
+ program_args.auto_output_path = next(item for item in valid_path if item is not None)
+
+ if err_expected_path and not check_std_output(
+ err_expected_path, err_result_path, err_res_txt,
+ result_manip=err_result_manip,
+ program_args=program_args):
+ ret_flag = False
+
+ if gen_expected_path and not check_generated_output(
+ gen_expected_path, gen_result_path,
+ result_manip=gen_result_manip,
+ program_args=program_args):
+ ret_flag = False
+
+ return ret_flag
+
+
+def clear_dir(path):
+ """
+ clears a directory by deleting and creating it again
+
+
+ Parameters
+ ----------------------------------------------------------------------------
+ :param path:
+ path of the directory
+
+
+ :return: void
+ """
+ if isdir(path):
+ rmtree(path)
+ makedirs(path)
+
+
+def reg_replace(pattern, replacement):
+ """
+ returns a generated lambda function that applies a regex string replacement
+
+
+ Parameters:
+ ----------------------------------------------------------------------------
+
+ :param pattern: regex pattern
+ the pattern that will be used to find targets to replace
+
+ :param replacement: string
+ the replacement that will be applied
+
+
+ :return: lambda function
+ ----------------------------------------------------------------------------
+ the generated lambda function, takes in a string on which the
+ replacement will be applied and returned
+
+ >>> l = reg_replace(r"a", "b")
+ >>> a = l("a")
+ 'b'
+ """
+ return lambda text: re.sub(pattern, replacement, text)
+
+
+def string_replace(string_target, replacement):
+ """
+ returns a generated lambda function that applies a string replacement
+
+ like reg_replace, uses string.replace() instead
+ """
+ return lambda text: text.replace(string_target, replacement)
+
+
+def s_path_join(path, *paths):
+ """
+ Wrapper for the os.path.join function, splits every path component to
+ replace it with a system specific path separator. This is for consistent
+ path separators (and also systems that don't use either '\' or '/')
+
+
+ Parameter
+ ----------------------------------------------------------------------------
+ :params path, paths: string
+ see os.path.join
+
+ :return: string
+ ----------------------------------------------------------------------------
+ a joined path, see os.path.join
+
+ >>> s_path_join('./z/d/', '../a/b/c/f')
+ r'.\z\a\b\c\f'
+ """
+ p_splits = list(path_split(path))
+ for r in map(path_split, paths):
+ p_splits.extend(r)
+ return path_join(*p_splits)
+
+
+def main(args):
+ # set working dir to script dir
+ script_dir = dirname(relpath(__file__))
+
+ parser = argparse.ArgumentParser(description='Test CLI Options')
+ parser.add_argument('--diff', action='store_true',
+ help='show diffs when there is a test mismatch')
+ parser.add_argument('--apply', action='store_true',
+ help='auto apply the changes from the results folder to the output folder')
+ parser.add_argument('--build',
+ default=s_path_join(script_dir, '../../build'),
+ help='specify location of the build directory')
+ parser.add_argument('--config',
+ default='Release',
+ help='the build_type value (Release or Debug)')
+ parser.add_argument('--test',
+ default=s_path_join(script_dir, '../../build/tests/cli'),
+ help='specify the location of the test cli build folder')
+
+ parsed_args = parser.parse_args()
+
+ # find the uncrustify binary
+ bin_found = False
+ uncr_bin = ''
+ bd_dir = parsed_args.build
+ test_dir = parsed_args.test
+
+ bin_paths = [s_path_join(bd_dir, 'uncrustify'),
+ s_path_join(bd_dir, 'uncrustify.exe'),
+ s_path_join(bd_dir, 'Debug/uncrustify'),
+ s_path_join(bd_dir, 'Debug/uncrustify.exe'),
+ s_path_join(bd_dir, 'Release/uncrustify'),
+ s_path_join(bd_dir, 'Release/uncrustify.exe'),
+ s_path_join(bd_dir, 'RelWithDebInfo/uncrustify'),
+ s_path_join(bd_dir, 'RelWithDebInfo/uncrustify.exe'),
+ s_path_join(bd_dir, 'MinSizeRel/uncrustify'),
+ s_path_join(bd_dir, 'MinSizeRel/uncrustify.exe')]
+ for uncr_bin in bin_paths:
+ if not isfile(uncr_bin):
+ eprint("is not a file: %s" % uncr_bin)
+ else:
+ print("Uncrustify binary found: %s" % uncr_bin)
+ bin_found = True
+ break
+ if not bin_found:
+ eprint("No Uncrustify binary found")
+ sys_exit(EX_USAGE)
+
+ clear_dir(s_path_join(test_dir, 'results'))
+
+ return_flag = True
+
+ #
+ # Test help
+ # -h -? --help --usage
+ if not check_uncrustify_output(
+ uncr_bin,
+ parsed_args,
+ out_expected_path=s_path_join(script_dir, 'output/help.txt'),
+ out_result_path=s_path_join(test_dir, 'results/help.txt'),
+ out_result_manip=[
+ string_replace(' --mtime : Preserve mtime on replaced files.\n', ''),
+ string_replace('.exe', ''),
+ reg_replace(r'currently \d+ options', 'currently x options')
+ ]):
+ return_flag = False
+
+ #
+ # Test false parameter
+ # --xyz
+ if not check_uncrustify_output(
+ uncr_bin,
+ parsed_args,
+ args_arr=['--xyz'],
+ err_expected_path=s_path_join(script_dir, 'output/xyz-err.txt'),
+ err_result_path=s_path_join(test_dir, 'results/xyz-err.txt')
+ ):
+ return_flag = False
+
+ #
+ # Test Version
+ # -v
+ if not check_uncrustify_output(
+ uncr_bin,
+ parsed_args,
+ args_arr=['-v'],
+ out_expected_path=s_path_join(script_dir, 'output/v-out.txt'),
+ out_result_path=s_path_join(test_dir, 'results/v-out.txt'),
+ out_result_manip=reg_replace(r'Uncrustify.+', 'Uncrustify')
+ ):
+ return_flag = False
+
+ # temporary removed
+ ##
+ ## Test --show-config
+ ##
+ #if not check_uncrustify_output(
+ # uncr_bin,
+ # parsed_args,
+ # args_arr=['--show-config'],
+ # out_expected_path=s_path_join(script_dir, 'output/show_config.txt'),
+ # out_result_path=s_path_join(test_dir, 'results/show_config.txt'),
+ # out_result_manip=reg_replace(r'\# Uncrustify.+', '')
+ # ):
+ # return_flag = False
+
+ #
+ # Test the truncate option
+ #
+ if not check_uncrustify_output(
+ uncr_bin,
+ parsed_args,
+ args_arr=['-c', s_path_join(script_dir, 'config/truncate.cfg'),
+ '-f', s_path_join(script_dir, 'input/truncate.cpp'),
+ '-o', NULL_DEVICE,
+ '-L', '83'],
+ err_expected_path=s_path_join(script_dir, 'output/truncate.txt'),
+ err_result_path=s_path_join(test_dir, 'results/truncate.txt'),
+ err_result_manip=[reg_replace(r'\([0-9]+\)', ' '),
+ reg_replace(RE_DO_SPACE, '')]
+ ):
+ return_flag = False
+
+ # temporary removed
+ ##
+ ## Test --update-config
+ ##
+ #if not check_uncrustify_output(
+ # uncr_bin,
+ # parsed_args,
+ # args_arr=['-c', s_path_join(script_dir, 'config/mini_d.cfg'),
+ # '--update-config'],
+ # out_expected_path=s_path_join(script_dir, 'output/mini_d_uc.txt'),
+ # out_result_path=s_path_join(test_dir, 'results/mini_d_uc.txt'),
+ # out_result_manip=reg_replace(r'\# Uncrustify.+', ''),
+ # err_expected_path=s_path_join(script_dir, 'output/mini_d_error.txt'),
+ # err_result_path=s_path_join(test_dir, 'results/mini_d_error0.txt'),
+ # err_result_manip=string_replace('\\', '/')
+ # ):
+ # return_flag = False
+
+ #if not check_uncrustify_output(
+ # uncr_bin,
+ # parsed_args,
+ # args_arr=['-c', s_path_join(script_dir, 'config/mini_nd.cfg'),
+ # '--update-config'],
+ # out_expected_path=s_path_join(script_dir, 'output/mini_nd_uc.txt'),
+ # out_result_path=s_path_join(test_dir, 'results/mini_nd_uc.txt'),
+ # out_result_manip=reg_replace(r'\# Uncrustify.+', ''),
+ # err_expected_path=s_path_join(script_dir, 'output/mini_d_error.txt'),
+ # err_result_path=s_path_join(test_dir, 'results/mini_d_error1.txt'),
+ # err_result_manip=string_replace('\\', '/')
+ # ):
+ # return_flag = False
+
+ ##
+ ## Test --update-config-with-doc
+ ##
+ #if not check_uncrustify_output(
+ # uncr_bin,
+ # parsed_args,
+ # args_arr=['-c', s_path_join(script_dir, 'config/mini_d.cfg'),
+ # '--update-config-with-doc'],
+ # out_expected_path=s_path_join(script_dir, 'output/mini_d_ucwd.txt'),
+ # out_result_path=s_path_join(test_dir, 'results/mini_d_ucwd.txt'),
+ # out_result_manip=reg_replace(r'\# Uncrustify.+', ''),
+ # err_expected_path=s_path_join(script_dir, 'output/mini_d_error.txt'),
+ # err_result_path=s_path_join(test_dir, 'results/mini_d_error2.txt'),
+ # err_result_manip=string_replace('\\', '/')
+ # ):
+ # return_flag = False
+
+ #if not check_uncrustify_output(
+ # uncr_bin,
+ # parsed_args,
+ # args_arr=['-c', s_path_join(script_dir, 'config/mini_nd.cfg'),
+ # '--update-config-with-doc'],
+ # out_expected_path=s_path_join(script_dir, 'output/mini_nd_ucwd.txt'),
+ # out_result_path=s_path_join(test_dir, 'results/mini_nd_ucwd.txt'),
+ # out_result_manip=reg_replace(r'\# Uncrustify.+', ''),
+ # err_expected_path=s_path_join(script_dir, 'output/mini_d_error.txt'),
+ # err_result_path=s_path_join(test_dir, 'results/mini_d_error3.txt'),
+ # err_result_manip=string_replace('\\', '/')
+ # ):
+ # return_flag = False
+
+ #
+ # Test -p
+ #
+ if os_name != 'nt':
+ if not check_uncrustify_output(
+ uncr_bin,
+ parsed_args,
+ args_arr=['-c', s_path_join(script_dir, 'config/mini_nd.cfg'),
+ '-f', s_path_join(script_dir, 'input/testSrcP.cpp'),
+ '-p', s_path_join(test_dir, 'results/p.txt')],
+ gen_expected_path=s_path_join(script_dir, 'output/p.txt'),
+ gen_result_path=s_path_join(test_dir, 'results/p.txt'),
+ gen_result_manip=reg_replace(r'\# Uncrustify.+[^\n\r]', '')
+ ):
+ return_flag = False
+
+ if not check_uncrustify_output(
+ uncr_bin,
+ parsed_args,
+ args_arr=['-f', s_path_join(script_dir, 'input/class_enum_struct_union.cpp'),
+ '-p', s_path_join(test_dir, 'results/class_enum_struct_union.txt')],
+ gen_expected_path=s_path_join(script_dir, 'output/class_enum_struct_union.txt'),
+ gen_result_path=s_path_join(test_dir, 'results/class_enum_struct_union.txt'),
+ gen_result_manip=reg_replace(r'\# Uncrustify.+[^\n\r]', '')
+ ):
+ return_flag = False
+
+ if os_name == 'nt' or check_uncrustify_output(
+ uncr_bin,
+ parsed_args,
+ args_arr=['-c', '-',
+ '-f', NULL_DEVICE,
+ '-p', '-'],
+ out_expected_path=s_path_join(script_dir, 'output/pc-.txt'),
+ out_result_manip=reg_replace(r'\# Uncrustify.+[^\n\r]', ''),
+ out_result_path=s_path_join(test_dir, 'results/pc-.txt')
+ ):
+ pass
+ #
+ # Test -p and -c with '-' input
+ #
+ else:
+ return_flag = False
+
+ #
+ # Test -p and --debug-csv-format option
+ #
+ if os_name != 'nt' and not check_uncrustify_output(
+ uncr_bin,
+ parsed_args,
+ args_arr=['-c', '-',
+ '-f', s_path_join(script_dir, 'input/class_enum_struct_union.cpp'),
+ '-p', s_path_join(test_dir, 'results/class_enum_struct_union.csv'),
+ '--debug-csv-format'],
+ gen_expected_path=s_path_join(script_dir, 'output/class_enum_struct_union.csv'),
+ gen_result_path=s_path_join(test_dir, 'results/class_enum_struct_union.csv'),
+ ):
+ return_flag = False
+
+ #
+ # Test --tracking_space FILE
+ #
+ if parsed_args.config == 'Debug':
+ eprint("Debug")
+ if not check_uncrustify_output(
+ uncr_bin,
+ parsed_args,
+ args_arr=['-c', s_path_join(script_dir, 'config/tracking_space.cfg'),
+ '-f', s_path_join(script_dir, 'input/tracking_space.cpp'),
+ '--tracking_space', s_path_join(test_dir, 'results/Debug_tracking_space.html')],
+ gen_expected_path=s_path_join(script_dir, 'output/Debug_tracking_space.html'),
+ gen_result_path=s_path_join(test_dir, 'results/Debug_tracking_space.html'),
+ ):
+ return_flag = False
+ else:
+ eprint(parsed_args.config)
+ if not check_uncrustify_output(
+ uncr_bin,
+ parsed_args,
+ args_arr=['-c', s_path_join(script_dir, 'config/tracking_space.cfg'),
+ '-f', s_path_join(script_dir, 'input/tracking_space.cpp'),
+ '--tracking_space', s_path_join(test_dir, 'results/tracking_space.html')],
+ gen_expected_path=s_path_join(script_dir, 'output/tracking_space.html'),
+ gen_result_path=s_path_join(test_dir, 'results/tracking_space.html'),
+ ):
+ return_flag = False
+
+ #
+ # Test --replace
+ #
+ copyfile("input/backup.h-save", "input/backup.h")
+ if not check_uncrustify_output(
+ uncr_bin,
+ parsed_args,
+ args_arr=['-c', s_path_join(script_dir, 'config/replace.cfg'),
+ '-F', s_path_join(script_dir, 'input/replace.list'),
+ '--replace', '--no-backup'],
+ gen_expected_path=s_path_join(script_dir, 'output/backup.h'),
+ gen_result_path=s_path_join(script_dir, 'input/backup.h'),
+ err_expected_path=s_path_join(script_dir, 'output/replace.txt'),
+ err_result_path=s_path_join(test_dir, 'results/replace.txt'),
+ ):
+ return_flag = False
+
+ # The flag CMAKE_BUILD_TYPE must be set to "Release", or all lines with
+ # 'Description="<html>(<number>)text abc.</html>" must be changed to
+ # 'Description="<html>text abc.</html>"
+ #
+ # OR it is possible to introduce a new parameter: gen_expected_manip
+ #
+ # The last "reg_replace(r'\r', '')" is necessary under Windows, because
+ # fprintf puts a \r\n at the end of a line. To make the check, we use
+ # output/universalindent.cfg, generated under Linux, with only \n at the
+ # end of a line.
+ if not check_uncrustify_output(
+ uncr_bin,
+ parsed_args,
+ args_arr=['-o', s_path_join(test_dir, 'results/universalindent.cfg'),
+ '--universalindent'],
+ gen_expected_path=s_path_join(script_dir, 'output/universalindent.cfg'),
+ gen_result_path=s_path_join(test_dir, 'results/universalindent.cfg'),
+ gen_result_manip=[reg_replace(r'version=U.+', ''),
+ reg_replace(r'\(\d+\)', ''),
+ reg_replace(r'\r', '')]
+ ):
+ return_flag = False
+
+ # Debug Options:
+ # -L
+ # look at src/log_levels.h
+ Ls_A = ['9', '21', '25', '28', '31', '36', '66', '92']
+ for L in Ls_A:
+ if not check_uncrustify_output(
+ uncr_bin,
+ parsed_args,
+ args_arr=['-c', NULL_DEVICE, '-L', L, '-o', NULL_DEVICE,
+ '-f', s_path_join(script_dir, 'input/testSrc.cpp')],
+ err_expected_path=s_path_join(script_dir, 'output/%s.txt' % L),
+ err_result_path=s_path_join(test_dir, 'results/%s.txt' % L),
+ err_result_manip=[reg_replace(r'\([0-9]+\)', ' '),
+ reg_replace(r'\:[0-9]+\)', ' '),
+ reg_replace(r'\[line [0-9]+', '[ '),
+ reg_replace(r' \[[_|,|1|A-Z]*\]', ' []'),
+ reg_replace(r', \[[_|,|1|A-Z]*\]', ', []'),
+ reg_replace(r', \[0[xX][0-9a-fA-F]+:[_|,|1|A-Z]*\]', ', []'),
+ reg_replace(r' \[0[xX][0-9a-fA-F]+:[_|,|1|A-Z]*\]', ' []'),
+ reg_replace(r'^[ \t]*[_A-Za-z][_A-Za-z0-9]*::', ''),
+ reg_replace(RE_CALLSTACK, '[CallStack]'),
+ reg_replace(RE_DO_SPACE, '')]
+ ):
+ return_flag = False
+
+ # Test logger buffer overflow
+ if not check_uncrustify_output(
+ uncr_bin,
+ parsed_args,
+ args_arr=['-c', NULL_DEVICE, '-L', '99', '-o', NULL_DEVICE,
+ '-f', s_path_join(script_dir, 'input/logger.cs')],
+ err_expected_path=s_path_join(script_dir, 'output/logger_cs_L_99.txt'),
+ err_result_path=s_path_join(test_dir, 'results/logger_cs_L_99.txt'),
+ err_result_manip=reg_replace(r'[0-9]', '')
+ ):
+ return_flag = False
+
+ # misc error_tests
+ error_tests = ["I-842", "unmatched_close_pp"]
+ for test in error_tests:
+ if not check_uncrustify_output(
+ uncr_bin,
+ parsed_args,
+ args_arr=['-c', s_path_join(script_dir, 'config/%s.cfg' % test),
+ '-f', s_path_join(script_dir, 'input/%s.cpp' % test),
+ '-o', NULL_DEVICE, '-q'],
+ err_expected_path=s_path_join(script_dir, 'output/%s.txt' % test),
+ err_result_path=s_path_join(test_dir, 'results/%s.txt' % test)
+ ):
+ return_flag = False
+
+ # Test $(year) keyword (issue #3251)
+ if not check_uncrustify_output(
+ uncr_bin,
+ parsed_args,
+ args_arr=['-c', s_path_join(script_dir, 'config/copyright-header.cfg'),
+ '-f', s_path_join(script_dir, 'input/testSrc.cpp')],
+ out_expected_path=s_path_join(script_dir, 'output/copyright-header.cpp'),
+ out_result_path=s_path_join(test_dir, 'results/copyright-header.cpp'),
+ out_result_manip=string_replace(str(date.today().year), 'this year'),
+ ):
+ return_flag = False
+
+ if return_flag:
+ print("all tests are OK")
+ sys_exit(EX_OK)
+ else:
+ print("some problem(s) are still present")
+ sys_exit(EX_SOFTWARE)
+
+
+if __name__ == "__main__":
+ main(argv[1:])