You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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:
build-depends: base >=4&&<5
, yesod >=1.4.1&&<1.5
…
, classy-prelude >=0.10.2
…
, template-haskell
…
, unordered-containers
, containers
, vector
, time
-- extra
, lambdacms-core
, blaze-html
, wai
Now if I run haskell-cabal-subsection-arrange-lines it becomes:
build-depends: aeson >=0.6&&<0.10
, base >=4&&<5
…
, yesod-static >=1.4.0.3&&<1.6-- extra
, lambdacms-core
, blaze-html
, wai
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:
leave current behaviour: sort list until first comment
sort everything, move comments at the end of the list
sort comment lines with dependencies, there are at least two options:
assume comments are related to previous lines
assume comments are related to following lines
sort whole list by subsecions, where comment are assumed as subsection delimiters
I think all this scenarios could be covered by some optional parameter, defaulting to current behaviour.
What do you think?
The text was updated successfully, but these errors were encountered:
@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.
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?
The text was updated successfully, but these errors were encountered: