Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

haskell-cabal: bad indentation with redundant leading comma #1826

Open
Commelina opened this issue Oct 1, 2023 · 5 comments · May be fixed by #1869
Open

haskell-cabal: bad indentation with redundant leading comma #1826

Commelina opened this issue Oct 1, 2023 · 5 comments · May be fixed by #1869

Comments

@Commelina
Copy link

Commelina commented Oct 1, 2023

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.

@andreasabel
Copy link
Member

Me too.

@Commelina
Copy link
Author

I attempted to fix the indentation for subsections with leading commas or multiple newlines. It should work as expected on the cases:

  build-depends:
         , base
         , text
  build-depends:


       base
     , text 

Do you have any idea? @andreasabel

@andreasabel
Copy link
Member

This looks good.

Do you have any idea? @andreasabel

What kind of input do you want from me? (Sorry, I fail to comprehend your question.)

@Commelina
Copy link
Author

Uh, I was just saying if the patch works for you. Sorry for my ambiguity!

@andreasabel
Copy link
Member

I am currently using the haskell-mode from MELPA so I cannot easily test a PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants