scripts: add configuration file for uncrustify
Use this configuration file with the uncrustify tool to fix style
issues. the configuration should apply the zephyr coding style on
source code files with a few minor excrption. Do not take the output for
granted, always check for correctness after running.
To use, for example:
uncrustify --replace --no-backup -l C -c $ZEPHYR_BASE/scripts/uncrustify.conf
This will do the changes inline.
Change-Id: Iecfd2e10bc7e475ca83de0d921ebb5d72156d286
Signed-off-by: Anas Nashif <anas.nashif@intel.com>
diff --git a/scripts/uncrustify.cfg b/scripts/uncrustify.cfg
new file mode 100644
index 0000000..11c8f27
--- /dev/null
+++ b/scripts/uncrustify.cfg
@@ -0,0 +1,78 @@
+indent_with_tabs = 2 # 1=indent to level only, 2=indent with tabs
+input_tab_size = 8 # original tab size
+output_tab_size = 8 # new tab size
+indent_columns = output_tab_size
+indent_label = 1 # pos: absolute col, neg: relative column
+indent_switch_case = 0 # number
+
+#
+# inter-symbol newlines
+#
+
+nl_enum_brace = remove # "enum {" vs "enum \n {"
+nl_union_brace = remove # "union {" vs "union \n {"
+nl_struct_brace = remove # "struct {" vs "struct \n {"
+nl_do_brace = remove # "do {" vs "do \n {"
+nl_if_brace = remove # "if () {" vs "if () \n {"
+nl_for_brace = remove # "for () {" vs "for () \n {"
+nl_else_brace = remove # "else {" vs "else \n {"
+nl_while_brace = remove # "while () {" vs "while () \n {"
+nl_switch_brace = remove # "switch () {" vs "switch () \n {"
+nl_brace_while = remove # "} while" vs "} \n while" - cuddle while
+nl_brace_else = remove # "} \n else" vs "} else"
+nl_func_var_def_blk = 1
+nl_fcall_brace = remove # "list_for_each() {" vs "list_for_each()\n{"
+nl_fdef_brace = add # "int foo() {" vs "int foo()\n{"
+
+#
+# Source code modifications
+#
+
+mod_paren_on_return = ignore # "return 1;" vs "return (1);"
+mod_full_brace_if = add # "if() { } else { }" vs "if() else"
+
+#
+# inter-character spacing options
+#
+
+sp_sizeof_paren = remove # "sizeof (int)" vs "sizeof(int)"
+sp_before_sparen = force # "if (" vs "if("
+sp_after_sparen = force # "if () {" vs "if (){"
+sp_inside_braces = add # "{ 1 }" vs "{1}"
+sp_inside_braces_struct = add # "{ 1 }" vs "{1}"
+sp_inside_braces_enum = add # "{ 1 }" vs "{1}"
+sp_assign = add
+sp_arith = add
+sp_bool = add
+sp_compare = add
+sp_assign = add
+sp_after_comma = add
+sp_func_def_paren = remove # "int foo (){" vs "int foo(){"
+sp_func_call_paren = remove # "foo (" vs "foo("
+sp_func_proto_paren = remove # "int foo ();" vs "int foo();"
+sp_else_brace = add # ignore/add/remove/force
+sp_before_ptr_star = add # ignore/add/remove/force
+sp_after_ptr_star = remove # ignore/add/remove/force
+sp_between_ptr_star = remove # ignore/add/remove/force
+sp_inside_paren = remove # remove spaces inside parens
+sp_paren_paren = remove # remove spaces between nested parens
+sp_inside_sparen = remove # remove spaces inside parens for if, while and the like
+sp_brace_else = add # ignore/add/remove/force
+sp_before_nl_cont = ignore
+sp_cmt_cpp_start = add
+cmt_sp_after_star_cont = 1
+
+#
+# Aligning stuff
+#
+
+align_with_tabs = FALSE # use tabs to align
+align_on_tabstop = TRUE # align on tabstops
+align_enum_equ_span = 4 # '=' in enum definition
+align_struct_init_span = 0 # align stuff in a structure init '= { }'
+align_right_cmt_span = 3
+align_nl_cont = TRUE
+
+
+
+sp_pp_concat = ignore # ignore/add/remove/force