haskell-mode icon indicating copy to clipboard operation
haskell-mode copied to clipboard

haskell-cabal: bad indentation with redundant leading comma

Open Commelina opened this issue 2 years ago • 5 comments
trafficstars

As the Cabal document says, Cabal allows redundant leading (and trailing) commas since 2.2. And some tools such as cabal-fmt use leading commas by default. However, the indentation of such leading commas does not work very well. For example,

build-depends:
        , bar
, foo

When indenting the last line, we may expect

build-depends:
        , bar
        , foo

However, haskell-cabal-indent-line gives

build-depends:
        , bar
      , foo

This is a little annoying. I am not sure if this is caused by my incorrect usage. However, I tried checking if there was a leading comma before indenting and taking different indent strategies, which worked as expected. (Of course, there are still corner cases such as multiple blank lines. But the origin code does not handle them very well either...) I will make a PR if it is OK.

Commelina avatar Oct 01 '23 20:10 Commelina