-
Notifications
You must be signed in to change notification settings - Fork 40
Open
Labels
PVP: majorRequires a major version bumpRequires a major version bump
Description
Currently encloseSep is defined like
encloseSep l r s ds = case ds of
[] -> l <> r
[d] -> l <> d <> r
_ -> cat (zipWith (<>) (l : repeat s) ds) <> rTaking in mind that cat = group . vcat the last line is equivalent to
_ -> group (vcat (zipWith (<>) (l : repeat s) ds)) <> rThis works fine in case we want r to be in one line with last element:
[ 1
, 2
, 3 ]
But if we want it to be at the next line:
[ 1
, 2
, 3
]
it (with r = line <> "]") won't group correctly:
[ 1, 2, 3
]
since r is out of group scope in the current definition of encloseSep.
I propose to change last line in the definition of the encloseSep in such way, that r will be grouped in all cases:
encloseSep l r s ds = group $ case ds of
[] -> l <> r
[d] -> l <> d <> r
_ -> vcat (zipWith (<>) (l : repeat s) ds) <> rThis won't change behavior when r doesn't contain line (like list and tupled), but will produce better behavior in this case.
Metadata
Metadata
Assignees
Labels
PVP: majorRequires a major version bumpRequires a major version bump