-
Notifications
You must be signed in to change notification settings - Fork 87
Open
Labels
styleNitpicking and things related to purely visual aspect for formatting.Nitpicking and things related to purely visual aspect for formatting.
Description
Here's an example of an import block formatted with Ormolu:
module MyPackage where
import qualified Data.Primitive.ByteArray as ByteArray
import qualified Data.Text.Array as Array
import MyPackage.Classes (SomeClass(..))
import MyPackage.Prelude
import qualified MyPackage.TextCompat.Array as Array
data SomeTypeImportQualifiedPost version
module MyPackage where
import Data.Primitive.ByteArray qualified as ByteArray
import Data.Text.Array qualified as Array
import MyPackage.Classes (SomeClass(..))
import MyPackage.Prelude
import MyPackage.TextCompat.Array qualified as Array
data SomeTypeI suggest to visually separate the imports into qualified and unqualified blocks:
module MyPackage where
import MyPackage.Classes (SomeClass(..))
import MyPackage.Prelude
import qualified Data.Primitive.ByteArray as ByteArray
import qualified Data.Text.Array as Array
import qualified MyPackage.TextCompat.Array as Array
data SomeTypeImportQualifiedPost version
module MyPackage where
import MyPackage.Classes (SomeClass(..))
import MyPackage.Prelude
import Data.Primitive.ByteArray qualified as ByteArray
import Data.Text.Array qualified as Array
import MyPackage.TextCompat.Array qualified as Array
data SomeTypeWhy?
- It removes the annoying chaotic jumps before module names, caused by the
qualifiedkeyword. - It clearly separates qualified and unqualified imports, which is especially useful in case of
ImportQualifiedPost, because the type of import is no longer immediately distinguishable.
Metadata
Metadata
Assignees
Labels
styleNitpicking and things related to purely visual aspect for formatting.Nitpicking and things related to purely visual aspect for formatting.