diff --git a/.clang-format b/.clang-format new file mode 100644 index 0000000..a72e2df --- /dev/null +++ b/.clang-format @@ -0,0 +1,5 @@ +BasedOnStyle: LLVM +IndentWidth: 4 +BinPackArguments: false +BinPackParameters: false +IndentCaseLabels: true diff --git a/.gitattributes b/.gitattributes index 2e0c0d5..8799f2b 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,6 +1,5 @@ /dev-bin/ export-ignore /examples/ export-ignore -/ext/.uncrustify.cfg export-ignore /tests/ export-ignore /.* export-ignore /phpunit.xml.dist export-ignore diff --git a/dev-bin/clang-format-all.sh b/dev-bin/clang-format-all.sh new file mode 100755 index 0000000..15af881 --- /dev/null +++ b/dev-bin/clang-format-all.sh @@ -0,0 +1,15 @@ +#!/bin/sh + +format="clang-format -i -style=file" + +for dir in ext; do + c_files=`find $dir -maxdepth 1 -name '*.c'` + if [ "$c_files" != "" ]; then + $format $dir/*.c; + fi + + h_files=`find $dir -maxdepth 1 -name '*.h'` + if [ "$h_files" != "" ]; then + $format $dir/*.h; + fi +done diff --git a/ext/.uncrustify.cfg b/ext/.uncrustify.cfg deleted file mode 100644 index 615ceeb..0000000 --- a/ext/.uncrustify.cfg +++ /dev/null @@ -1,83 +0,0 @@ -# -# uncrustify config file for the linux kernel -# -# - modified to use spaces instead of tabs -# - added "sp_before_ptr_star = force" - -indent_with_tabs = 0 -indent_columns = 4 -indent_label = 2 # pos: absolute col, neg: relative column -indent_case_brace = 4 -code_width = 80 - - -# -# 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 # "} else" vs "} \n else" - cuddle else -nl_func_var_def_blk = 0 # don't add newlines after a block of var declarations -nl_fcall_brace = remove # "list_for_each() {" vs "list_for_each()\n{" -nl_fdef_brace = force # "int foo() {" vs "int foo()\n{" -nl_multi_line_define = true - - -# -# Source code modifications -# - -mod_paren_on_return = remove # "return 1;" vs "return (1);" -mod_full_brace_if = force # "if (a) a--;" vs "if (a) { a--; }" -mod_full_brace_for = force # "for () a--;" vs "for () { a--; }" -mod_full_brace_do = force # "do a--; while ();" vs "do { a--; } while ();" -mod_full_brace_while = force # "while (a) a--;" vs "while (a) { a--; }" -mod_full_brace_nl = 3 # don't remove if more than 3 newlines - - -# -# inter-character spacing options -# - -# sp_return_paren = force # "return (1);" vs "return(1);" -sp_sizeof_paren = remove # "sizeof (int)" vs "sizeof(int)" -sp_before_sparen = force # "if (" vs "if(" -sp_after_sparen = force # "if () {" vs "if (){" -sp_after_cast = remove # "(int) a" vs "(int)a" -sp_inside_braces = force # "{ 1 }" vs "{1}" -sp_inside_braces_struct = force # "{ 1 }" vs "{1}" -sp_inside_braces_enum = force # "{ 1 }" vs "{1}" -sp_assign = force -sp_arith = force -sp_bool = force -sp_compare = force -sp_assign = force -sp_after_comma = force -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_before_ptr_star = force # "char *foo" vs "char* foo -sp_between_ptr_star = remove # "char * *foo" vs "char **foo" - -# -# Aligning stuff -# - -align_with_tabs = FALSE # use tabs to align -align_on_tabstop = FALSE # align on tabstops -align_var_def_star_style = 1 # void *foo; -align_var_struct_span = 0 -align_enum_equ_span = 4 # '=' in enum definition -align_struct_init_span = 3 # align stuff in a structure init '= { }' -align_right_cmt_span = 3 -align_nl_cont = true -align_struct_init_span = 1