mirror of
https://github.com/acidanthera/audk.git
synced 2025-06-03 13:20:10 +02:00
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3748 Adds a new CI plugin for Uncrustify. This is used to check coding standard compliance of source code to the EDK II C Coding Standards Specification. An external dependency is added in the plugin directory to retrieve the Uncrustify executable. Currently, the executable is from an edk2 fork of the application host in this repository: https://dev.azure.com/projectmu/Uncrustify/ Note that the Uncrustify application outputs the commit ID that the application was built from when given the --version parameter. This ID can be mapped to the version specified in the Uncrustify CI plugin external dependency file (uncrustify_ext_dep.yaml) such as 73.0.3 by visiting the Uncrustify edk2 fork release pipeline page which associates the NuGet package version with the commit ID it was built from: https://dev.azure.com/projectmu/Uncrustify/_build The default Uncrustify configuration files are added in the plugin directory. Additional details are in the Readme.md file added in the Uncrustify plugin directory. Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Sean Brogan <sean.brogan@microsoft.com> Cc: Bret Barkelew <Bret.Barkelew@microsoft.com> Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com> Reviewed-by: Bret Barkelew <bret.barkelew@microsoft.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com> Tested-by: Michael D Kinney <michael.d.kinney@intel.com>
463 lines
29 KiB
INI
463 lines
29 KiB
INI
## @file
|
|
# Uncrustify Configuration File for EDK II C Code
|
|
#
|
|
# Coding Standard: https://edk2-docs.gitbook.io/edk-ii-c-coding-standards-specification/
|
|
#
|
|
# This configuration file is meant to be a "best attempt" to align with the
|
|
# definitions in the EDK II C Coding Standards Specification.
|
|
#
|
|
# Copyright (c) Microsoft Corporation.
|
|
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
##
|
|
|
|
# Force UTF-8 encoding (no UTF-16)
|
|
enable_digraphs = false
|
|
utf8_byte = false
|
|
utf8_force = true
|
|
|
|
# Code width / line splitting
|
|
#code_width =120 # TODO: This causes non-deterministic behaviour in some cases when code wraps
|
|
ls_code_width =false
|
|
ls_for_split_full =true
|
|
ls_func_split_full =true
|
|
pos_comma =trail
|
|
|
|
# 5.1.7 All files must end with CRLF
|
|
newlines = crlf
|
|
|
|
# 5.1.2 Do not use tab characters
|
|
|
|
cmt_convert_tab_to_spaces = true # Whether to convert all tabs to spaces in comments. If false, tabs in
|
|
# comments are left alone, unless used for indenting.
|
|
indent_columns = 2 # Number of spaces for indentation
|
|
indent_with_tabs = 0 # Do not use TAB characters
|
|
string_replace_tab_chars = true # Replace TAB with SPACE
|
|
# Note: This will break .robot files but is needed for edk2 style
|
|
|
|
# 5.2.1.1 There shall be only one statement on a line (statement ends with ;)
|
|
nl_multi_line_cond = true # Add a newline between ')' and '{' if the ')' is on a different line than
|
|
# the if/for/etc.
|
|
nl_after_semicolon = true # Whether to add a newline after semicolons, except in 'for' statements.
|
|
|
|
# 5.2.1.3 An open brace '{' goes on the same line as the closing parenthesis ')' of simple predicate expressions
|
|
mod_full_brace_do = add # Add or remove braces on a single-line 'do' statement.
|
|
mod_full_brace_for = add
|
|
mod_full_brace_function = add # Add or remove braces on a single-line function definition.
|
|
mod_full_brace_if = add # Add or remove braces on a single-line 'if' statement. Braces will not be
|
|
# removed if the braced statement contains an 'else'.
|
|
mod_full_brace_if_chain = false
|
|
mod_full_brace_while = add
|
|
|
|
# 5.2.1.4 A close brace '}' always goes at the beginning of the last line of the body
|
|
eat_blanks_after_open_brace = true
|
|
eat_blanks_before_close_brace = true # Whether to remove blank lines before '}'.
|
|
|
|
# 5.2.2.2 Always put space before and after binary operators.
|
|
sp_assign = add # Add or remove space around assignment operator '=', '+=', etc.
|
|
sp_assign_default = add
|
|
sp_bool = add # Add or remove space around boolean operators '&&' and '||'.
|
|
sp_compare = add # Add or remove space around compare operator '<', '>', '==', etc.
|
|
|
|
# 5.2.2.3 Do not put space between unary operators and their object
|
|
sp_addr = remove # A or remove space after the '&' (address-of) unary operator.
|
|
sp_incdec = remove # Add or remove space between '++' and '--' the word to which it is being
|
|
# applied, as in '(--x)' or 'y++;'.
|
|
sp_inv = remove # Add or remove space after the '~' (invert) unary operator.
|
|
sp_not = remove # Add or remove space after the '!' (not) unary operator.
|
|
sp_sign = remove # Add or remove space after '+' or '-', as in 'x = -5' or 'y = +7'.
|
|
|
|
# 5.2.2.4 Subsequent lines of multi-line function calls should line up two spaces from the beginning of the function
|
|
# name
|
|
nl_func_call_args_multi_line = true # Whether to add a newline after each ',' in a function call if '(' and ')'
|
|
# are in different lines.
|
|
nl_func_call_args_multi_line_ignore_closures = false
|
|
|
|
# - Indent each argument 2 spaces from the start of the function name. If a
|
|
# function is called through a structure or union member, of type
|
|
# pointer-to-function, then indent each argument 2 spaces from the start of the
|
|
# member name.
|
|
indent_func_call_edk2_style = true # Use EDK2 indentation style for function calls (**CUSTOM SETTING**)
|
|
indent_paren_after_func_call = true # Whether to indent the open parenthesis of a function call, if the
|
|
# parenthesis is on its own line.
|
|
|
|
# - Align the close parenthesis with the start of the last argument
|
|
indent_paren_close = 0 # How to indent a close parenthesis after a newline.
|
|
# (0: Body, 1: Openparenthesis, 2: Brace level)
|
|
|
|
|
|
# 5.2.2.5 Always put space after commas or semicolons that separate items
|
|
sp_after_comma = force # Add or remove space after ',', i.e. 'a,b' vs. 'a, b'.
|
|
sp_before_comma = remove # Add or remove space before ','.
|
|
|
|
# 5.2.2.6 Always put space before an open parenthesis
|
|
sp_after_sparen = add # Add or remove space after ')' of control statements.
|
|
sp_attribute_paren = add # Add or remove space between '__attribute__' and '('.
|
|
sp_before_sparen = force # Add or remove space before '(' of control statements
|
|
# ('if', 'for', 'switch', 'while', etc.).
|
|
sp_defined_paren = force # Add or remove space between 'defined' and '(' in '#if defined (FOO)'.
|
|
sp_func_call_paren = force # Add or remove space between function name and '(' on function calls.
|
|
sp_func_call_paren_empty = force # Add or remove space between function name and '()' on function calls
|
|
# without parameters. If set to ignore (the default), sp_func_call_paren is
|
|
# used.
|
|
sp_func_def_paren = add # Add or remove space between alias name and '(' of a non-pointer function
|
|
# type typedef.
|
|
sp_func_proto_paren = add # Add or remove space between function name and '()' on function declaration
|
|
sp_sizeof_paren = force # Add or remove space between 'sizeof' and '('.
|
|
sp_type_func = add # Add or remove space between return type and function name. A minimum of 1
|
|
# is forced except for pointer return types.
|
|
|
|
# Not specified, but also good style to remove spaces inside parentheses (Optional)
|
|
sp_cparen_oparen = remove # Add or remove space between back-to-back parentheses, i.e. ')(' vs. ') ('.
|
|
sp_inside_fparen = remove # Add or remove space inside function '(' and ')'.
|
|
sp_inside_fparens = remove # Add or remove space inside empty function '()'.
|
|
sp_inside_paren = remove # Add or remove space inside '(' and ')'.
|
|
sp_inside_paren_cast = remove # Add or remove spaces inside cast parentheses. '(int)x'
|
|
sp_inside_square = remove # Add or remove space inside a non-empty '[' and ']'.
|
|
sp_paren_paren = remove # Add or remove space between nested parentheses, i.e. '((' vs. ') )'.
|
|
sp_square_fparen = remove # Add or remove space between ']' and '(' when part of a function call.
|
|
|
|
# 5.2.2.7 Put a space before an open brace if it is not on its own line
|
|
sp_do_brace_open = force # Add or remove space between 'do' and '{'.
|
|
sp_paren_brace = force # Add or remove space between ')' and '{'.
|
|
sp_sparen_brace = force # Add or remove space between ')' and '{' of of control statements.
|
|
|
|
# 5.2.2.8 Do not put spaces around structure member and pointer operators
|
|
sp_after_byref = remove # Add or remove space after reference sign '&', if followed by a word.
|
|
sp_before_byref = add # Add or remove space before a reference sign '&'.
|
|
sp_deref = remove # Add or remove space after the '*' (dereference) unary operator. This does
|
|
# not affect the spacing after a '*' that is part of a type.
|
|
sp_member = remove # Add or remove space around the '.' or '->' operators.
|
|
|
|
# 5.2.2.9 Do not put spaces before open brackets of array subscripts
|
|
sp_before_square = remove # Add or remove space before '[' (except '[]').
|
|
sp_before_squares = remove # Add or remove space before '[]'.
|
|
sp_before_vardef_square = remove # Add or remove space before '[' for a variable definition.
|
|
|
|
# 5.2.2.10 Use extra parentheses rather than depending on in-depth knowledge of the order of precedence of C
|
|
mod_full_paren_if_bool = true # Whether to fully parenthesize Boolean expressions in 'while' and 'if'
|
|
# statement, as in 'if (a && b > c)' => 'if (a && (b > c))'.
|
|
|
|
# 5.2.2.11 Align a continuation line with the part of the line that it continues.
|
|
use_indent_continue_only_once = true
|
|
|
|
# Additional '{}' bracing rules (Optional)
|
|
# NOTE - The style guide specifies two different styles for braces,
|
|
# so these are ignored for now to allow developers some flexibility.
|
|
nl_after_brace_close = true # Whether to add a newline after '}'. Does not apply if followed by a
|
|
# necessary ';'.
|
|
nl_brace_else = remove # Add or remove newline between '}' and 'else'.
|
|
nl_brace_while = remove # Add or remove newline between '}' and 'while' of 'do' statement.
|
|
nl_do_brace = remove # Add or remove newline between 'do' and '{'.
|
|
nl_else_brace = remove # Add or remove newline between 'else' and '{'.
|
|
nl_else_if = remove # Add or remove newline between 'else' and 'if'.
|
|
nl_elseif_brace = remove # Add or remove newline between 'else if' and '{'.
|
|
nl_enum_brace = remove # Add or remove newline between 'enum' and '{'.
|
|
nl_fcall_brace = remove # Add or remove newline between a function call's ')' and '{',
|
|
# as in 'list_for_each(item, &list) { }'.
|
|
nl_for_brace = remove # Add or remove newline between 'for' and '{'.
|
|
nl_if_brace = remove # Add or remove newline between 'if' and '{'.
|
|
nl_struct_brace = remove # Add or remove newline between 'struct and '{'.
|
|
nl_switch_brace = remove # Add or remove newline between 'switch' and '{'.
|
|
nl_union_brace = remove # Add or remove newline between 'union' and '{'.
|
|
nl_while_brace = remove # Add or remove newline between 'while' and '{'.
|
|
|
|
# Additional whitespace rules (Optional)
|
|
sp_after_ptr_star = remove # Add or remove space after pointer star '*', if followed by a word.
|
|
# Useful when paired with align_var_def_star_style==2
|
|
sp_after_ptr_star_func = remove # Add or remove space after a pointer star '*', if followed by a function
|
|
# prototype or function definition.
|
|
sp_after_semi = remove # Add or remove space after ';', except when followed by a comment.
|
|
sp_before_case_colon = remove # Add or remove space before case ':'.
|
|
sp_before_ptr_star = add # Add or remove space before pointer star '*'.
|
|
sp_before_ptr_star_func = add # Add or remove space before a pointer star '*', if followed by a function
|
|
# prototype or function definition.
|
|
sp_before_semi = remove # Add or remove space before ';'
|
|
sp_before_semi_for = remove # Add or remove space before ';' in non-empty 'for' statements.
|
|
sp_before_semi_for_empty = add # Add or remove space before a semicolon of an empty part of a for statement
|
|
sp_between_ptr_star = remove # Add or remove space between pointer stars '*'. (ie, 'VOID **')
|
|
sp_brace_close_while = force # Add or remove space between '}' and 'while'.
|
|
|
|
sp_after_cast = remove
|
|
sp_after_type = add
|
|
sp_balance_nested_parens = false
|
|
sp_before_nl_cont = add
|
|
sp_before_square_asm_block = ignore
|
|
sp_before_unnamed_byref = add
|
|
sp_brace_brace = ignore
|
|
sp_brace_else = force
|
|
sp_brace_typedef = add
|
|
sp_case_label = force
|
|
sp_cmt_cpp_doxygen = true
|
|
sp_cond_colon = add
|
|
sp_cond_question = add
|
|
sp_cpp_cast_paren = force
|
|
sp_else_brace = force
|
|
sp_endif_cmt = force
|
|
sp_enum_assign = add
|
|
sp_inside_braces = force
|
|
sp_inside_braces_empty = force
|
|
sp_inside_braces_enum = force
|
|
sp_inside_braces_struct = force
|
|
sp_pp_concat = add
|
|
sp_pp_stringify = add
|
|
sp_return_paren = add
|
|
sp_special_semi = force
|
|
sp_while_paren_open = force
|
|
|
|
# Additional Indentation Rules
|
|
indent_access_spec = 1
|
|
indent_access_spec_body = false
|
|
indent_align_assign = true
|
|
indent_align_string = true
|
|
indent_bool_paren = true
|
|
indent_brace_parent = false
|
|
indent_braces = false
|
|
indent_braces_no_class = false
|
|
indent_braces_no_func = true
|
|
indent_braces_no_struct = false
|
|
indent_class = false
|
|
indent_class_colon = false
|
|
indent_cmt_with_tabs = false # Whether to indent comments that are not at a brace level with tabs on
|
|
# a tabstop. Requires indent_with_tabs=2. If false, will use spaces.
|
|
indent_col1_comment = true
|
|
indent_col1_multi_string_literal= true
|
|
indent_comma_paren = true
|
|
indent_else_if = true
|
|
indent_extern = false
|
|
indent_first_bool_expr = true
|
|
|
|
indent_func_def_param_paren_pos_threshold = 0
|
|
indent_func_param_double = false
|
|
indent_func_proto_param = true
|
|
indent_ignore_asm_block = true
|
|
indent_label = 1
|
|
indent_member = 2
|
|
indent_namespace = false
|
|
indent_param = 2
|
|
indent_paren_nl = false
|
|
indent_paren_open_brace = false
|
|
indent_preserve_sql = false
|
|
indent_relative_single_line_comments = false
|
|
indent_sing_line_comments = 0
|
|
indent_single_newlines = false
|
|
indent_square_nl = false
|
|
indent_switch_case = 2
|
|
indent_template_param = true
|
|
indent_var_def_blk = 0
|
|
indent_var_def_cont = false
|
|
|
|
# Tidy-up rules (Optional)
|
|
mod_move_case_break = true # Whether to move a 'break' that appears after a fully braced 'case'
|
|
# before the close brace, as in 'case X: { ... } break;' =>
|
|
# 'case X: { ... break; }'.
|
|
mod_pawn_semicolon = false
|
|
mod_remove_empty_return = false # Whether to remove a void 'return;' that appears as the last statement
|
|
# in a function.
|
|
mod_remove_extra_semicolon = true
|
|
mod_sort_import = false
|
|
mod_sort_include = false
|
|
mod_sort_using = false
|
|
nl_after_case = false # Whether to add a newline after a 'case' statement.
|
|
nl_end_of_file = force # Add or remove newline at the end of the file.
|
|
nl_end_of_file_min = 1 # The minimum number of newlines at the end of the file
|
|
nl_max = 2 # The maximum number of consecutive newlines (3 = 2 blank lines).
|
|
nl_start_of_file = remove # Add or remove newlines at the start of the file.
|
|
|
|
# Code alignment rules (Optional)
|
|
align_asm_colon = false
|
|
align_assign_span = 1 # The span for aligning on '=' in assignments.
|
|
align_assign_thresh = 0
|
|
align_edk2_style = true # Whether to apply edk2-specific alignment formatting
|
|
align_enum_equ_span = 1 # The span for aligning on '=' in enums.
|
|
align_func_params = true # Whether to align variable definitions in prototypes and functions.
|
|
align_func_params_gap = 2
|
|
align_func_params_span = 2 # The span for aligning parameter definitions in function on parameter name.
|
|
align_func_params_thresh = 0
|
|
align_func_proto_span = 0
|
|
align_keep_tabs = false
|
|
align_left_shift = false
|
|
align_mix_var_proto = false
|
|
align_nl_cont = false
|
|
align_oc_decl_colon = false
|
|
align_on_operator = false
|
|
align_on_tabstop = false
|
|
align_pp_define_gap = 2
|
|
align_pp_define_span = 1
|
|
align_right_cmt_at_col = 0 # Align trailing comment at or beyond column N; 'pulls in' comments as
|
|
# a bonus side effect (0=ignore)
|
|
align_right_cmt_gap = 0 # If a trailing comment is more than this number of columns away from the
|
|
# text it follows,
|
|
# it will qualify for being aligned. This has to be > 0 to do anything.
|
|
align_right_cmt_mix = false # If aligning comments, mix with comments after '}' and #endif with less
|
|
# than 3 spaces before the comment
|
|
align_right_cmt_same_level = true # Whether to only align trailing comments that are at the same brace level.
|
|
align_right_cmt_span = 2 # The span for aligning comments that end lines.
|
|
align_same_func_call_params = false
|
|
align_single_line_brace = true
|
|
align_single_line_func = true
|
|
align_struct_init_span = 1 # The span for aligning struct initializer values.
|
|
align_typedef_amp_style = 1
|
|
align_typedef_func = 1 # How to align typedef'd functions with other typedefs.
|
|
# (0: No align, 1: Align open paranthesis, 2: Align function type name)
|
|
align_typedef_gap = 2
|
|
align_typedef_span = 1 # The span for aligning single-line typedefs.
|
|
align_typedef_star_style = 1
|
|
align_var_def_amp_style = 1
|
|
align_var_def_attribute = true
|
|
align_var_def_colon = true # Whether to align the colon in struct bit fields.
|
|
align_var_def_gap = 2 # The gap (minimum spacing for aligned items) for variable definitions.
|
|
align_var_def_inline = false
|
|
align_var_def_span = 1 # The span (lines needed to align) for aligning variable definitions.
|
|
align_var_def_star_style = 1 # How to consider (or treat) the '*' in the alignment of variable
|
|
# definitions.
|
|
# 0: Part of the type 'void * foo;' (default)
|
|
# 1: Part of the variable 'void *foo;'
|
|
# 2: Dangling 'void *foo;'
|
|
# (Note - should also set sp_after_ptr_star=remove)
|
|
align_var_struct_gap = 4
|
|
align_var_struct_span = 8 # The span for aligning struct/union member definitions.
|
|
align_var_struct_thresh = 0
|
|
align_with_tabs = false
|
|
|
|
# Comment formatting
|
|
cmt_align_doxygen_javadoc_tags = true # Whether to align doxygen javadoc-style tags ('@param', '@return', etc.)
|
|
# TODO: Eats '[' in '[in]'
|
|
cmt_c_group = false
|
|
cmt_c_nl_end = true # Whether to add a newline before the closing '*/' of the combined c-comment.
|
|
cmt_c_nl_start = true
|
|
cmt_cpp_group = false
|
|
cmt_cpp_nl_end = true
|
|
cmt_cpp_nl_start = true
|
|
cmt_cpp_to_c = false
|
|
cmt_indent_multi = false # Whether to apply changes to multi-line comments, including cmt_width,
|
|
# keyword substitution and leading chars.
|
|
cmt_insert_before_preproc = false
|
|
#cmt_insert_file_header = default_file_header.txt
|
|
#cmt_insert_func_header = default_function_header.txt
|
|
cmt_multi_check_last = false
|
|
cmt_multi_first_len_minimum = 2
|
|
cmt_reflow_mode = 1 # How to reflow comments.
|
|
# (0:No reflow, 1:No touching at all, 2: Full reflow)
|
|
cmt_sp_after_star_cont = 0 # The number of spaces to insert after the star on subsequent comment lines.
|
|
cmt_sp_before_star_cont = 0 # The number of spaces to insert at the start of subsequent comment lines.
|
|
cmt_star_cont = false # Whether to put a star on subsequent comment lines.
|
|
cmt_width = 120 # Try to wrap comments at N columns.
|
|
sp_cmt_cpp_start = add # Add or remove space after the opening of a C++ comment, as in
|
|
# '// <here> A'. NOTE: Breaks indentation within comments.
|
|
|
|
# Function definitions / declarations
|
|
indent_func_call_param = false # Whether to indent continued function call parameters one indent level,
|
|
# rather than aligning parameters under the open parenthesis.
|
|
indent_func_class_param = false # Whether to indent continued function call declaration one indent level,
|
|
# rather than aligning parameters under the open parenthesis.
|
|
indent_func_ctor_var_param = false # Whether to indent continued class variable constructors one indent level,
|
|
# rather than aligning parameters under the open parenthesis.
|
|
indent_func_def_param = true # Whether to indent continued function definition parameters one indent
|
|
# level, rather than aligning parameters under the open parenthesis.
|
|
nl_fdef_brace = add # Add or remove newline between function signature and '{'.
|
|
nl_func_call_end_multi_line = true # Whether to add a newline before ')' in a function call if '(' and ')' are
|
|
# in different lines.
|
|
nl_func_call_paren = remove # Add or remove newline between a function name and the opening '(' in the
|
|
# call.
|
|
nl_func_call_start_multi_line = true # Whether to add a newline after '(' in a function call if '(' and ')' are
|
|
# in different lines.
|
|
nl_func_decl_args = force # Add or remove newline after each ',' in a function declaration.
|
|
nl_func_decl_empty = add # Add or remove newline between '()' in a function declaration.
|
|
nl_func_def_args = force # Add or remove newline after each ',' in a function definition.
|
|
nl_func_def_empty = add # Add or remove newline between '()' in a function definition.
|
|
nl_func_def_paren = remove # Add or remove newline between a function name and the opening '('
|
|
# in the definition.
|
|
nl_func_paren = remove # Add or remove newline between a function name and the opening '(' in
|
|
# the declaration.
|
|
nl_func_type_name = add # Add or remove newline between return type and function name in a function
|
|
# definition.
|
|
sp_fparen_brace = force # Add or remove space between ')' and '{' of function.
|
|
use_indent_func_call_param = true # indent_func_call_param will be used
|
|
|
|
# Additional Newline Rules
|
|
nl_after_brace_open = true # Whether to add a newline after '{'. This also adds a newline
|
|
# before the matching '}'.
|
|
nl_after_brace_open_cmt = true # Whether to add a newline between the open brace and a
|
|
# trailing single-line comment.
|
|
# Requires nl_after_brace_open = true.
|
|
nl_after_do = add # Add or remove blank line after 'do/while' statement.
|
|
nl_after_for = add # Add or remove blank line after 'for' statement.
|
|
nl_after_func_body = 2 # The number of newlines after '}' of a multi-line function body
|
|
nl_after_func_body_one_liner = 2
|
|
nl_after_func_proto = 2
|
|
nl_after_func_proto_group = 2
|
|
nl_after_if = add
|
|
nl_after_multiline_comment = false
|
|
nl_after_return = false
|
|
nl_after_struct = 2
|
|
nl_after_switch = add
|
|
nl_after_vbrace_close = true
|
|
nl_after_vbrace_open = true
|
|
nl_after_vbrace_open_empty = true
|
|
nl_after_while = add
|
|
nl_assign_leave_one_liners = true
|
|
nl_before_block_comment = 2
|
|
nl_before_case = false
|
|
nl_before_do = ignore
|
|
nl_before_for = ignore
|
|
nl_before_if = ignore
|
|
nl_before_switch = ignore
|
|
nl_before_while = ignore
|
|
nl_before_whole_file_ifdef = 2
|
|
nl_brace_brace = force
|
|
nl_brace_struct_var = remove
|
|
nl_case_colon_brace = add
|
|
nl_class_leave_one_liners = false
|
|
nl_collapse_empty_body = false
|
|
nl_comment_func_def = 1
|
|
nl_create_for_one_liner = false
|
|
nl_create_if_one_liner = false
|
|
nl_create_while_one_liner = false
|
|
nl_define_macro = false
|
|
nl_ds_struct_enum_close_brace = true
|
|
nl_ds_struct_enum_cmt = false
|
|
nl_enum_leave_one_liners = false
|
|
nl_func_decl_end = add
|
|
nl_func_decl_start = add
|
|
nl_func_def_end = add
|
|
nl_func_def_start = add
|
|
nl_func_leave_one_liners = false
|
|
nl_func_proto_type_name = add
|
|
nl_func_var_def_blk = 1
|
|
nl_getset_leave_one_liners = false
|
|
nl_if_leave_one_liners = false
|
|
nl_multi_line_define = false
|
|
nl_squeeze_ifdef = false
|
|
nl_var_def_blk_end = 0
|
|
nl_var_def_blk_start = 0
|
|
|
|
# Preprocessor Rules
|
|
pp_define_at_level = true
|
|
pp_if_indent_code = false
|
|
pp_indent_func_def = false
|
|
pp_indent_extern = false
|
|
pp_ignore_define_body = true # Workaround: Turn off processing for #define body
|
|
# (current rules do not work for some defines)
|
|
pp_indent = add
|
|
pp_indent_at_level = true
|
|
pp_indent_count = 2
|
|
pp_indent_if = 2
|
|
pp_indent_region = 2
|
|
pp_region_indent_code = false
|
|
pp_space = remove
|
|
|
|
#
|
|
# The tokens below are assigned specific types so they are always recognized properly.
|
|
#
|
|
|
|
# Explicitly define EDK II qualifiers
|
|
set QUALIFIER CONST
|
|
set QUALIFIER EFIAPI
|
|
set QUALIFIER IN
|
|
set QUALIFIER OPTIONAL
|
|
set QUALIFIER OUT
|
|
|
|
# Explicitly define EDK II types
|
|
set TYPE EFI_STATUS
|
|
set TYPE VOID
|