nicklockwood / SwiftFormat

A command-line tool and Xcode Extension for formatting Swift code
MIT License
7.63k stars 623 forks source link

Option idea for rule `wrapMultilineConditionalAssignment` #1641

Open smartpie opened 3 months ago

smartpie commented 3 months ago

It would be helpful to have an option for rule wrapMultilineConditionalAssignment, so that it only works if the line length exceeds --maxwidth.

For example, our --maxwidth 100 if we have something like this

let state: CameraControlsUpperItem.State = if case .preview = previousState.screen, stage == .beforeAnimation {
  .preAnimation
} else {
  .normal
}

It will be formatted to:

let state: CameraControlsUpperItem.State =
  if case .preview = previousState.screen,
  stage == .beforeAnimation {
    .preAnimation
  } else {
    .normal
  }

But if we have:

let state: CameraControlsUpperItem.State = if case .preview = previousState.screen {
  .preAnimation
} else {
  .normal
}

It will remain the same, because line length is less than 100