mirror of
https://github.com/brl/mutter.git
synced 2024-12-22 11:02:05 +00:00
tools: Add uncrustify config file
This config file seems like a good first stab at honoring the Mutter code style. More changes might be required once this meets real world testing. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1924>
This commit is contained in:
parent
b17f27416d
commit
5e88c19748
155
tools/uncrustify.cfg
Normal file
155
tools/uncrustify.cfg
Normal file
@ -0,0 +1,155 @@
|
||||
# Run `uncrustify --show-config` to see documentation for these options.
|
||||
#
|
||||
# See also: https://gitlab.gnome.org/GNOME/mutter/-/blob/master/HACKING.md
|
||||
|
||||
#################################################################################
|
||||
# CHANGES
|
||||
#
|
||||
# The first part of this file controls what automated changes Uncrustify makes.
|
||||
#################################################################################
|
||||
|
||||
# Files are in UTF-8
|
||||
utf8_force = true
|
||||
|
||||
# Unix style newlines
|
||||
newlines = lf
|
||||
|
||||
# We use spaces for alignment
|
||||
indent_with_tabs = 0
|
||||
|
||||
# We use 2 spaces for indenting
|
||||
indent_columns = 2
|
||||
|
||||
# We indent braces 2 spaces deep
|
||||
indent_brace = 2
|
||||
indent_case_brace = 2
|
||||
|
||||
# We align parameters in function definitions, like this:
|
||||
#
|
||||
# int64_t meta_string_to_date (const char *date_string,
|
||||
# int *offset_p,
|
||||
# GError **error)
|
||||
#
|
||||
align_func_params = true
|
||||
|
||||
# A '*' in a variable definition is considered 'dangling', rather than
|
||||
# being part of the variable type. This produces the following style of
|
||||
# alignment:
|
||||
#
|
||||
# meta_string_to_date (const gchar *date_string,
|
||||
# gint *offset_p,
|
||||
# GError **error)
|
||||
#
|
||||
align_var_def_star_style = 2 # dangling
|
||||
|
||||
# Keep extra spaces which uncrustify thinks are not needed for alignment.
|
||||
#
|
||||
# This causes uncrustify to preserve a lot more of the existing alignment
|
||||
# in Mutter's source code, for example we can keep this:
|
||||
#
|
||||
# meta_string_to_date (const char *date_string,
|
||||
# int *offset_p,
|
||||
# GError **error)
|
||||
#
|
||||
# Instead of it being changed to this:
|
||||
#
|
||||
# meta_string_to_date (const char *date_string,
|
||||
# int *offset_p,
|
||||
# GError **error)
|
||||
#
|
||||
# Because this setting is enabled, the uncrustify process is not
|
||||
# idempodent with regards to variable alignment because we still have some
|
||||
# extra alignment in the sourcecode which uncrustify did not insert, and
|
||||
# rerunning uncrustify with different settings might remove those extra spaces.
|
||||
align_keep_extra_space = true
|
||||
|
||||
# Ensure arithmetic operators are properly spaced, e.g:
|
||||
# foo = 1 + (2 / 4);
|
||||
sp_arith = force
|
||||
sp_arith_additive = force
|
||||
|
||||
# Ensure spaces between assignments, e.g.:
|
||||
# foo = 2;
|
||||
# foo += 2;
|
||||
sp_assign = force
|
||||
|
||||
# Enforce spacing around = operator (and -=, etc).
|
||||
sp_after_assign = force
|
||||
sp_before_assign = force
|
||||
|
||||
# Remove spaces between '*', e.g.:
|
||||
# char **foo;
|
||||
sp_between_ptr_star = remove
|
||||
|
||||
# Remove space after pointer stars.
|
||||
sp_after_ptr_star = remove
|
||||
|
||||
# But add space before pointer return types and function
|
||||
sp_after_ptr_star_func = force
|
||||
|
||||
# Ensure there is space between '*' and '(', e.g.:
|
||||
# typedef GNode* (* ForeachFunc) (...);
|
||||
sp_ptr_star_paren = force
|
||||
|
||||
# & for indirections must be together with the variable
|
||||
sp_after_byref = remove
|
||||
|
||||
# Remove spacing around ++ / -- operators.
|
||||
sp_incdec = remove
|
||||
|
||||
# Enforce newlines between arguments at function declarations/definitions,
|
||||
# enclosing ')' belongs in the last line
|
||||
nl_func_decl_args = force
|
||||
nl_func_def_args = force
|
||||
nl_func_decl_end = remove
|
||||
|
||||
# Enforce the right spacing inside/around/after ( ) in typedefs and
|
||||
# function calls
|
||||
sp_inside_tparen = remove
|
||||
sp_func_call_paren = force
|
||||
sp_after_tparen_close = force
|
||||
|
||||
# Also enforce the correct multiline-ness of function
|
||||
# definitions/declarations/calls
|
||||
nl_func_decl_args = force
|
||||
nl_func_def_args = force
|
||||
nl_func_decl_end = remove
|
||||
nl_func_call_end = remove
|
||||
nl_func_call_empty = remove
|
||||
|
||||
# Add stars at the beginning of each line in multiline comments
|
||||
cmt_star_cont = true
|
||||
|
||||
#################################################################################
|
||||
# IGNORES
|
||||
#
|
||||
# The second part of this file controls what Uncrustify ignores.
|
||||
#################################################################################
|
||||
|
||||
# Disable auto-alignment of macros, we often manually align the \ with
|
||||
# spaces which uncrustify doesn't support.
|
||||
align_nl_cont = false
|
||||
|
||||
# Ignore spacing in multiline comments.
|
||||
cmt_indent_multi = false
|
||||
|
||||
# Ignore space after casts like `(int)foo`
|
||||
sp_after_cast = ignore
|
||||
|
||||
# Ignore spaces after ; in for (; ; ;) statements.
|
||||
sp_after_semi_for = ignore
|
||||
sp_after_semi_for_empty = ignore
|
||||
|
||||
# Ignore Space after ! (not) operator, for example:
|
||||
#
|
||||
# if (!home) {
|
||||
#
|
||||
sp_not = ignore
|
||||
|
||||
# Ignore space around preprocessor '##' operator. We might want a space before
|
||||
# and no space after, for example in this:
|
||||
#
|
||||
# #define trace(message, ...) \
|
||||
# g_debug (message, ##__VA_ARGS__)
|
||||
#
|
||||
sp_pp_concat = ignore
|
Loading…
Reference in New Issue
Block a user