util/codestyle.sh: Use uncrustify instead of astyle (it's infinitely better)

This commit is contained in:
Perttu Ahola 2014-10-06 13:36:28 +03:00
parent 3868e2ea7b
commit ba14d1a28f
5 changed files with 1601 additions and 26 deletions

View File

@ -9,8 +9,8 @@ If something is found to be missing from this document, such additions shall be
made.
util/codestyle.sh:
Always run util/codestyle.sh before committing. It handles most whitespace
issues.
A code formatting script based on Uncrustify. (http://uncrustify.sourceforge.net/)
Always run before committing. It handles most whitespace issues.
Identifiers:
- Class and struct names are CamelCase,

View File

@ -25,32 +25,18 @@ echo "cpp_files: $cpp_files"
echo "lua_files: $lua_files"
echo "cmake_files: $cmake_files"
# Fix all that astyle is capable of
# Note: Astyle's character limit doesn't count tabs as multiple spaces.
basestyle="-n -z2 -W3 -k3 -p -Y -K -t4 -m1 -xC80"
astyle $basestyle -N $header_files
astyle $basestyle $cpp_files
# Fix all that uncrustify is capable of
uncrustify_base="$script_dir/../util/uncrustify.cfg"
uncrustify_add_header="$script_dir/../util/uncrustify.header.cfg"
uncrustify_add_cpp="$script_dir/../util/uncrustify.cpp.cfg"
# Remove spaces before semicolons
sed -i -e 's/ *;/;/g' $header_files $cpp_files
uncrustify_header="/tmp/buildat.uncrustify.header.cfg"
uncrustify_cpp="/tmp/buildat.uncrustify.cpp.cfg"
cat "$uncrustify_base" "$uncrustify_add_header" > "$uncrustify_header"
cat "$uncrustify_base" "$uncrustify_add_cpp" > "$uncrustify_cpp"
# Fiddle around with spacing
sed -i -e 's/\(for\|while\|if\) (/\1(/g' $header_files $cpp_files
sed -i -e 's/) {/){/g' $header_files $cpp_files
sed -i -e 's/}[\t ]*else[\t ]*{/} else {/g' $header_files $cpp_files
sed -i -e 's/ << /<</g' $header_files $cpp_files
sed -i -e 's/ >> />>/g' $header_files $cpp_files
sed -i -e 's/^\(\s*\(EXPORT\|virtual\|\)\s*[a-zA-Z0-9_:,]*\) \*\([a-zA-Z0-9_:,]*(\)/\1* \3/g' $header_files $cpp_files
sed -i -e 's/^\(\s*\(EXPORT\|virtual\|\)\s*[a-zA-Z0-9_:,]*\) &\([a-zA-Z0-9_:,]*(\)/\1\& \3/g' $header_files $cpp_files
sed -i -e 's/ \*)/*)/g' $header_files $cpp_files
sed -i -e 's/ \*>/*>/g' $header_files $cpp_files
sed -i -e 's/ &)/\&)/g' $header_files $cpp_files
sed -i -e 's/ &>/\&>/g' $header_files $cpp_files
sed -i -e 's/\*\s\+>/\*>/g' $header_files $cpp_files
sed -i -e 's/ + "/+"/g' $header_files $cpp_files
sed -i -e 's/" + /"+/g' $header_files $cpp_files
sed -i -e 's/" *+$/"+/g' $header_files $cpp_files
sed -i -e 's/^\(\t\+\) \+/\1\t\t/g' $header_files $cpp_files
uncrustify -c "$uncrustify_header" --no-backup $header_files
uncrustify -c "$uncrustify_cpp" --no-backup $cpp_files
# Fix or add Vim modeline magic
sed -i '/^\/\/ vim: set /d' $header_files $cpp_files

1578
util/uncrustify.cfg Normal file

File diff suppressed because it is too large Load Diff

4
util/uncrustify.cpp.cfg Normal file
View File

@ -0,0 +1,4 @@
# Uncrustify 0.60
indent_namespace = true
indent_namespace_level = 0
indent_namespace_limit = 0

View File

@ -0,0 +1,7 @@
# Uncrustify 0.60
indent_namespace = true
indent_namespace_level = 4
indent_namespace_limit = 0
#indent_namespace = ignore
#indent_namespace_level = 4
#indent_namespace_limit = 0