ci: Add uncrustify config and checker

Based on what we added to phoc recently
This commit is contained in:
Guido Günther
2023-11-14 17:26:07 +01:00
parent 6c9cadc009
commit ba4576d490
2 changed files with 278 additions and 0 deletions
+109
View File
@@ -0,0 +1,109 @@
# Indent by two spaces
indent_columns = 2
# No tabs
indent_with_tabs = 0
# Line length
code_width = 100
#
# Keywords and operators
#
# Add between 'do' and '{'.
sp_do_brace_open = add
# Add space between '}' and 'while'.
sp_brace_close_while = add
# Add 'while' and '('.
sp_while_paren_open = add
# Add or remove space around boolean operators '&&' and '||'.
sp_bool = add
# Ternary operator
sp_cond_ternary_short = remove
# Remove newline between 'struct and '{'.
nl_struct_brace = remove
# Remove newline between 'if' and '{'.
nl_if_brace = remove
# Remove newline between '}' and 'else'.
nl_brace_else = remove
# Remove newline between 'else' and '{'.
nl_else_brace = remove
# Remove newline between 'else' and 'if'.
nl_else_if = remove
# Add or remove newline between 'for' and '{'.
nl_for_brace = remove
# Treat iterators as for loops:
set FOR wl_list_for_each wl_list_for_each_reverse wl_list_for_each_safe
#
# Function declarations, defintions and calls
#
# Add space between function name and '(' on function declaration.
sp_func_proto_paren = add
# Add or remove space between function name and '()' on function declaration
# without parameters.
sp_func_proto_paren_empty = add
# Add space between function name and '(' on function definition.
sp_func_def_paren = add
# Add or remove space between function name and '(' on function calls.
sp_func_call_paren = add
# Whether to force indentation of function definitions to start in column 1.
indent_func_def_force_col1 = true
# Add newline between return type and function name in a function definition.
nl_func_type_name = add
# Add newline between function signature and '{'.
nl_fdef_brace = add
# Whether to align variable definitions in prototypes and functions.
align_func_params = true
# The span for aligning function prototypes.
align_func_proto_span = 8
# Add space between 'decltype(...)' and word.
sp_after_decltype = add
# Add or remove space after a pointer star '*', if followed by a function
# prototype or function definition.
sp_after_ptr_star_func = remove
# Add or remove newline between a function call's ')' and '{', as in
# 'list_for_each(item, &list) { }'.
nl_fcall_brace = add
#
# Typedefs
#
# Add space between '}' and the name of a typedef on the same line.
sp_brace_typedef = add
#
# Comments
#
# Add space after the opening of a C++ comment, i.e. '// A' vs. '//A'.
sp_cmt_cpp_start = add
#
# Preprocessor
#
# Add or remove space between #else or #endif and a trailing comment.
sp_endif_cmt = add
# Newlines at the start and end of the file.
nl_start_of_file = remove
nl_end_of_file = add
nl_end_of_file_min = 1
#
# Variable definitions
#
# How to align the '*' in variable definitions.
#
# 0: Part of the type 'void * foo;' (default)
# 1: Part of the variable 'void *foo;'
# 2: Dangling 'void *foo;'
# Dangling: the '*' will not be taken into account when aligning.
align_var_def_star_style = 2
# Same for typedefs
align_typedef_star_style = 2
# The gap for aligning struct/union member definitions.
align_var_struct_gap = 1
# The span for aligning struct/union member definitions.
align_var_struct_span = 8
# Remove space between pointer stars '*'.
sp_between_ptr_star = remove
# Add space before '(' of control statements ('if', 'for', 'switch', 'while', etc.)
sp_before_sparen = add