refactor: upgrade uncrustify config version to 0.74.0

Disable formatting for assert.h since there's a bug that results in a
segmentation fault in uncrustify.
This commit is contained in:
Dundar Göc 2021-11-22 10:57:37 +01:00
parent fd6df7481a
commit 849f104c27
9 changed files with 293 additions and 188 deletions

View File

@ -1,3 +1,5 @@
// uncrustify:off
#ifndef NVIM_ASSERT_H
#define NVIM_ASSERT_H

View File

@ -3919,7 +3919,8 @@ static buf_T *ins_compl_next_buf(buf_T *buf, int flag)
/// Get the user-defined completion function name for completion 'type'
static char_u *get_complete_funcname(int type) {
static char_u *get_complete_funcname(int type)
{
switch (type) {
case CTRL_X_FUNCTION:
return curbuf->b_p_cfu;
@ -6564,7 +6565,7 @@ static void spell_back_to_badword(void)
int stop_arrow(void)
{
if (arrow_used) {
Insstart = curwin->w_cursor; //new insertion starts here
Insstart = curwin->w_cursor; // new insertion starts here
if (Insstart.col > Insstart_orig.col && !ins_need_undo) {
// Don't update the original insert position when moved to the
// right, except when nothing was inserted yet.
@ -7630,16 +7631,34 @@ int hkmap(int c)
KAFsofit, hKAF, LAMED, MEMsofit, MEM, NUNsofit, NUN, SAMEH, AIN,
PEIsofit, PEI, ZADIsofit, ZADI, KOF, RESH, hSHIN, TAV,
};
static char_u map[26] =
{ (char_u)hALEF /*a*/, (char_u)BET /*b*/, (char_u)hKAF /*c*/,
(char_u)DALET /*d*/, (char_u)-1 /*e*/, (char_u)PEIsofit /*f*/,
(char_u)GIMEL /*g*/, (char_u)HEI /*h*/, (char_u)IUD /*i*/,
(char_u)HET /*j*/, (char_u)KOF /*k*/, (char_u)LAMED /*l*/,
(char_u)MEM /*m*/, (char_u)NUN /*n*/, (char_u)SAMEH /*o*/,
(char_u)PEI /*p*/, (char_u)-1 /*q*/, (char_u)RESH /*r*/,
(char_u)ZAIN /*s*/, (char_u)TAV /*t*/, (char_u)TET /*u*/,
(char_u)VAV /*v*/, (char_u)hSHIN /*w*/, (char_u)-1 /*x*/,
(char_u)AIN /*y*/, (char_u)ZADI /*z*/ };
static char_u map[26] = {
(char_u)hALEF, // a
(char_u)BET, // b
(char_u)hKAF, // c
(char_u)DALET, // d
(char_u)-1, // e
(char_u)PEIsofit, // f
(char_u)GIMEL, // g
(char_u)HEI, // h
(char_u)IUD, // i
(char_u)HET, // j
(char_u)KOF, // k
(char_u)LAMED, // l
(char_u)MEM, // m
(char_u)NUN, // n
(char_u)SAMEH, // o
(char_u)PEI, // p
(char_u)-1, // q
(char_u)RESH, // r
(char_u)ZAIN, // s
(char_u)TAV, // t
(char_u)TET, // u
(char_u)VAV, // v
(char_u)hSHIN, // w
(char_u)-1, // x
(char_u)AIN, // y
(char_u)ZADI, // z
};
if (c == 'N' || c == 'M' || c == 'P' || c == 'C' || c == 'Z') {
return (int)(map[CharOrd(c)] - 1 + p_aleph);

View File

@ -7146,30 +7146,30 @@ void dict_list(typval_T *const tv, typval_T *const rettv, const DictListType wha
typval_T tv_item = { .v_lock = VAR_UNLOCKED };
switch (what) {
case kDictListKeys:
tv_item.v_type = VAR_STRING;
tv_item.vval.v_string = vim_strsave(di->di_key);
break;
case kDictListValues:
tv_copy(&di->di_tv, &tv_item);
break;
case kDictListItems: {
// items()
list_T *const sub_l = tv_list_alloc(2);
tv_item.v_type = VAR_LIST;
tv_item.vval.v_list = sub_l;
tv_list_ref(sub_l);
case kDictListKeys:
tv_item.v_type = VAR_STRING;
tv_item.vval.v_string = vim_strsave(di->di_key);
break;
case kDictListValues:
tv_copy(&di->di_tv, &tv_item);
break;
case kDictListItems: {
// items()
list_T *const sub_l = tv_list_alloc(2);
tv_item.v_type = VAR_LIST;
tv_item.vval.v_list = sub_l;
tv_list_ref(sub_l);
tv_list_append_owned_tv(sub_l, (typval_T) {
tv_list_append_owned_tv(sub_l, (typval_T) {
.v_type = VAR_STRING,
.v_lock = VAR_UNLOCKED,
.vval.v_string = (char_u *)xstrdup((const char *)di->di_key),
});
tv_list_append_tv(sub_l, &di->di_tv);
tv_list_append_tv(sub_l, &di->di_tv);
break;
}
break;
}
}
tv_list_append_owned_tv(rettv->vval.v_list, tv_item);

View File

@ -352,20 +352,20 @@ int encode_read_from_list(ListReaderState *const state, char *const buf, const s
const float_T flt_ = (flt); \
switch (xfpclassify(flt_)) { \
case FP_NAN: { \
ga_concat(gap, "str2float('nan')"); \
break; \
ga_concat(gap, "str2float('nan')"); \
break; \
} \
case FP_INFINITE: { \
if (flt_ < 0) { \
ga_append(gap, '-'); \
} \
ga_concat(gap, "str2float('inf')"); \
break; \
if (flt_ < 0) { \
ga_append(gap, '-'); \
} \
ga_concat(gap, "str2float('inf')"); \
break; \
} \
default: { \
char numbuf[NUMBUFLEN]; \
vim_snprintf(numbuf, ARRAY_SIZE(numbuf), "%g", flt_); \
ga_concat(gap, numbuf); \
char numbuf[NUMBUFLEN]; \
vim_snprintf(numbuf, ARRAY_SIZE(numbuf), "%g", flt_); \
ga_concat(gap, numbuf); \
} \
} \
} while (0)
@ -556,18 +556,18 @@ int encode_read_from_list(ListReaderState *const state, char *const buf, const s
const float_T flt_ = (flt); \
switch (xfpclassify(flt_)) { \
case FP_NAN: { \
emsg(_("E474: Unable to represent NaN value in JSON")); \
return FAIL; \
emsg(_("E474: Unable to represent NaN value in JSON")); \
return FAIL; \
} \
case FP_INFINITE: { \
emsg(_("E474: Unable to represent infinity in JSON")); \
return FAIL; \
emsg(_("E474: Unable to represent infinity in JSON")); \
return FAIL; \
} \
default: { \
char numbuf[NUMBUFLEN]; \
vim_snprintf(numbuf, ARRAY_SIZE(numbuf), "%g", flt_); \
ga_concat(gap, numbuf); \
break; \
char numbuf[NUMBUFLEN]; \
vim_snprintf(numbuf, ARRAY_SIZE(numbuf), "%g", flt_); \
ga_concat(gap, numbuf); \
break; \
} \
} \
} while (0)

View File

@ -782,10 +782,10 @@ void nlua_push_Object(lua_State *lstate, const Object obj, bool special)
break;
}
#define ADD_TYPE(type, data_key) \
case kObjectType##type: { \
nlua_push_##type(lstate, obj.data.data_key, special); \
break; \
}
case kObjectType##type: { \
nlua_push_##type(lstate, obj.data.data_key, special); \
break; \
}
ADD_TYPE(Boolean, boolean)
ADD_TYPE(Integer, integer)
ADD_TYPE(Float, floating)
@ -794,10 +794,10 @@ case kObjectType##type: { \
ADD_TYPE(Dictionary, dictionary)
#undef ADD_TYPE
#define ADD_REMOTE_TYPE(type) \
case kObjectType##type: { \
nlua_push_##type(lstate, (type)obj.data.integer, special); \
break; \
}
case kObjectType##type: { \
nlua_push_##type(lstate, (type)obj.data.integer, special); \
break; \
}
ADD_REMOTE_TYPE(Buffer)
ADD_REMOTE_TYPE(Window)
ADD_REMOTE_TYPE(Tabpage)

View File

@ -92,15 +92,15 @@ bool msgpack_rpc_to_object(const msgpack_object *const obj, Object *const arg)
break;
}
#define STR_CASE(type, attr, obj, dest, conv) \
case type: { \
dest = conv(((String) { \
case type: { \
dest = conv(((String) { \
.size = obj->via.attr.size, \
.data = (obj->via.attr.ptr == NULL || obj->via.attr.size == 0 \
? xmemdupz("", 0) \
: xmemdupz(obj->via.attr.ptr, obj->via.attr.size)), \
})); \
break; \
}
break; \
}
STR_CASE(MSGPACK_OBJECT_STR, str, cur.mobj, *cur.aobj, STRING_OBJ)
STR_CASE(MSGPACK_OBJECT_BIN, bin, cur.mobj, *cur.aobj, STRING_OBJ)
case MSGPACK_OBJECT_ARRAY: {
@ -143,10 +143,10 @@ case type: { \
const msgpack_object *const key = &cur.mobj->via.map.ptr[idx].key;
switch (key->type) {
#define ID(x) x
STR_CASE(MSGPACK_OBJECT_STR, str, key,
cur.aobj->data.dictionary.items[idx].key, ID)
STR_CASE(MSGPACK_OBJECT_BIN, bin, key,
cur.aobj->data.dictionary.items[idx].key, ID)
STR_CASE(MSGPACK_OBJECT_STR, str, key,
cur.aobj->data.dictionary.items[idx].key, ID)
STR_CASE(MSGPACK_OBJECT_BIN, bin, key,
cur.aobj->data.dictionary.items[idx].key, ID)
#undef ID
case MSGPACK_OBJECT_NIL:
case MSGPACK_OBJECT_BOOLEAN:

View File

@ -7573,7 +7573,7 @@ static bool syn_list_header(const bool did_header, const int outlen, const int i
// Show "xxx" with the attributes.
if (!did_header) {
if (endcol == Columns - 1 && endcol <= name_col) {
msg_putchar(' ');
msg_putchar(' ');
}
msg_puts_attr("xxx", syn_id2attr(id));
msg_putchar(' ');

View File

@ -204,40 +204,40 @@ LexExprToken viml_pexpr_next_token(ParserState *const pstate, const int flags)
} \
} while (0)
switch (schar) {
// Paired brackets.
// Paired brackets.
#define BRACKET(typ, opning, clsing) \
case opning: \
case clsing: { \
ret.type = typ; \
ret.data.brc.closing = (schar == clsing); \
break; \
}
BRACKET(kExprLexParenthesis, '(', ')')
BRACKET(kExprLexBracket, '[', ']')
BRACKET(kExprLexFigureBrace, '{', '}')
case opning: \
case clsing: { \
ret.type = typ; \
ret.data.brc.closing = (schar == clsing); \
break; \
}
BRACKET(kExprLexParenthesis, '(', ')')
BRACKET(kExprLexBracket, '[', ']')
BRACKET(kExprLexFigureBrace, '{', '}')
#undef BRACKET
// Single character tokens without data.
// Single character tokens without data.
#define CHAR(typ, ch) \
case ch: { \
ret.type = typ; \
break; \
}
CHAR(kExprLexQuestion, '?')
CHAR(kExprLexColon, ':')
CHAR(kExprLexComma, ',')
case ch: { \
ret.type = typ; \
break; \
}
CHAR(kExprLexQuestion, '?')
CHAR(kExprLexColon, ':')
CHAR(kExprLexComma, ',')
#undef CHAR
// Multiplication/division/modulo.
// Multiplication/division/modulo.
#define MUL(mul_type, ch) \
case ch: { \
ret.type = kExprLexMultiplication; \
ret.data.mul.type = mul_type; \
break; \
}
MUL(kExprLexMulMul, '*')
MUL(kExprLexMulDiv, '/')
MUL(kExprLexMulMod, '%')
case ch: { \
ret.type = kExprLexMultiplication; \
ret.data.mul.type = mul_type; \
break; \
}
MUL(kExprLexMulMul, '*')
MUL(kExprLexMulDiv, '/')
MUL(kExprLexMulMod, '%')
#undef MUL
#define CHARREG(typ, cond) \
@ -653,16 +653,16 @@ case ch: { \
// Sign or augmented assignment.
#define CHAR_OR_ASSIGN(ch, ch_type, ass_type) \
case ch: { \
if (pline.size > 1 && pline.data[1] == '=') { \
ret.len++; \
ret.type = kExprLexAssignment; \
ret.data.ass.type = ass_type; \
} else { \
ret.type = ch_type; \
} \
break; \
}
case ch: { \
if (pline.size > 1 && pline.data[1] == '=') { \
ret.len++; \
ret.type = kExprLexAssignment; \
ret.data.ass.type = ass_type; \
} else { \
ret.type = ch_type; \
} \
break; \
}
CHAR_OR_ASSIGN('+', kExprLexPlus, kExprAsgnAdd)
CHAR_OR_ASSIGN('.', kExprLexDot, kExprAsgnConcat)
#undef CHAR_OR_ASSIGN
@ -811,19 +811,19 @@ const char *viml_pexpr_repr_token(const ParserState *const pstate, const LexExpr
eltkn_type_tab[token.type]);
switch (token.type) {
#define TKNARGS(tkn_type, ...) \
case tkn_type: { \
ADDSTR(__VA_ARGS__); \
break; \
}
TKNARGS(kExprLexComparison, "(type=%s,ccs=%s,inv=%i)",
eltkn_cmp_type_tab[token.data.cmp.type],
ccs_tab[token.data.cmp.ccs],
(int)token.data.cmp.inv)
TKNARGS(kExprLexMultiplication, "(type=%s)",
eltkn_mul_type_tab[token.data.mul.type])
TKNARGS(kExprLexAssignment, "(type=%s)",
expr_asgn_type_tab[token.data.ass.type])
TKNARGS(kExprLexRegister, "(name=%s)", intchar2str(token.data.reg.name))
case tkn_type: { \
ADDSTR(__VA_ARGS__); \
break; \
}
TKNARGS(kExprLexComparison, "(type=%s,ccs=%s,inv=%i)",
eltkn_cmp_type_tab[token.data.cmp.type],
ccs_tab[token.data.cmp.ccs],
(int)token.data.cmp.inv)
TKNARGS(kExprLexMultiplication, "(type=%s)",
eltkn_mul_type_tab[token.data.mul.type])
TKNARGS(kExprLexAssignment, "(type=%s)",
expr_asgn_type_tab[token.data.ass.type])
TKNARGS(kExprLexRegister, "(name=%s)", intchar2str(token.data.reg.name))
case kExprLexDoubleQuotedString:
TKNARGS(kExprLexSingleQuotedString, "(closed=%i)",
(int)token.data.str.closed)
@ -1540,21 +1540,21 @@ static inline void east_set_error(const ParserState *const pstate, ExprASTError
case kExprNodeComplexIdentifier: \
case kExprNodePlainIdentifier: \
case kExprNodeCurlyBracesIdentifier: { \
NEW_NODE_WITH_CUR_POS(cur_node, kExprNodeComplexIdentifier); \
cur_node->len = 0; \
cur_node->children = *top_node_p; \
*top_node_p = cur_node; \
kvi_push(ast_stack, &cur_node->children->next); \
ExprASTNode **const new_top_node_p = kv_last(ast_stack); \
assert(*new_top_node_p == NULL); \
new_ident_node_code; \
*new_top_node_p = cur_node; \
HL_CUR_TOKEN(hl); \
break; \
NEW_NODE_WITH_CUR_POS(cur_node, kExprNodeComplexIdentifier); \
cur_node->len = 0; \
cur_node->children = *top_node_p; \
*top_node_p = cur_node; \
kvi_push(ast_stack, &cur_node->children->next); \
ExprASTNode **const new_top_node_p = kv_last(ast_stack); \
assert(*new_top_node_p == NULL); \
new_ident_node_code; \
*new_top_node_p = cur_node; \
HL_CUR_TOKEN(hl); \
break; \
} \
default: { \
OP_MISSING; \
break; \
OP_MISSING; \
break; \
} \
} \
} while (0)
@ -1747,19 +1747,19 @@ static void parse_quoted_string(ParserState *const pstate, ExprASTNode *const no
const char *const v_p_start = v_p;
switch (*p) {
#define SINGLE_CHAR_ESC(ch, real_ch) \
case ch: { \
*v_p++ = real_ch; \
p++; \
break; \
}
SINGLE_CHAR_ESC('b', BS)
SINGLE_CHAR_ESC('e', ESC)
SINGLE_CHAR_ESC('f', FF)
SINGLE_CHAR_ESC('n', NL)
SINGLE_CHAR_ESC('r', CAR)
SINGLE_CHAR_ESC('t', TAB)
SINGLE_CHAR_ESC('"', '"')
SINGLE_CHAR_ESC('\\', '\\')
case ch: { \
*v_p++ = real_ch; \
p++; \
break; \
}
SINGLE_CHAR_ESC('b', BS)
SINGLE_CHAR_ESC('e', ESC)
SINGLE_CHAR_ESC('f', FF)
SINGLE_CHAR_ESC('n', NL)
SINGLE_CHAR_ESC('r', CAR)
SINGLE_CHAR_ESC('t', TAB)
SINGLE_CHAR_ESC('"', '"')
SINGLE_CHAR_ESC('\\', '\\')
#undef SINGLE_CHAR_ESC
// Hexadecimal or unicode.
@ -2141,32 +2141,32 @@ viml_pexpr_parse_process_token:
break;
}
#define SIMPLE_UB_OP(op) \
case kExprLex##op: { \
if (want_node == kENodeValue) { \
/* Value level: assume unary operator. */ \
NEW_NODE_WITH_CUR_POS(cur_node, kExprNodeUnary##op); \
*top_node_p = cur_node; \
kvi_push(ast_stack, &cur_node->children); \
HL_CUR_TOKEN(Unary##op); \
} else { \
NEW_NODE_WITH_CUR_POS(cur_node, kExprNodeBinary##op); \
ADD_OP_NODE(cur_node); \
HL_CUR_TOKEN(Binary##op); \
} \
want_node = kENodeValue; \
break; \
}
case kExprLex##op: { \
if (want_node == kENodeValue) { \
/* Value level: assume unary operator. */ \
NEW_NODE_WITH_CUR_POS(cur_node, kExprNodeUnary##op); \
*top_node_p = cur_node; \
kvi_push(ast_stack, &cur_node->children); \
HL_CUR_TOKEN(Unary##op); \
} else { \
NEW_NODE_WITH_CUR_POS(cur_node, kExprNodeBinary##op); \
ADD_OP_NODE(cur_node); \
HL_CUR_TOKEN(Binary##op); \
} \
want_node = kENodeValue; \
break; \
}
SIMPLE_UB_OP(Plus)
SIMPLE_UB_OP(Minus)
#undef SIMPLE_UB_OP
#define SIMPLE_B_OP(op, msg) \
case kExprLex##op: { \
ADD_VALUE_IF_MISSING(_("E15: Unexpected " msg ": %.*s")); \
NEW_NODE_WITH_CUR_POS(cur_node, kExprNode##op); \
HL_CUR_TOKEN(op); \
ADD_OP_NODE(cur_node); \
break; \
}
case kExprLex##op: { \
ADD_VALUE_IF_MISSING(_("E15: Unexpected " msg ": %.*s")); \
NEW_NODE_WITH_CUR_POS(cur_node, kExprNode##op); \
HL_CUR_TOKEN(op); \
ADD_OP_NODE(cur_node); \
break; \
}
SIMPLE_B_OP(Or, "or operator")
SIMPLE_B_OP(And, "and operator")
#undef SIMPLE_B_OP
@ -2174,14 +2174,14 @@ case kExprLex##op: { \
ADD_VALUE_IF_MISSING(_("E15: Unexpected multiplication-like operator: %.*s"));
switch (cur_token.data.mul.type) {
#define MUL_OP(lex_op_tail, node_op_tail) \
case kExprLexMul##lex_op_tail: { \
NEW_NODE_WITH_CUR_POS(cur_node, kExprNode##node_op_tail); \
HL_CUR_TOKEN(node_op_tail); \
break; \
}
MUL_OP(Mul, Multiplication)
MUL_OP(Div, Division)
MUL_OP(Mod, Mod)
case kExprLexMul##lex_op_tail: { \
NEW_NODE_WITH_CUR_POS(cur_node, kExprNode##node_op_tail); \
HL_CUR_TOKEN(node_op_tail); \
break; \
}
MUL_OP(Mul, Multiplication)
MUL_OP(Div, Division)
MUL_OP(Mod, Mod)
#undef MUL_OP
}
ADD_OP_NODE(cur_node);
@ -2929,11 +2929,11 @@ viml_pexpr_parse_no_paren_closing_error: {}
cur_node->data.ass.type = cur_token.data.ass.type;
switch (cur_token.data.ass.type) {
#define HL_ASGN(asgn, hl) \
case kExprAsgn##asgn: { HL_CUR_TOKEN(hl); break; }
HL_ASGN(Plain, PlainAssignment)
HL_ASGN(Add, AssignmentWithAddition)
HL_ASGN(Subtract, AssignmentWithSubtraction)
HL_ASGN(Concat, AssignmentWithConcatenation)
case kExprAsgn##asgn: { HL_CUR_TOKEN(hl); break; }
HL_ASGN(Plain, PlainAssignment)
HL_ASGN(Add, AssignmentWithAddition)
HL_ASGN(Subtract, AssignmentWithSubtraction)
HL_ASGN(Concat, AssignmentWithConcatenation)
#undef HL_ASGN
}
ADD_OP_NODE(cur_node);

View File

@ -1,4 +1,4 @@
# Uncrustify-0.73.0-199-0dfafb27
# Uncrustify-0.74.0
#
# General options
@ -214,6 +214,10 @@ sp_after_ptr_star_func = remove # ignore/add/remove/force/not_defined
# function prototype or function definition.
sp_after_ptr_star_trailing = ignore # ignore/add/remove/force/not_defined
# Add or remove space between the pointer star '*' and the name of the variable
# in a function pointer definition.
sp_ptr_star_func_var = ignore # ignore/add/remove/force/not_defined
# Add or remove space after a pointer star '*', if followed by an open
# parenthesis, as in 'void* (*)()'.
sp_ptr_star_paren = ignore # ignore/add/remove/force/not_defined
@ -311,19 +315,33 @@ sp_permit_cpp11_shift = false # true/false
# 'while', etc.).
sp_before_sparen = force # ignore/add/remove/force/not_defined
# Add or remove space inside '(' and ')' of control statements.
# Add or remove space inside '(' and ')' of control statements other than
# 'for'.
sp_inside_sparen = remove # ignore/add/remove/force/not_defined
# Add or remove space after '(' of control statements.
# Add or remove space after '(' of control statements other than 'for'.
#
# Overrides sp_inside_sparen.
sp_inside_sparen_open = remove # ignore/add/remove/force/not_defined
# Add or remove space before ')' of control statements.
# Add or remove space before ')' of control statements other than 'for'.
#
# Overrides sp_inside_sparen.
sp_inside_sparen_close = ignore # ignore/add/remove/force/not_defined
# Add or remove space inside '(' and ')' of 'for' statements.
sp_inside_for = ignore # ignore/add/remove/force/not_defined
# Add or remove space after '(' of 'for' statements.
#
# Overrides sp_inside_for.
sp_inside_for_open = ignore # ignore/add/remove/force/not_defined
# Add or remove space before ')' of 'for' statements.
#
# Overrides sp_inside_for.
sp_inside_for_close = ignore # ignore/add/remove/force/not_defined
# Add or remove space between '((' or '))' of control statements.
sp_sparen_paren = ignore # ignore/add/remove/force/not_defined
@ -648,6 +666,11 @@ sp_func_class_paren = ignore # ignore/add/remove/force/not_defined
# and '()'.
sp_func_class_paren_empty = ignore # ignore/add/remove/force/not_defined
# Add or remove space after 'return'.
#
# Default: force
sp_return = force # ignore/add/remove/force/not_defined
# Add or remove space between 'return' and '('.
sp_return_paren = force # ignore/add/remove/force/not_defined
@ -971,11 +994,31 @@ sp_inside_newop_paren_open = ignore # ignore/add/remove/force/not_defined
# Overrides sp_inside_newop_paren.
sp_inside_newop_paren_close = ignore # ignore/add/remove/force/not_defined
# Add or remove space before a trailing or embedded comment.
sp_before_tr_emb_cmt = add # ignore/add/remove/force/not_defined
# Add or remove space before a trailing comment.
sp_before_tr_cmt = add # ignore/add/remove/force/not_defined
# Number of spaces before a trailing or embedded comment.
sp_num_before_tr_emb_cmt = 2 # unsigned number
# Number of spaces before a trailing comment.
sp_num_before_tr_cmt = 2 # unsigned number
# Add or remove space before an embedded comment.
#
# Default: force
sp_before_emb_cmt = force # ignore/add/remove/force/not_defined
# Number of spaces before an embedded comment.
#
# Default: 1
sp_num_before_emb_cmt = 1 # unsigned number
# Add or remove space after an embedded comment.
#
# Default: force
sp_after_emb_cmt = force # ignore/add/remove/force/not_defined
# Number of spaces after an embedded comment.
#
# Default: 1
sp_num_after_emb_cmt = 1 # unsigned number
# (Java) Add or remove space between an annotation and the open parenthesis.
sp_annotation_paren = ignore # ignore/add/remove/force/not_defined
@ -1216,12 +1259,16 @@ indent_sparen_extra = 0 # number
indent_relative_single_line_comments = true # true/false
# Spaces to indent 'case' from 'switch'. Usually 0 or indent_columns.
# It might wise to choose the same value for the option indent_case_brace.
# It might be wise to choose the same value for the option indent_case_brace.
indent_switch_case = 0 # unsigned number
# Spaces to indent the body of a 'switch' before any 'case'.
# Usually the same as indent_columns or indent_switch_case.
indent_switch_body = 0 # unsigned number
# Spaces to indent '{' from 'case'. By default, the brace will appear under
# the 'c' in case. Usually set to 0 or indent_columns. Negative values are OK.
# It might wise to choose the same value for the option indent_switch_case.
# It might be wise to choose the same value for the option indent_switch_case.
indent_case_brace = 0 # number
# indent 'break' with 'case' from 'switch'.
@ -1236,13 +1283,31 @@ indent_switch_pp = true # true/false
# Usually 0.
indent_case_shift = 0 # unsigned number
# Whether to align comments before 'case' with the 'case'.
#
# Default: true
indent_case_comment = true # true/false
# Whether to indent comments not found in first column.
#
# Default: true
indent_comment = true # true/false
# Whether to indent comments found in first column.
indent_col1_comment = false # true/false
# Whether to indent multi string literal in first column.
indent_col1_multi_string_literal = false # true/false
# How to indent goto labels.
# Align comments on adjacent lines that are this many columns apart or less.
#
# Default: 3
indent_comment_align_thresh = 3 # unsigned number
# Whether to ignore indent for goto labels.
indent_ignore_label = false # true/false
# How to indent goto labels. Requires indent_ignore_label=false.
#
# >0: Absolute column where 1 is the leftmost column
# <=0: Subtract from brace indent
@ -1414,7 +1479,7 @@ indent_using_block = true # true/false
# 0: Off (default)
# 1: When the `if_false` is a continuation, indent it under `if_false`
# 2: When the `:` is a continuation, indent it under `?`
indent_ternary_operator = 2 # unsigned number
indent_ternary_operator = 0 # unsigned number
# Whether to indent the statements inside ternary operator.
indent_inside_ternary_operator = false # true/false
@ -2622,6 +2687,22 @@ align_right_cmt_at_col = 0 # unsigned number
# 0: Don't align (default).
align_func_proto_span = 0 # unsigned number
# How to consider (or treat) the '*' in the alignment of function prototypes.
#
# 0: Part of the type 'void * foo();' (default)
# 1: Part of the function 'void *foo();'
# 2: Dangling 'void *foo();'
# Dangling: the '*' will not be taken into account when aligning.
align_func_proto_star_style = 0 # unsigned number
# How to consider (or treat) the '&' in the alignment of function prototypes.
#
# 0: Part of the type 'long & foo();' (default)
# 1: Part of the function 'long &foo();'
# 2: Dangling 'long &foo();'
# Dangling: the '&' will not be taken into account when aligning.
align_func_proto_amp_style = 0 # unsigned number
# The threshold for aligning function prototypes.
# Use a negative number for absolute thresholds.
#
@ -3101,6 +3182,9 @@ pp_indent_in_guard = false # true/false
# indented from column 1.
pp_define_at_level = false # true/false
# Whether to indent '#include' at the brace level.
pp_include_at_level = false # true/false
# Whether to ignore the '#define' body while formatting.
pp_ignore_define_body = false # true/false
@ -3307,5 +3391,5 @@ set QUESTION REAL_FATTR_CONST
set QUESTION REAL_FATTR_NONNULL_ALL
set QUESTION REAL_FATTR_PURE
set QUESTION REAL_FATTR_WARN_UNUSED_RESULT
# option(s) with 'not default' value: 87
# option(s) with 'not default' value: 86
#