<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/85954>85954</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[clang-format] feature request: introduce break level/priority when do the long line breaking.
</td>
</tr>
<tr>
<th>Labels</th>
<td>
clang-format
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
asanoic
</td>
</tr>
</table>
<pre>
for a very long line:
```
long_return_type_name long_class_name::long_method_name(long_parameter_type_1 arg1, long_parameter_type_2 arg2, long_parameter_type_3 arg3);
```
it can be break in multiple ways, like:
1. (break after return type first)
```
long_return_type_name
long_class_name::long_method_name(long_parameter_type_1 arg1, long_parameter_type_2 arg2, long_parameter_type_3 arg3);
```
2. (break parameters first)
```
long_return_type_name long_class_name::long_method_name(
long_parameter_type_1 arg1, long_parameter_type_2 arg2, long_parameter_type_3 arg3);
```
if we have level property for break options, we can have more precise format control for our source code.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzMVN1unDwQfRpzMwoyNmzggovki_Y1VsYM4C_GpmOzq337yiZtUimVot600mqRPWd-ztHxqBDM7BB71jyz5qVQe1w89Soo540uBj_e-8kTKLgi3cF6N4M1Dpl8YvyF8Sd24m-_fEyAC2HcyV3ifcOLUyvmtIu2KoR8TsnygK4YFz8et6LNV5sitWJEOgpUoGiumPgPPouKFBW_i8oUlUx0TD5_Ou7xbyJo5WBAGAjVKxgH626j2SzCTd1DLm9e30lXJTDRHmA1RSQ4KEPqCpOhEFPTLwv0IfTvqiQ-kP5ZIfwB2y_b4UONv2CKCW4Ii7oiWLyihY38hhTvkN7DIYPfovEu--OG2UMZv3pC2Ai1CZjQq4qgvYvkbU72O0HwO2kE7Ucsj4bF2Muxk50qsK8eK941vD7JYumlmEYuhkrXXXXqRKN4q5uWt7oa2kqMujC94KLmUvDqxCsuS951Uk91y1uBHNUjqzmuytjS2utaepoLE8KOfdt0TV1YNaANeQMIoa1y88MxNBMi7QTqU9rDsM-B1dyaEMN7oWiixR5Y8_xLZvMCE6q4EwLhtx1DZPIJTNJg3PWPh5aFZeK8kfFk4h1uCzoYPcQF33fNATZuLoudbL_EuIXkGXFm4jybuOxDqf3KxDlN9fZ52Mj_jzoycc5cAxPnTPd7AAAA__9IDZ5O">