ennocramer / floskell

Floskell is a flexible Haskell source code pretty printer.
BSD 3-Clause "New" or "Revised" License
178 stars 22 forks source link

Top level type declarations don't line-break properly. #64

Open Philonous opened 3 years ago

Philonous commented 3 years ago

When setting "formatting"."layout"."type" to "vertical" or "try-oneline" (with a long declaration) and "formatting"."indent"."typesig": "indent-by 2"

I would expect the following formatting:

function
  :: Bool
  -> Int
  -> Double
  -> String
  -> [Int]
  -> Either (Maybe String) Bool
  -> IO Bool
function = undefined

However, floskell instead produces

function :: Bool
  -> Int
  -> Double
  -> String
  -> [Int]
  -> Either (Maybe String) Bool
  -> IO Bool
function = undefined

That is, the first Parameter is on the wrong line

setting "formatting"."indent"."typesig": "align" actually does produce the desired behaviour as long as the function name is 16 characters or longer.

This seems like a bug to me.