<HTML><HEAD>
<STYLE id=eMClientCss>BLOCKQUOTE.cite {
        PADDING-LEFT: 10px; MARGIN-LEFT: 5px; BORDER-LEFT: #cccccc 1px solid; PADDING-RIGHT: 0px; MARGIN-RIGHT: 0px
}
BLOCKQUOTE.cite2 {
        PADDING-TOP: 0px; PADDING-LEFT: 10px; MARGIN-LEFT: 5px; BORDER-LEFT: #cccccc 1px solid; MARGIN-TOP: 3px; PADDING-RIGHT: 0px; MARGIN-RIGHT: 0px
}
.plain PRE {
        FONT-SIZE: 100%; FONT-FAMILY: monospace; WHITE-SPACE: pre-wrap; FONT-WEIGHT: normal; FONT-STYLE: normal
}
.plain TT {
        FONT-SIZE: 100%; FONT-FAMILY: monospace; WHITE-SPACE: pre-wrap; FONT-WEIGHT: normal; FONT-STYLE: normal
}
A IMG {
        BORDER-TOP: 0px; BORDER-RIGHT: 0px; BORDER-BOTTOM: 0px; BORDER-LEFT: 0px
}
BODY {
        FONT-SIZE: 12pt; FONT-FAMILY: Tahoma
}
.plain PRE {
        FONT-SIZE: 12pt; FONT-FAMILY: Tahoma
}
.plain TT {
        FONT-SIZE: 12pt; FONT-FAMILY: Tahoma
}
BLOCKQUOTE.cite {
        PADDING-LEFT: 10px; MARGIN-LEFT: 5px; BORDER-LEFT: #cccccc 1px solid; PADDING-RIGHT: 0px; MARGIN-RIGHT: 0px
}
BLOCKQUOTE.cite2 {
        PADDING-TOP: 0px; PADDING-LEFT: 10px; MARGIN-LEFT: 5px; BORDER-LEFT: #cccccc 1px solid; MARGIN-TOP: 3px; PADDING-RIGHT: 0px; MARGIN-RIGHT: 0px
}
.plain PRE {
        FONT-SIZE: 100%; FONT-FAMILY: monospace; WHITE-SPACE: pre-wrap; FONT-WEIGHT: normal; FONT-STYLE: normal
}
.plain TT {
        FONT-SIZE: 100%; FONT-FAMILY: monospace; WHITE-SPACE: pre-wrap; FONT-WEIGHT: normal; FONT-STYLE: normal
}
A IMG {
        BORDER-TOP: 0px; BORDER-RIGHT: 0px; BORDER-BOTTOM: 0px; BORDER-LEFT: 0px
}
#x62ec56f5fd644b3da308ef21932b2ad6 {
        FONT-SIZE: 12pt; FONT-FAMILY: Tahoma
}
#xf6aee49b90584004ba7272f04cb859ad {
        FONT-SIZE: 12pt; FONT-FAMILY: Tahoma
}
.plain PRE {
        FONT-SIZE: 12pt; FONT-FAMILY: Tahoma
}
.plain TT {
        FONT-SIZE: 12pt; FONT-FAMILY: Tahoma
}
BODY {
        FONT-SIZE: 12pt; FONT-FAMILY: Tahoma
}
</STYLE>
</HEAD>
<BODY scroll=auto>
<DIV>i would like to see an option to format arguments and parameters a bit different.</DIV>
<DIV>at the moment if you have a function definition which doesn't fit to the current line and all arguments fit to the next line clang-format prefers method (2):</DIV>
<DIV> </DIV>
<DIV>e.g.</DIV>
<DIV>col limit 140:</DIV>
<DIV> </DIV><SPAN id=xcad4185311294bb394f2726e819de01c>
<DIV>(1) void FunctionName01234567890(const Argument& a1, const Argument& a2, const Argument& a3, const Argument& a4, const Argument& a5);</DIV>
<DIV></DIV></SPAN>  
<DIV>(2) void FunctionName01234567890(const Argument& a1, const Argument& a2, const Argument& a3, const Argument& a4, const Argument& a5, const Argument& a6);</DIV>
<DIV id=signature_old>
<DIV style="FONT-SIZE: 12pt; FONT-FAMILY: Tahoma"><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: Tahoma">
<DIV><SPAN id=xf6aee49b90584004ba7272f04cb859ad>
<DIV> </DIV>
<DIV>(3) void FunctionName01234567890(const Argument& a1, const Argument& a2, const Argument& a3, const Argument& a4, const Argument& a5, const Argument& a6<SPAN id=xf0235563848a4749a81db20b7999c1a7>, const Argument& a7</SPAN>);</DIV></SPAN></DIV>
<DIV> </DIV>
<DIV>results in:</DIV>
<DIV> </DIV>
<DIV><SPAN id=x62ec56f5fd644b3da308ef21932b2ad6><SPAN id=x452fe9be347348499f55f086241220f6><SPAN id=xcad4185311294bb394f2726e819de01c>
<DIV>(1) void FunctionName01234567890(const Argument& a1, const Argument& a2, const Argument& a3, const Argument& a4, const Argument& a5);</DIV>
<DIV></DIV></SPAN> </SPAN></SPAN></DIV>
<DIV>(2) void FunctionName01234567890(</DIV>
<DIV>    const Argument& a1, const Argument& a2, const Argument& a3, const Argument& a4, const Argument& a5, const Argument& a6);</DIV>
<DIV id=signature_old>
<DIV style="FONT-SIZE: 12pt; FONT-FAMILY: Tahoma"><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: Tahoma">
<DIV><SPAN id=xf6aee49b90584004ba7272f04cb859ad>
<DIV> </DIV>
<DIV>(3) void FunctionName01234567890(const Argument& a1, const Argument& a2, const Argument& a3, const Argument& a4, const Argument& a5,</DIV>
<DIV>    const Argument& a6<SPAN id=xf0235563848a4749a81db20b7999c1a7>, </SPAN><SPAN>const Argument& a7</SPAN>);</DIV></SPAN></DIV></SPAN></DIV></DIV>
<DIV></DIV></SPAN> </DIV>
<DIV>i prefer (1) and (3) and i will never see (2). I would love to get this result:</DIV>
<DIV> </DIV>
<DIV><SPAN id=xf9ee85ab2be04fdab6c0b35226c632de>
<DIV>(2b) void FunctionName01234567890(const Argument& a1, const Argument& a2, const Argument& a3, const Argument& a4, const Argument& a5,</DIV>
<DIV>    const Argument& a6);</DIV>
<DIV> </DIV></SPAN></DIV>
<DIV>Q: </DIV>
<DIV>- is this just a matter of settings (penalties?)?</DIV>
<DIV>- if not, can somebody guide me to the place in the source where the decision is done if all parameters fit to one line? i would like to add an option for that behaviour.</DIV>
<DIV> </DIV></DIV>
<DIV>Best regards</DIV>
<DIV>Tilo</DIV>
<DIV> </DIV>
<DIV>my .clang-format settings</DIV>
<DIV> </DIV>
<DIV>---<BR>Language:        Cpp<BR># BasedOnStyle:  LLVM<BR>AccessModifierOffset: -2<BR>AlignAfterOpenBracket: false<BR>AlignEscapedNewlinesLeft: false<BR>AlignOperands:   true<BR>AlignTrailingComments: true<BR>AllowAllParametersOfDeclarationOnNextLine: true<BR>AllowShortBlocksOnASingleLine: false<BR>AllowShortCaseLabelsOnASingleLine: true<BR>AllowShortIfStatementsOnASingleLine: false<BR>AllowShortLoopsOnASingleLine: false<BR>AllowShortFunctionsOnASingleLine: None<BR>AlwaysBreakAfterDefinitionReturnType: false<BR>AlwaysBreakTemplateDeclarations: false<BR>AlwaysBreakBeforeMultilineStrings: false<BR>BreakBeforeBinaryOperators: None<BR>BreakBeforeTernaryOperators: true<BR>BreakConstructorInitializersBeforeComma: false<BR>BinPackParameters: true<BR>BinPackArguments: true<BR>ColumnLimit:     140<BR>ConstructorInitializerAllOnOneLineOrOnePerLine: true<BR>ConstructorInitializerIndentWidth: 2<BR>DerivePointerAlignment: false<BR>ExperimentalAutoDetectBinPacking: false<BR>IndentCaseLabels: true<BR>IndentWrappedFunctionNames: false<BR>IndentFunctionDeclarationAfterType: false<BR>MaxEmptyLinesToKeep: 3<BR>KeepEmptyLinesAtTheStartOfBlocks: true<BR>NamespaceIndentation: None<BR>ObjCBlockIndentWidth: 2<BR>ObjCSpaceAfterProperty: false<BR>ObjCSpaceBeforeProtocolList: true<BR>PenaltyBreakBeforeFirstCallParameter: 19<BR>PenaltyBreakComment: 100<BR>PenaltyBreakString: 1000<BR>PenaltyBreakFirstLessLess: 120<BR>PenaltyExcessCharacter: 1000000<BR>PenaltyReturnTypeOnItsOwnLine: 60<BR>PointerAlignment: Left<BR>SpacesBeforeTrailingComments: 1<BR>Cpp11BracedListStyle: true<BR>Standard:        Cpp11<BR>IndentWidth:     2<BR>TabWidth:        2<BR>UseTab:          Always<BR>BreakBeforeBraces: Allman<BR>SpacesInParentheses: false<BR>SpacesInSquareBrackets: false<BR>SpacesInAngles:  false<BR>SpaceInEmptyParentheses: false<BR>SpacesInCStyleCastParentheses: false<BR>SpaceAfterCStyleCast: false<BR>SpacesInContainerLiterals: true<BR>SpaceBeforeAssignmentOperators: true<BR>ContinuationIndentWidth: 2<BR>CommentPragmas:  '^ IWYU pragma:'<BR>ForEachMacros:   [ foreach, Q_FOREACH, BOOST_FOREACH]<BR>SpaceBeforeParens: ControlStatements<BR>DisableFormat:   false<BR>...<BR></DIV></BODY></HTML>