Improve readability of imports

Problem:  In
          ```
          import qualified Foo.Bar as Bar
          import Foo.Bar (Bar)
          ```
          names of the imported modules are on different
          vertical lines, which disables autosorting,
          and makes it harder to read.

Solution: Use `ImportQualifiedPost`
This commit is contained in:
Kirill Andreev 2021-07-26 12:05:00 +04:00 committed by Андреев Кирилл
parent 2f9a9d8599
commit 92c3de5587
No known key found for this signature in database
GPG Key ID: CF7DA79DE4785A47
13 changed files with 31 additions and 30 deletions

View File

@ -7,7 +7,7 @@ module Main where
import Universum import Universum
import qualified Data.ByteString as BS import Data.ByteString qualified as BS
import Main.Utf8 (withUtf8) import Main.Utf8 (withUtf8)
import Xrefcheck.CLI (Command (..), getCommand) import Xrefcheck.CLI (Command (..), getCommand)

View File

@ -31,6 +31,7 @@ default-extensions:
- FlexibleInstances - FlexibleInstances
- FunctionalDependencies - FunctionalDependencies
- GeneralizedNewtypeDeriving - GeneralizedNewtypeDeriving
- ImportQualifiedPost
- LambdaCase - LambdaCase
- MultiParamTypeClasses - MultiParamTypeClasses
- MultiWayIf - MultiWayIf

View File

@ -21,9 +21,9 @@ module Xrefcheck.CLI
import Universum import Universum
import qualified Data.Char as C import Data.Char qualified as C
import qualified Data.List as L import Data.List qualified as L
import qualified Data.Text as T import Data.Text qualified as T
import Data.Version (showVersion) import Data.Version (showVersion)
import Options.Applicative import Options.Applicative
(Parser, ReadM, command, eitherReader, execParser, flag, flag', footerDoc, fullDesc, help, helper, (Parser, ReadM, command, eitherReader, execParser, flag, flag', footerDoc, fullDesc, help, helper,

View File

@ -14,14 +14,14 @@ import Universum
import Control.Exception (assert) import Control.Exception (assert)
import Control.Lens (makeLensesWith) import Control.Lens (makeLensesWith)
import Data.Aeson.TH (deriveFromJSON) import Data.Aeson.TH (deriveFromJSON)
import qualified Data.ByteString as BS import Data.ByteString qualified as BS
import qualified Data.Map as Map import Data.Map qualified as Map
import Data.Yaml (FromJSON (..), decodeEither', prettyPrintParseException, withText) import Data.Yaml (FromJSON (..), decodeEither', prettyPrintParseException, withText)
import Instances.TH.Lift () import Instances.TH.Lift ()
import Text.Regex.TDFA (CompOption (..), ExecOption (..), Regex) import Text.Regex.TDFA (CompOption (..), ExecOption (..), Regex)
import qualified Text.Regex.TDFA as R import Text.Regex.TDFA qualified as R
import Text.Regex.TDFA.ByteString () import Text.Regex.TDFA.ByteString ()
import qualified Text.Regex.TDFA.Text as R import Text.Regex.TDFA.Text qualified as R
-- FIXME: Use </> from System.FilePath -- FIXME: Use </> from System.FilePath
-- </> from Posix is used only because we cross-compile to Windows and \ doesn't work on Linux -- </> from Posix is used only because we cross-compile to Windows and \ doesn't work on Linux

View File

@ -14,11 +14,11 @@ import Universum
import Control.Lens (makeLenses, (%=)) import Control.Lens (makeLenses, (%=))
import Data.Aeson (FromJSON (..), withText) import Data.Aeson (FromJSON (..), withText)
import Data.Char (isAlphaNum) import Data.Char (isAlphaNum)
import qualified Data.Char as C import Data.Char qualified as C
import Data.Default (Default (..)) import Data.Default (Default (..))
import qualified Data.List as L import Data.List qualified as L
import qualified Data.Map as M import Data.Map qualified as M
import qualified Data.Text as T import Data.Text qualified as T
import Fmt (Buildable (..), blockListF, blockListF', nameF, (+|), (|+)) import Fmt (Buildable (..), blockListF, blockListF', nameF, (+|), (|+))
import System.Console.Pretty (Color (..), Style (..), color, style) import System.Console.Pretty (Color (..), Style (..), color, style)
import System.FilePath (isPathSeparator, pathSeparator) import System.FilePath (isPathSeparator, pathSeparator)

View File

@ -19,10 +19,10 @@ module Xrefcheck.Scan
import Universum import Universum
import Data.Aeson.TH (deriveFromJSON) import Data.Aeson.TH (deriveFromJSON)
import qualified Data.Foldable as F import Data.Foldable qualified as F
import qualified Data.Map as M import Data.Map qualified as M
import GHC.Err (errorWithoutStackTrace) import GHC.Err (errorWithoutStackTrace)
import qualified System.Directory.Tree as Tree import System.Directory.Tree qualified as Tree
import System.FilePath (dropTrailingPathSeparator, takeDirectory, takeExtension, (</>)) import System.FilePath (dropTrailingPathSeparator, takeDirectory, takeExtension, (</>))
import Xrefcheck.Core import Xrefcheck.Core

View File

@ -21,11 +21,11 @@ import CMarkGFM (Node (..), NodeType (..), PosInfo (..), commonmarkToNode)
import Control.Lens ((%=)) import Control.Lens ((%=))
import Control.Monad.Trans.Except (Except, runExcept, throwE) import Control.Monad.Trans.Except (Except, runExcept, throwE)
import Data.Aeson.TH (deriveFromJSON) import Data.Aeson.TH (deriveFromJSON)
import qualified Data.ByteString.Lazy as BSL import Data.ByteString.Lazy qualified as BSL
import Data.Char (isSpace) import Data.Char (isSpace)
import Data.Default (Default (..)) import Data.Default (Default (..))
import qualified Data.Text as T import Data.Text qualified as T
import qualified Data.Text.Lazy as LT import Data.Text.Lazy qualified as LT
import Fmt (Buildable (..), blockListF, nameF, (+|), (|+)) import Fmt (Buildable (..), blockListF, nameF, (+|), (|+))
import Xrefcheck.Core import Xrefcheck.Core

View File

@ -13,12 +13,12 @@ module Xrefcheck.System
import Universum import Universum
import Data.Aeson (FromJSON (..), withText) import Data.Aeson (FromJSON (..), withText)
import qualified Data.Char as C import Data.Char qualified as C
import GHC.IO.Unsafe (unsafePerformIO) import GHC.IO.Unsafe (unsafePerformIO)
import System.Directory (canonicalizePath) import System.Directory (canonicalizePath)
import System.Environment (lookupEnv) import System.Environment (lookupEnv)
import System.FilePath ((</>)) import System.FilePath ((</>))
import qualified System.FilePath.Glob as Glob import System.FilePath.Glob qualified as Glob
-- | We can quite safely treat surrounding filesystem as frozen, -- | We can quite safely treat surrounding filesystem as frozen,
-- so IO reading operations can be turned into pure values. -- so IO reading operations can be turned into pure values.

View File

@ -16,7 +16,7 @@ module Xrefcheck.Util
import Universum import Universum
import Control.Lens (LensRules, lensField, lensRules, mappingNamer) import Control.Lens (LensRules, lensField, lensRules, mappingNamer)
import qualified Data.Aeson as Aeson import Data.Aeson qualified as Aeson
import Data.Aeson.Casing (aesonPrefix, camelCase) import Data.Aeson.Casing (aesonPrefix, camelCase)
import Fmt (Builder, build, fmt, nameF) import Fmt (Builder, build, fmt, nameF)
import System.Console.Pretty (Pretty (..), Style (Faint)) import System.Console.Pretty (Pretty (..), Style (Faint))

View File

@ -27,13 +27,13 @@ import Universum
import Control.Concurrent.Async (wait, withAsync) import Control.Concurrent.Async (wait, withAsync)
import Control.Exception (throwIO) import Control.Exception (throwIO)
import Control.Monad.Except (MonadError (..)) import Control.Monad.Except (MonadError (..))
import qualified Data.ByteString as BS import Data.ByteString qualified as BS
import qualified Data.Map as M import Data.Map qualified as M
import qualified Data.Text as T import Data.Text qualified as T
import Data.Text.Metrics (damerauLevenshteinNorm) import Data.Text.Metrics (damerauLevenshteinNorm)
import Data.Traversable (for) import Data.Traversable (for)
import Fmt (Buildable (..), blockListF', listF, (+|), (|+)) import Fmt (Buildable (..), blockListF', listF, (+|), (|+))
import qualified GHC.Exts as Exts import GHC.Exts qualified as Exts
import Network.FTP.Client import Network.FTP.Client
(FTPException (..), FTPResponse (..), ResponseStatus (..), login, nlst, size, withFTP, withFTPS) (FTPException (..), FTPResponse (..), ResponseStatus (..), login, nlst, size, withFTP, withFTPS)
import Network.HTTP.Client (HttpException (..), HttpExceptionContent (..), responseStatus) import Network.HTTP.Client (HttpException (..), HttpExceptionContent (..), responseStatus)
@ -44,7 +44,7 @@ import Network.HTTP.Types.Status (Status, statusCode, statusMessage)
import System.Console.Pretty (Style (..), style) import System.Console.Pretty (Style (..), style)
import System.Directory (canonicalizePath, doesDirectoryExist, doesFileExist) import System.Directory (canonicalizePath, doesDirectoryExist, doesFileExist)
import System.FilePath (takeDirectory, (</>)) import System.FilePath (takeDirectory, (</>))
import qualified System.FilePath.Glob as Glob import System.FilePath.Glob qualified as Glob
import Text.Regex.TDFA.Text (Regex, regexec) import Text.Regex.TDFA.Text (Regex, regexec)
import Text.URI (Authority (..), URI (..), mkURI) import Text.URI (Authority (..), URI (..), mkURI)
import Time (RatioNat, Second, Time (..), ms, threadDelay, timeout) import Time (RatioNat, Second, Time (..), ms, threadDelay, timeout)

View File

@ -7,7 +7,7 @@ module Test.Xrefcheck.AnchorsInHeadersSpec where
import Universum import Universum
import qualified Data.ByteString.Lazy as BSL import Data.ByteString.Lazy qualified as BSL
import Test.Hspec (Spec, describe, it, shouldBe) import Test.Hspec (Spec, describe, it, shouldBe)
import Xrefcheck.Core import Xrefcheck.Core

View File

@ -8,9 +8,9 @@ module Test.Xrefcheck.ConfigSpec where
import Universum import Universum
import Control.Concurrent (forkIO, killThread) import Control.Concurrent (forkIO, killThread)
import qualified Control.Exception as E import Control.Exception qualified as E
import qualified Data.ByteString as BS import Data.ByteString qualified as BS
import Network.HTTP.Types (Status (..)) import Network.HTTP.Types (Status (..))
import Test.Hspec (Spec, before, describe, it, shouldBe) import Test.Hspec (Spec, before, describe, it, shouldBe)
import Test.QuickCheck (counterexample, ioProperty, once) import Test.QuickCheck (counterexample, ioProperty, once)

View File

@ -7,7 +7,7 @@ module Test.Xrefcheck.Util where
import Universum import Universum
import qualified Data.ByteString.Lazy as BSL import Data.ByteString.Lazy qualified as BSL
import Network.HTTP.Types (forbidden403, unauthorized401) import Network.HTTP.Types (forbidden403, unauthorized401)
import Web.Firefly (ToResponse (..), route, run) import Web.Firefly (ToResponse (..), route, run)