# Configuration options for Uncrustify specifying the Mbed TLS code style. # # Note: The code style represented by this file has not yet been introduced # to Mbed TLS. # # Copyright The Mbed TLS Contributors # SPDX-License-Identifier: Apache-2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # Line length options # Wrap lines at 100 characters code_width = 100 # Allow splitting long for statements between the condition statements ls_for_split_full = true # Allow splitting function calls between arguments ls_func_split_full = true input_tab_size = 4 # Spaces-only indentation indent_with_tabs = 0 indent_columns = 4 # Indent 'case' 1 level from 'switch' indent_switch_case = indent_columns # Line-up strings broken by '\' indent_align_string = true # Braces on the same line (Egyptian-style braces) nl_enum_brace = remove nl_union_brace = remove nl_struct_brace = remove nl_do_brace = remove nl_if_brace = remove nl_for_brace = remove nl_else_brace = remove # Note: this option may cause problems for macro-guarded if-else partials nl_while_brace = remove nl_switch_brace = remove # Braces on same line as keywords that follow them - 'else' and the 'while' in 'do {} while ()'; nl_brace_else = remove nl_brace_while = remove # Space before else on the same line sp_brace_else = add # If else is on the same line as '{', force exactly 1 space between them sp_else_brace = force # Functions are the exception and have braces on the next line nl_fcall_brace = add nl_fdef_brace = add # Force exactly one space between ')' and '{' in statements sp_sparen_brace = force # At least 1 space around assignment sp_assign = add # Remove spaces around the preprocessor '##' token-concatenate sp_pp_concat = ignore # At least 1 space around '||' and '&&' sp_bool = add # But no space after the '!' operator sp_not = remove # No space after the bitwise-not '~' operator sp_inv = remove # No space after the addressof '&' operator sp_addr = remove # No space around the member '.' and '->' operators sp_member = remove # No space after the dereference '*' operator sp_deref = remove # No space after a unary negation '-' sp_sign = remove # No space between the '++'/'--' operator and its operand sp_incdec = remove # At least 1 space around comparison operators sp_compare = add # Remove spaces inside all kinds of parentheses: # Remove spaces inside parentheses sp_inside_paren = remove # No spaces inside statement parentheses sp_inside_sparen = remove # No spaces inside cast parentheses '( char )x' -> '(char)x' sp_inside_paren_cast = remove # No spaces inside function parentheses sp_inside_fparen = remove # (The case where the function has no parameters/arguments) sp_inside_fparens = remove # No spaces inside the first parentheses in a function type sp_inside_tparen = remove # (Uncrustify >= 0.74.0) No spaces inside parens in for statements sp_inside_for = remove # Remove spaces between nested parentheses '( (' -> '((' sp_paren_paren = remove # (Uncrustify >= 0.74.0) sp_sparen_paren = remove # Remove spaces between ')' and adjacent '(' sp_cparen_oparen = remove # (Uncrustify >= 0.73.0) space between 'do' and '{' sp_do_brace_open = force # (Uncrustify >= 0.73.0) space between '}' and 'while' sp_brace_close_while = force # At least 1 space before a '*' pointer star sp_before_ptr_star = add # Remove spaces between pointer stars sp_between_ptr_star = remove # No space after a pointer star sp_after_ptr_star = remove # But allow a space in the case of e.g. char * const x; sp_after_ptr_star_qualifier = ignore # Remove space after star in a function return type sp_after_ptr_star_func = remove # At least 1 space after a type in variable definition etc sp_after_type = add # Force exactly 1 space between a statement keyword (e.g. 'if') and an opening parenthesis sp_before_sparen = force # Remove a space before a ';' sp_before_semi = remove # (Uncrustify >= 0.73.0) Remove space before a semi in a non-empty for sp_before_semi_for = remove # (Uncrustify >= 0.73.0) Remove space in empty first statement of a for sp_before_semi_for_empty = remove # (Uncrustify >= 0.74.0) Remove space in empty middle statement of a for sp_between_semi_for_empty = remove # Add a space after a ';' (unless a comment follows) sp_after_semi = add # (Uncrustify >= 0.73.0) Add a space after a semi in non-empty for statements sp_after_semi_for = add # (Uncrustify >= 0.73.0) No space after final semi in empty for statements sp_after_semi_for_empty = remove # Remove spaces on the inside of square brackets '[]' sp_inside_square = remove # Must have at least 1 space after a comma sp_after_comma = add # Must not have a space before a comma sp_before_comma = remove # No space before the ':' in a case statement sp_before_case_colon = remove # No space after a cast - '(char) x' -> '(char)x' sp_after_cast = remove # No space between 'sizeof' and '(' sp_sizeof_paren = remove # At least 1 space inside '{ }' sp_inside_braces = add # At least 1 space inside '{ }' in an enum sp_inside_braces_enum = add # At least 1 space inside '{ }' in a struct sp_inside_braces_struct = add # Except for empty braces which should not have a space # At least 1 space between a function return type and the function name sp_type_func = add # No space between a function name and its arguments/parameters sp_func_proto_paren = remove sp_func_def_paren = remove sp_func_call_paren = remove # No space between '__attribute__' and '(' sp_attribute_paren = remove # No space between 'defined' and '(' in preprocessor conditions sp_defined_paren = remove # At least 1 space between a macro's name and its definition sp_macro = add sp_macro_func = add # Force exactly 1 space between a '}' and the name of a typedef if on the same line sp_brace_typedef = force # At least 1 space before a '\' line continuation sp_before_nl_cont = add # At least 1 space around '?' and ':' in ternary statements sp_cond_colon = add sp_cond_question = add # Space between #else/#endif and comment afterwards sp_endif_cmt = add # Remove newlines at the start of a file nl_start_of_file = remove # At least 1 newline at the end of a file nl_end_of_file = add nl_end_of_file_min = 1 # Add braces in single-line statements mod_full_brace_do = add mod_full_brace_for = add mod_full_brace_if = add mod_full_brace_while = add # Remove parentheses from return statements mod_paren_on_return = remove # Disable removal of leading spaces in a multi-line comment if the first and # last lines are the same length cmt_multi_check_last = false