Skip to content

haskell-align-imports doesn't work as advertised #183

Closed
@hvr

Description

@hvr

According to the commentary,

import One
import Two as A
import qualified Three
import qualified Four as PRELUDE
import Five (A)
import Six (A,B)
import qualified Seven (A,B)
import "abc" Eight
import "abc" Nine as TWO
import qualified "abc" Ten
import qualified "defg" Eleven as PRELUDE
import "barmu" Twelve (A)
import "zotconpop" Thirteen (A,B)
import qualified "z" Fourteen (A,B)
import Fifteen hiding (A)
import Sixteen as TWO hiding (A)
import qualified Seventeen hiding (A)
import qualified Eighteen as PRELUDE hiding (A)
import "abc" Nineteen hiding (A)
import "abc" Twenty as TWO hiding (A)

is supposed to be transformed into

import                  One
import                  Two       as A
import qualified        Three
import qualified        Four      as PRELUDE
import                  Five      (A)
import                  Six       (A,B)
import qualified        Seven     (A,B)
import "abc"            Eight
import "abc"            Nine      as TWO
import qualified "abc"  Ten
import qualified "defg" Eleven    as PRELUDE
import "barmu"          Twelve    (A)
import "zotconpop"      Thirteen  (A,B)
import qualified "z"    Fourteen  (A,B)
import                  Fifteen   hiding (A)
import                  Sixteen   as TWO hiding (A)
import qualified        Seventeen hiding (A)
import qualified        Eighteen  as PRELUDE hiding (A)
import "abc"            Nineteen  hiding (A)
import "abc"            Twenty    as TWO hiding (A)

However, the current implementation only aligns the module names:

import                  One
import                  Two as A
import qualified        Three
import qualified        Four as PRELUDE
import                  Five (A)
import                  Six (A,B)
import qualified        Seven (A,B)
import "abc"            Eight
import "abc"            Nine as TWO
import qualified "abc"  Ten
import qualified "defg" Eleven as PRELUDE
import "barmu"          Twelve (A)
import "zotconpop"      Thirteen (A,B)
import qualified "z"    Fourteen (A,B)
import                  Fifteen hiding (A)
import                  Sixteen as TWO hiding (A)
import qualified        Seventeen hiding (A)
import qualified        Eighteen as PRELUDE hiding (A)
import "abc"            Nineteen hiding (A)
import "abc"            Twenty as TWO hiding (A)

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions