Wrapping

Controls how Curb breaks long lines: dot-chain wrapping, binary-expression wrapping, parameter and argument list chopping, attribute placement, and initialiser style. Most wrapping options are active only in deterministic mode (max_line_length set).

csharp_empty_block_style
How an empty method, constructor, accessor or control-flow body is laid out. together_same_line keeps { } on the signature's line. Defaults to `(not set)`
csharp_keep_existing_linebreaks
Preservation mode. Defaults to true when max_line_length is off. Defaults to `(derived from max_line_length)`
csharp_max_array_initializer_elements_on_line
Chop an array initializer carrying more than this many elements. Defaults to `(not set)`
csharp_max_chained_method_calls_on_line
Chop a chain carrying more than this many calls, regardless of width. Deterministic mode only. Defaults to `(not set)`
csharp_max_formal_parameters_on_line
Chop a parameter list carrying more than this many parameters, regardless of width. Defaults to `(not set)`
csharp_max_initializer_elements_on_line
Chop an initializer carrying more than this many elements. Defaults to `(not set)`
csharp_max_invocation_arguments_on_line
Chop an argument list carrying more than this many arguments. Defaults to `(not set)`
csharp_place_constructor_initializer_on_same_line
Keep : base(...) on the constructor's line rather than giving it its own. Defaults to `true`
csharp_place_event_attribute_on_same_line
Where an event's attribute section goes. Defaults to `own_line`
csharp_place_field_attribute_on_same_line
Where a field's attribute section goes. Defaults to `own_line`
csharp_place_method_attribute_on_same_line
Where a method's attribute section goes. if_owner_is_single_line joins it when the method fits on one line. Deterministic mode only. Defaults to `own_line`
csharp_place_property_attribute_on_same_line
Where a property's attribute section goes. Defaults to `own_line`
csharp_place_simple_accessorholder_on_single_line
Allow { get; set; } to stay on the property's line. Defaults to `true`
csharp_place_simple_blocks_on_single_line
The same, for a lambda or anonymous method's block body. Defaults to `false`
csharp_place_simple_declaration_blocks_on_single_line
Collapse a method, constructor, operator, destructor, local function or accessor body onto one line when it holds a single statement with no comment and the result fits. Defaults to `false`
csharp_place_simple_enum_on_single_line
Allow a short enum body to stay on one line. Defaults to `true`
csharp_preserve_single_line_blocks
Allow a block the author wrote on one line to stay on one line. Defaults to `true`
csharp_preserve_single_line_statements
Allow a control-flow body the author left on its header's line to stay there. Chained using statements are the exception and take their own lines unless this key is written out and set to true. Defaults to `true`
csharp_wrap_after_dot_in_method_calls
When a chain breaks, leave the dot at the end of the preceding line. Defaults to `false`
csharp_wrap_arguments_style
chop_always gives every argument its own line; wrap_if_long packs arguments instead. Only honoured in deterministic mode (max_line_length set). Defaults to `chop_if_long`
csharp_wrap_before_arrow_with_expressions
When an expression body wraps, put => at the start of the new line. Defaults to `false`
csharp_wrap_before_binary_opsign
When a binary chain breaks, start the new line with the operator. Defaults to `true`
csharp_wrap_before_declaration_rpar
Put a broken parameter list's ) on its own line. Defaults to `(not set)`
csharp_wrap_before_extends_colon
Put a base list on its own line, colon first. Defaults to `false`
csharp_wrap_before_first_method_call
When a chain breaks, break before the first call too, leaving the receiver on its own line. Defaults to `(not set)`
csharp_wrap_before_first_type_parameter_constraint
Put a where clause on its own line. Defaults to `false`
csharp_wrap_before_invocation_rpar
Put a broken argument list's ) on its own line. Defaults to `(not set)`
csharp_wrap_chained_binary_expressions
Break each operand of a long && or || chain onto its own line. chop_always breaks regardless of width; wrap_if_long packs operands instead of breaking every one. Only honoured in deterministic mode (max_line_length set). Defaults to `(not set)`
csharp_wrap_chained_method_calls
Break a chain of three or more calls onto its own line per call once it does not fit. Curb's default behaviour either way; setting the key only makes it explicit. Defaults to `chop_if_long`
csharp_wrap_object_and_collection_initializer_style
chop_always gives every initializer element its own line. Only honoured in deterministic mode. wrap_if_long is not offered: dotnet format forces one member per line once an initializer opens out, so a packed layout could never stay put. Defaults to `chop_if_long`
csharp_wrap_parameters_style
chop_always gives every parameter its own line regardless of width; wrap_if_long packs parameters instead. wrap_if_long is only honoured in deterministic mode (max_line_length set) — chop_always and chop_if_long work in either. Defaults to `chop_if_long`