build UPDATE uncrustify version 0.71 -> 0.75
diff --git a/uncrustify.cfg b/uncrustify.cfg
index bc6be9d..6c76edb 100644
--- a/uncrustify.cfg
+++ b/uncrustify.cfg
@@ -60,6 +60,12 @@
# Enable parsing of digraphs.
enable_digraphs = false # true/false
+# Option to allow both disable_processing_cmt and enable_processing_cmt
+# strings, if specified, to be interpreted as ECMAScript regular expressions.
+# If true, a regex search will be performed within comments according to the
+# specified patterns in order to disable/enable processing.
+processing_cmt_as_regex = false # true/false
+
# Add or remove the UTF-8 BOM (recommend 'remove').
utf8_bom = ignore # ignore/add/remove/force
@@ -108,6 +114,11 @@
# no argument list is present, as in '[] <here> { ... }'.
sp_cpp_lambda_square_brace = ignore # ignore/add/remove/force
+# Add or remove space after the opening parenthesis and before the closing
+# parenthesis of a argument list of a C++11 lambda, as in
+# '[]( <here> int x <here> ){ ... }'.
+sp_cpp_lambda_argument_list = ignore # ignore/add/remove/force/not_defined
+
# Add or remove space after the argument list of a C++11 lambda, as in
# '[](int x) <here> { ... }'.
sp_cpp_lambda_paren_brace = ignore # ignore/add/remove/force
@@ -131,6 +142,11 @@
# Overrides sp_assign.
sp_after_assign = force # ignore/add/remove/force
+# Add or remove space in 'enum {'.
+#
+# Default: add
+sp_enum_brace = force # ignore/add/remove/force/not_defined
+
# Add or remove space in 'NS_ENUM ('.
sp_enum_paren = force # ignore/add/remove/force
@@ -214,6 +230,18 @@
# Overrides sp_after_ptr_star and sp_type_func.
sp_after_ptr_star_func = ignore # ignore/add/remove/force
+# Add or remove space after a pointer star '*' in the trailing return of a
+# function prototype or function definition.
+sp_after_ptr_star_trailing = ignore # ignore/add/remove/force/not_defined
+
+# Add or remove space between the pointer star '*' and the name of the variable
+# in a function pointer definition.
+sp_ptr_star_func_var = remove # ignore/add/remove/force/not_defined
+
+# Add or remove space between the pointer star '*' and the name of the type
+# in a function pointer type definition.
+sp_ptr_star_func_type = remove # ignore/add/remove/force/not_defined
+
# Add or remove space after a pointer star '*', if followed by an open
# parenthesis, as in 'void* (*)().
sp_ptr_star_paren = remove # ignore/add/remove/force
@@ -222,6 +250,10 @@
# prototype or function definition.
sp_before_ptr_star_func = force # ignore/add/remove/force
+# Add or remove space before a pointer star '*' in the trailing return of a
+# function prototype or function definition.
+sp_before_ptr_star_trailing = ignore # ignore/add/remove/force/not_defined
+
# Add or remove space before a reference sign '&'.
sp_before_byref = ignore # ignore/add/remove/force
@@ -244,6 +276,10 @@
# prototype or function definition.
sp_before_byref_func = ignore # ignore/add/remove/force
+# Add or remove space after a reference sign '&', if followed by an open
+# parenthesis, as in 'char& (*)()'.
+sp_byref_paren = ignore # ignore/add/remove/force/not_defined
+
# Add or remove space between type and word.
#
# Default: force
@@ -311,6 +347,22 @@
# Overrides sp_inside_sparen.
sp_inside_sparen_close = ignore # ignore/add/remove/force
+# Add or remove space inside '(' and ')' of 'for' statements.
+sp_inside_for = remove # ignore/add/remove/force/not_defined
+
+# Add or remove space after '(' of 'for' statements.
+#
+# Overrides sp_inside_for.
+sp_inside_for_open = ignore # ignore/add/remove/force/not_defined
+
+# Add or remove space before ')' of 'for' statements.
+#
+# Overrides sp_inside_for.
+sp_inside_for_close = ignore # ignore/add/remove/force/not_defined
+
+# Add or remove space between '((' or '))' of control statements.
+sp_sparen_paren = ignore # ignore/add/remove/force/not_defined
+
# Add or remove space after ')' of control statements.
sp_after_sparen = force # ignore/add/remove/force
@@ -337,6 +389,10 @@
# Add or remove space before a semicolon of an empty part of a for statement.
sp_before_semi_for_empty = force # ignore/add/remove/force
+# Add or remove space between the semicolons of an empty middle part of a for
+# statement, as in 'for ( ; <here> ; )'.
+sp_between_semi_for_empty = ignore # ignore/add/remove/force/not_defined
+
# Add or remove space after ';', except when followed by a comment.
#
# Default: add
@@ -371,6 +427,9 @@
# Add or remove space inside a non-empty '[' and ']'.
sp_inside_square = ignore # ignore/add/remove/force
+# Add or remove space inside '[]'.
+sp_inside_square_empty = remove # ignore/add/remove/force/not_defined
+
# (OC) Add or remove space inside a non-empty Objective-C boxed array '@[' and
# ']'. If set to ignore, sp_inside_square is used.
sp_inside_square_oc_array = ignore # ignore/add/remove/force
@@ -401,6 +460,14 @@
# Default: force
sp_paren_comma = force # ignore/add/remove/force
+# Add or remove space between a type and ':'.
+sp_type_colon = ignore # ignore/add/remove/force/not_defined
+
+# Add or remove space after the variadic '...' when preceded by a
+# non-punctuator.
+# The value REMOVE will be overriden with FORCE
+sp_after_ellipsis = ignore # ignore/add/remove/force/not_defined
+
# Add or remove space before the variadic '...' when preceded by a
# non-punctuator.
sp_before_ellipsis = force # ignore/add/remove/force
@@ -408,12 +475,15 @@
# Add or remove space between a type and '...'.
sp_type_ellipsis = force # ignore/add/remove/force
-# (D) Add or remove space between a type and '?'.
-#sp_type_question = ignore # ignore/add/remove/force
+# Add or remove space between a '*' and '...'.
+sp_ptr_type_ellipsis = ignore # ignore/add/remove/force/not_defined
# Add or remove space between ')' and '...'.
sp_paren_ellipsis = force # ignore/add/remove/force
+# Add or remove space between '&&' and '...'.
+sp_byref_ellipsis = ignore # ignore/add/remove/force/not_defined
+
# Add or remove space between ')' and a qualifier such as 'const'.
sp_paren_qualifier = force # ignore/add/remove/force
@@ -468,6 +538,12 @@
# Add or remove space between 'sizeof...' and '('.
sp_sizeof_ellipsis_paren = remove # ignore/add/remove/force
+# Add or remove space between '...' and a parameter pack.
+sp_ellipsis_parameter_pack = ignore # ignore/add/remove/force/not_defined
+
+# Add or remove space between a parameter pack and '...'.
+sp_parameter_pack_ellipsis = ignore # ignore/add/remove/force/not_defined
+
# Add or remove space between 'decltype' and '('.
sp_decltype_paren = ignore # ignore/add/remove/force
@@ -586,6 +662,11 @@
# and '()'.
sp_func_class_paren_empty = ignore # ignore/add/remove/force
+# Add or remove space after 'return'.
+#
+# Default: force
+sp_return = force # ignore/add/remove/force/not_defined
+
# Add or remove space between 'return' and '('.
sp_return_paren = force # ignore/add/remove/force
@@ -705,6 +786,10 @@
# Default: remove
sp_not = remove # ignore/add/remove/force
+# Add or remove space between two '!' (not) unary operators.
+# If set to ignore, sp_not will be used.
+sp_not_not = remove # ignore/add/remove/force/not_defined
+
# Add or remove space after the '~' (invert) unary operator.
#
# Default: remove
@@ -866,6 +951,14 @@
# i.e. '// A' vs. '//A'.
sp_cmt_cpp_start = force # ignore/add/remove/force
+# Add or remove space in a C++ region marker comment, as in '// <here> BEGIN'.
+# A region marker is defined as a comment which is not preceded by other text
+# (i.e. the comment is the first non-whitespace on the line), and which starts
+# with either 'BEGIN' or 'END'.
+#
+# Overrides sp_cmt_cpp_start.
+sp_cmt_cpp_region = ignore # ignore/add/remove/force/not_defined
+
# If true, space is added with sp_cmt_cpp_start will be added after doxygen
# sequences like '///', '///<', '//!' and '//!<'.
sp_cmt_cpp_doxygen = true # true/false
@@ -902,11 +995,31 @@
# Overrides sp_inside_newop_paren.
sp_inside_newop_paren_close = ignore # ignore/add/remove/force
-# Add or remove space before a trailing or embedded comment.
-sp_before_tr_emb_cmt = ignore # ignore/add/remove/force
+# Add or remove space before a trailing comment.
+sp_before_tr_cmt = ignore # ignore/add/remove/force/not_defined
-# Number of spaces before a trailing or embedded comment.
-sp_num_before_tr_emb_cmt = 0 # unsigned number
+# Number of spaces before a trailing comment.
+sp_num_before_tr_cmt = 0 # unsigned number
+
+# Add or remove space before an embedded comment.
+#
+# Default: force
+sp_before_emb_cmt = force # ignore/add/remove/force/not_defined
+
+# Number of spaces before an embedded comment.
+#
+# Default: 1
+sp_num_before_emb_cmt = 1 # unsigned number
+
+# Add or remove space after an embedded comment.
+#
+# Default: force
+sp_after_emb_cmt = force # ignore/add/remove/force/not_defined
+
+# Number of spaces after an embedded comment.
+#
+# Default: 1
+sp_num_after_emb_cmt = 1 # unsigned number
# (Java) Add or remove space between an annotation and the open parenthesis.
sp_annotation_paren = ignore # ignore/add/remove/force
@@ -932,6 +1045,10 @@
# Default: 8
indent_columns = 4 # unsigned number
+# Whether to ignore indent for the first continuation line. Subsequent
+# continuation lines will still be indented to match the first.
+indent_ignore_first_continue = false # true/false
+
# The continuation indent. If non-zero, this overrides the indent of '(', '['
# and '=' continuation indents. Negative values are OK; negative value is
# absolute and not increased for each '(' or '[' level.
@@ -1016,12 +1133,25 @@
# indented. Requires indent_namespace=true. 0 means no limit.
indent_namespace_limit = 0 # unsigned number
+# Whether to indent only in inner namespaces (nested in other namespaces).
+# Requires indent_namespace=true.
+indent_namespace_inner_only = false # true/false
+
# Whether the 'extern "C"' body is indented.
indent_extern = false # true/false
# Whether the 'class' body is indented.
indent_class = false # true/false
+# Whether to ignore indent for the leading base class colon.
+indent_ignore_before_class_colon = false # true/false
+
+# Additional indent before the leading base class colon.
+# Negative values decrease indent down to the first column.
+# Requires a newline break before colon (see pos_class_colon
+# and nl_class_colon)
+indent_before_class_colon = 0 # number
+
# Whether to indent the stuff after a leading base class colon.
indent_class_colon = false # true/false
@@ -1029,6 +1159,9 @@
# colon. Requires indent_class_colon=true.
indent_class_on_colon = false # true/false
+# Whether to ignore indent for a leading class initializer colon.
+indent_ignore_before_constr_colon = false # true/false
+
# Whether to indent the stuff after a leading class initializer colon.
indent_constr_colon = false # true/false
@@ -1037,6 +1170,11 @@
# Default: 2
indent_ctor_init_leading = 0 # unsigned number
+# Virtual indent from the ':' for following member initializers.
+#
+# Default: 2
+indent_ctor_init_following = 2 # unsigned number
+
# Additional indent for constructor initializer list.
# Negative values decrease indent down to the first column.
indent_ctor_init = 0 # number
@@ -1054,9 +1192,12 @@
# Whether to indent continued variable declarations instead of aligning.
indent_var_def_cont = true # true/false
-# Whether to indent continued shift expressions ('<<' and '>>') instead of
-# aligning. Set align_left_shift=false when enabling this.
-indent_shift = true # true/false
+# How to indent continued shift expressions ('<<' and '>>').
+# Set align_left_shift=false when using this.
+# 0: Align shift operators instead of indenting them (default)
+# 1: Indent by one level
+# -1: Preserve original indentation
+indent_shift = 1 # number
# Whether to force indentation of function definitions to start in column 1.
indent_func_def_force_col1 = false # true/false
@@ -1122,7 +1263,10 @@
indent_member_single = true # true/false
# Spaces to indent single line ('//') comments on lines before code.
-indent_sing_line_comments = 0 # unsigned number
+indent_single_line_comments_before = 0 # unsigned number
+
+# Spaces to indent single line ('//') comments on lines after code.
+indent_single_line_comments_after = 0 # unsigned number
# When opening a paren for a control statement (if, for, while, etc), increase
# the indent level by this value. Negative values decrease the indent level.
@@ -1135,6 +1279,13 @@
# Spaces to indent 'case' from 'switch'. Usually 0 or indent_columns.
indent_switch_case = 0 # unsigned number
+# Spaces to indent the body of a 'switch' before any 'case'.
+# Usually the same as indent_columns or indent_switch_case.
+indent_switch_body = 0 # unsigned number
+
+# Whether to ignore indent for '{' following 'case'.
+indent_ignore_case_brace = false # true/false
+
# indent 'break' with 'case' from 'switch'.
indent_switch_break_with_case = false # true/false
@@ -1151,12 +1302,25 @@
# the 'c' in case. Usually set to 0 or indent_columns. Negative values are OK.
indent_case_brace = 0 # number
+# Whether to indent comments not found in first column.
+#
+# Default: true
+indent_comment = true # true/false
+
# Whether to indent comments found in first column.
indent_col1_comment = false # true/false
# Whether to indent multi string literal in first column.
indent_col1_multi_string_literal = false # true/false
+# Align comments on adjacent lines that are this many columns apart or less.
+#
+# Default: 3
+indent_comment_align_thresh = 3 # unsigned number
+
+# Whether to ignore indent for goto labels.
+indent_ignore_label = true # true/false
+
# How to indent goto labels.
#
# >0: Absolute column where 1 is the leftmost column
@@ -1201,18 +1365,39 @@
# if the parenthesis is on its own line.
indent_paren_after_func_call = false # true/false
-# Whether to indent a comma when inside a parenthesis.
-# If true, aligns under the open parenthesis.
-indent_comma_paren = false # true/false
+# How to indent a comma when inside braces.
+# 0: Indent by one level (default)
+# 1: Align under the open brace
+# -1: Preserve original indentation
+indent_comma_brace = 0 # number
-# Whether to indent a Boolean operator when inside a parenthesis.
-# If true, aligns under the open parenthesis.
-indent_bool_paren = false # true/false
+# How to indent a comma when inside parentheses.
+# 0: Indent by one level (default)
+# 1: Align under the open parenthesis
+# -1: Preserve original indentation
+indent_comma_paren = 0 # number
+
+# How to indent a Boolean operator when inside parentheses.
+# 0: Indent by one level (default)
+# 1: Align under the open parenthesis
+# -1: Preserve original indentation
+indent_bool_paren = 0 # number
+
+# Whether to ignore the indentation of a Boolean operator when outside
+# parentheses.
+indent_ignore_bool = false # true/false
+
+# Whether to ignore the indentation of an arithmetic operator.
+indent_ignore_arith = false # true/false
# Whether to indent a semicolon when inside a for parenthesis.
# If true, aligns under the open for parenthesis.
indent_semicolon_for_paren = false # true/false
+# Whether to ignore the indentation of a semicolon outside of a 'for'
+# statement.
+indent_ignore_semicolon = false # true/false
+
# Whether to align the first expression to following ones
# if indent_bool_paren=true.
indent_first_bool_expr = false # true/false
@@ -1228,6 +1413,9 @@
# (ESQL/C) Whether to preserve the relative indent of 'EXEC SQL' bodies.
indent_preserve_sql = false # true/false
+# Whether to ignore the indentation of an assignment operator.
+indent_ignore_assign = false # true/false
+
# Whether to align continued statements at the '='. If false or if the '=' is
# followed by a newline, the next line is indent one tab.
#
@@ -1343,6 +1531,10 @@
# have their own indentation).
indent_ignore_asm_block = true # true/false
+# Don't indent the close parenthesis of a function definition,
+# if the parenthesis is on its own line.
+donot_indent_func_def_close_paren = false # true/false
+
#
# Newline adding and removing options
#
@@ -1378,6 +1570,9 @@
# Don't split one-line while statements, as in 'while(...) b++;'.
nl_while_leave_one_liners = false # true/false
+# Don't split one-line do statements, as in 'do { b++; } while(...);'.
+nl_do_leave_one_liners = false # true/false
+
# Don't split one-line for statements, as in 'for(...) b++;'.
nl_for_leave_one_liners = false # true/false
@@ -1437,7 +1632,7 @@
nl_fcall_brace = ignore # ignore/add/remove/force
# Add or remove newline between 'enum' and '{'.
-nl_enum_brace = ignore # ignore/add/remove/force
+nl_enum_brace = remove # ignore/add/remove/force
# Add or remove newline between 'enum' and 'class'.
nl_enum_class = ignore # ignore/add/remove/force
@@ -1452,10 +1647,10 @@
nl_enum_colon_type = ignore # ignore/add/remove/force
# Add or remove newline between 'struct and '{'.
-nl_struct_brace = ignore # ignore/add/remove/force
+nl_struct_brace = remove # ignore/add/remove/force
# Add or remove newline between 'union' and '{'.
-nl_union_brace = ignore # ignore/add/remove/force
+nl_union_brace = remove # ignore/add/remove/force
# Add or remove newline between 'if' and '{'.
nl_if_brace = remove # ignore/add/remove/force
@@ -1831,6 +2026,9 @@
# direct-list-initialization.
nl_type_brace_init_lst_close = ignore # ignore/add/remove/force
+# Whether to add a newline before '{'.
+nl_before_brace_open = false # true/false
+
# Whether to add a newline after '{'. This also adds a newline before the
# matching '}'.
nl_after_brace_open = true # true/false
@@ -1912,6 +2110,12 @@
# Add or remove blank line after 'do/while' statement.
nl_after_do = ignore # ignore/add/remove/force
+# Ignore nl_before_{if,for,switch,do,synchronized} if the control
+# statement is immediately after a case statement.
+# if nl_before_{if,for,switch,do} is set to remove, this option
+# does nothing.
+nl_before_ignore_after_case = false # true/false
+
# Whether to put a blank line before 'return' statements, unless after an open
# brace.
nl_before_return = false # true/false
@@ -1980,6 +2184,10 @@
# adding a newline, as in 'while (expr) <here> stmt;'.
nl_split_while_one_liner = false # true/false
+# Don't add a newline before a cpp-comment in a parameter list of a function
+# call.
+donot_add_nl_before_cpp_comment = false # true/false
+
#
# Blank line options
#
@@ -1990,6 +2198,12 @@
# The maximum number of consecutive newlines in a function.
nl_max_blank_in_func = 2 # unsigned number
+# The number of newlines inside an empty function body.
+# This option overrides eat_blanks_after_open_brace and
+# eat_blanks_before_close_brace, but is ignored when
+# nl_collapse_empty_body=true
+nl_inside_empty_func = 0 # unsigned number
+
# The number of newlines before a function prototype.
nl_before_func_body_proto = 0 # unsigned number
@@ -2097,6 +2311,9 @@
# Whether to force a newline after a label's colon.
nl_after_label_colon = true # true/false
+# The number of newlines before a struct definition.
+nl_before_struct = 1 # unsigned number
+
# The number of newlines after '}' or ';' of a struct/enum/union definition.
nl_after_struct = 1 # unsigned number
@@ -2246,6 +2463,9 @@
# Related to nl_constr_colon, nl_constr_init_args and pos_constr_comma.
pos_constr_colon = ignore # ignore/break/force/lead/trail/join/lead_break/lead_force/trail_break/trail_force
+# The position of shift operators in wrapped expressions.
+pos_shift = ignore # ignore/break/force/lead/trail/join/lead_break/lead_force/trail_break/trail_force
+
#
# Line splitting options
#
@@ -2371,13 +2591,18 @@
align_var_def_attribute = false # true/false
# Whether to align inline struct/enum/union variable definitions.
-align_var_def_inline = false # true/false
+align_var_def_inline = true # true/false
# The span for aligning on '=' in assignments.
#
# 0: Don't align (default).
align_assign_span = 0 # unsigned number
+# The span for aligning on '{' in braced init list.
+#
+# 0: Don't align (default).
+align_braced_init_list_span = 0 # unsigned number
+
# The span for aligning on '=' in function prototype modifier.
#
# 0: Don't align (default).
@@ -2389,6 +2614,17 @@
# 0: No limit (default).
align_assign_thresh = 0 # number
+# Whether to align on the left most assignment when multiple
+# definitions are found on the same line.
+# Depends on 'align_assign_span' and 'align_assign_thresh' settings.
+align_assign_on_multi_var_defs = false # true/false
+
+# The threshold for aligning on '{' in braced init list.
+# Use a negative number for absolute thresholds.
+#
+# 0: No limit (default).
+align_braced_init_list_thresh = 0 # number
+
# How to apply align_assign_span to function declaration "assignments", i.e.
# 'virtual void foo() = 0' or '~foo() = {default|delete}'.
#
@@ -2501,6 +2737,22 @@
# 0: Don't align (default).
align_func_proto_span = 0 # unsigned number
+# How to consider (or treat) the '*' in the alignment of function prototypes.
+#
+# 0: Part of the type 'void * foo();' (default)
+# 1: Part of the function 'void *foo();'
+# 2: Dangling 'void *foo();'
+# Dangling: the '*' will not be taken into account when aligning.
+align_func_proto_star_style = 0 # unsigned number
+
+# How to consider (or treat) the '&' in the alignment of function prototypes.
+#
+# 0: Part of the type 'long & foo();' (default)
+# 1: Part of the function 'long &foo();'
+# 2: Dangling 'long &foo();'
+# Dangling: the '&' will not be taken into account when aligning.
+align_func_proto_amp_style = 0 # unsigned number
+
# The threshold for aligning function prototypes.
# Use a negative number for absolute thresholds.
#
@@ -2555,6 +2807,10 @@
# Default: true
align_left_shift = false # true/false
+# Whether to align comma-separated statements following '<<' (as used to
+# initialize Eigen matrices).
+align_eigen_comma_init = false # true/false
+
# Whether to align text after 'asm volatile ()' colons.
align_asm_colon = false # true/false
@@ -2591,6 +2847,41 @@
# 2: Full reflow
cmt_reflow_mode = 1 # unsigned number
+# Path to a file that contains regular expressions describing patterns for
+# which the end of one line and the beginning of the next will be folded into
+# the same sentence or paragraph during full comment reflow. The regular
+# expressions are described using ECMAScript syntax. The syntax for this
+# specification is as follows, where "..." indicates the custom regular
+# expression and "n" indicates the nth end_of_prev_line_regex and
+# beg_of_next_line_regex regular expression pair:
+#
+# end_of_prev_line_regex[1] = "...$"
+# beg_of_next_line_regex[1] = "^..."
+# end_of_prev_line_regex[2] = "...$"
+# beg_of_next_line_regex[2] = "^..."
+# .
+# .
+# .
+# end_of_prev_line_regex[n] = "...$"
+# beg_of_next_line_regex[n] = "^..."
+#
+# Note that use of this option overrides the default reflow fold regular
+# expressions, which are internally defined as follows:
+#
+# end_of_prev_line_regex[1] = "[\w,\]\)]$"
+# beg_of_next_line_regex[1] = "^[\w,\[\(]"
+# end_of_prev_line_regex[2] = "\.$"
+# beg_of_next_line_regex[2] = "^[A-Z]"
+cmt_reflow_fold_regex_file = "" # string
+
+# Whether to indent wrapped lines to the start of the encompassing paragraph
+# during full comment reflow (cmt_reflow_mode = 2). Overrides the value
+# specified by cmt_sp_after_star_cont.
+#
+# Note that cmt_align_doxygen_javadoc_tags overrides this option for
+# paragraphs associated with javadoc tags
+cmt_reflow_indent_to_paragraph_start = false # true/false
+
# Whether to convert all tabs to spaces in comments. If false, tabs in
# comments are left alone, unless used for indenting.
cmt_convert_tab_to_spaces = false # true/false
@@ -2601,6 +2892,25 @@
# Default: true
cmt_indent_multi = false # true/false
+# Whether to align doxygen javadoc-style tags ('@param', '@return', etc.)
+# and corresponding fields such that groups of consecutive block tags,
+# parameter names, and descriptions align with one another. Overrides that
+# which is specified by the cmt_sp_after_star_cont. If cmt_width > 0, it may
+# be necessary to enable cmt_indent_multi and set cmt_reflow_mode = 2
+# in order to achieve the desired alignment for line-wrapping.
+cmt_align_doxygen_javadoc_tags = false # true/false
+
+# The number of spaces to insert after the star and before doxygen
+# javadoc-style tags (@param, @return, etc). Requires enabling
+# cmt_align_doxygen_javadoc_tags. Overrides that which is specified by the
+# cmt_sp_after_star_cont.
+#
+# Default: 1
+cmt_sp_before_doxygen_javadoc_tags = 1 # unsigned number
+
+# Whether to change trailing, single-line c-comments into cpp-comments.
+cmt_trailing_single_line_c_to_cpp = false # true/false
+
# Whether to group c-comments that look like they are in a block.
cmt_c_group = false # true/false
@@ -2720,12 +3030,17 @@
mod_full_brace_if = force # ignore/add/remove/force
# Whether to enforce that all blocks of an 'if'/'else if'/'else' chain either
-# have, or do not have, braces. If true, braces will be added if any block
-# needs braces, and will only be removed if they can be removed from all
-# blocks.
+# have, or do not have, braces. Overrides mod_full_brace_if.
#
-# Overrides mod_full_brace_if.
-mod_full_brace_if_chain = false # true/false
+# 0: Don't override mod_full_brace_if
+# 1: Add braces to all blocks if any block needs braces and remove braces if
+# they can be removed from all blocks
+# 2: Add braces to all blocks if any block already has braces, regardless of
+# whether it needs them
+# 3: Add braces to all blocks if any block needs braces and remove braces if
+# they can be removed from all blocks, except if all blocks have braces
+# despite none needing them
+mod_full_brace_if_chain = 0 # unsigned number
# Whether to add braces to all blocks of an 'if'/'else if'/'else' chain.
# If true, mod_full_brace_if_chain will only remove braces from an 'if' that
@@ -2767,9 +3082,20 @@
# statement, as in 'if (a && b > c)' => 'if (a && (b > c))'.
mod_full_paren_if_bool = true # true/false
+# Whether to fully parenthesize Boolean expressions after '='
+# statement, as in 'x = a && b > c;' => 'x = (a && (b > c));'.
+mod_full_paren_assign_bool = false # true/false
+
+# Whether to fully parenthesize Boolean expressions after '='
+# statement, as in 'return a && b > c;' => 'return (a && (b > c));'.
+mod_full_paren_return_bool = false # true/false
+
# Whether to remove superfluous semicolons.
mod_remove_extra_semicolon = true # true/false
+# Whether to remove duplicate include.
+mod_remove_duplicate_include = true # true/false
+
# If a function body exceeds the specified number of newlines and doesn't have
# a comment after the close brace, a comment will be added.
mod_add_long_function_closebrace_comment = 0 # unsigned number
@@ -2831,6 +3157,10 @@
# the close brace, as in 'case X: { ... } break;' => 'case X: { ... break; }'.
mod_move_case_break = true # true/false
+# Whether to move a 'return' that appears after a fully braced 'case' before
+# the close brace, as in 'case X: { ... } return;' => 'case X: { ... return; }'.
+mod_move_case_return = true # true/false
+
# Add or remove braces around a fully braced case statement. Will only remove
# braces if there are no variable declarations in the block.
mod_case_brace = remove # ignore/add/remove/force
@@ -2881,6 +3211,10 @@
# indented from column 1.
pp_indent_at_level = false # true/false
+# Whether to indent #if/#else/#endif at the parenthesis level if the brace
+# level is 0. If false, these are indented from column 1.
+pp_indent_at_level0 = false # true/false
+
# Specifies the number of columns to indent preprocessors per level
# at brace level 0 (file-level). If pp_indent_at_level=false, also specifies
# the number of columns to indent preprocessors per level
@@ -2912,10 +3246,16 @@
# Whether to indent the code between #if, #else and #endif.
pp_if_indent_code = false # true/false
+# Whether to indent the body of an #if that encompasses all the code in the file.
+pp_indent_in_guard = false # true/false
+
# Whether to indent '#define' at the brace level. If false, these are
# indented from column 1.
pp_define_at_level = false # true/false
+# Whether to indent '#include' at the brace level.
+pp_include_at_level = false # true/false
+
# Whether to ignore the '#define' body while formatting.
pp_ignore_define_body = true # true/false
@@ -2940,12 +3280,37 @@
# Default: true
pp_indent_extern = false # true/false
-# Whether to indent braces directly inside #if, #else, and #endif.
-# Only applies to the indent of the preprocesser that the braces are directly
-# inside of.
+# How to indent braces directly inside #if, #else, and #endif.
+# Requires pp_if_indent_code=true and only applies to the indent of the
+# preprocesser that the braces are directly inside of.
+# 0: No extra indent
+# 1: Indent by one level
+# -1: Preserve original indentation
#
-# Default: true
-pp_indent_brace = false # true/false
+# Default: 1
+pp_indent_brace = 0 # number
+
+# Whether to print warning messages for unbalanced #if and #else blocks.
+# This will print a message in the following cases:
+# - if an #ifdef block ends on a different indent level than
+# where it started from. Example:
+#
+# #ifdef TEST
+# int i;
+# {
+# int j;
+# #endif
+#
+# - an #elif/#else block ends on a different indent level than
+# the corresponding #ifdef block. Example:
+#
+# #ifdef TEST
+# int i;
+# #else
+# }
+# int j;
+# #endif
+pp_warn_unbalanced_if = true # true/false
#
# Sort includes options
@@ -3038,6 +3403,15 @@
# 0: nothing protocol.
debug_line_number_to_protocol = 0 # number
+# Set the number of second(s) before terminating formatting the current file,
+# 0: no timeout.
+# only for linux
+debug_timeout = 0 # number
+
+# Set the number of characters to be printed if the text is too long,
+# 0: do not truncate.
+debug_truncate = 0 # unsigned number
+
# Meaning of the settings:
# Ignore - do not do any changes
# Add - makes sure there is 1 or more space/brace/newline/etc