Open geraldus opened 8 years ago
This is relevant:
@geraldus: Your example is better formatted like this:
-- standard dependencies
build-depends: base >= 4 && < 5
, yesod >= 1.4.1 && < 1.5
…
, classy-prelude >= 0.10.2
…
, template-haskell
…
, unordered-containers
, containers
, vector
, time
-- extra dependencies
build-depends: lambdacms-core
, blaze-html
, wai
Then C-c C-s
can format whole value as is.
@gracjan indeed! I didn't know it is allowed to have several build-depends
sections, thanks! Ok, let's discuss "comments as comments" cases in this case.
My preference would be:
I think that captures the styles I see most often. But obviously we can't support all possible styles, so I'm fine with whatever you decide to implement. If you decide not to treat comments as section separators, I have a slight preference for comments describing the following line.
This is a tricky case I want to discuss. Consider following dependencies list of scaffolded Yesod application with three extra dependencies I've added manually at the end:
Now if I run
haskell-cabal-subsection-arrange-lines
it becomes:So, as you can see, everything till comment is rearranged as expected, but lines after comment leaved untouched. It is not matter where the point stands when re-arrange command is executed, the result is the same. In my current case I used comment to split dependency list into sections, but others can place comments for other needs. So, in my current case I expect the second section would be sorted independently of first one leaving comment as section separator (there is an easy way — wrap second section by region and call
sort-lines
).Definitely it would be better if
haskell-cabal-subsection-arrange-lines
to sort whole list, but it's not clear how to deal with comments. I can think of few scenarios:I think all this scenarios could be covered by some optional parameter, defaulting to current behaviour.
What do you think?