nix: Upgrade hsie tool to GHC 8.10.7
This commit is contained in:
+1
-1
@@ -110,7 +110,7 @@ rec {
|
|||||||
# Tooling for analyzing Haskell imports and exports.
|
# Tooling for analyzing Haskell imports and exports.
|
||||||
hsie =
|
hsie =
|
||||||
pkgs.callPackage nix/hsie {
|
pkgs.callPackage nix/hsie {
|
||||||
ghcWithPackages = pkgs.haskell.packages.ghc884.ghcWithPackages;
|
ghcWithPackages = pkgs.haskell.packages."${compiler}".ghcWithPackages;
|
||||||
};
|
};
|
||||||
|
|
||||||
### Tools
|
### Tools
|
||||||
|
|||||||
+7
-4
@@ -17,6 +17,7 @@ module Main (main) where
|
|||||||
import qualified Data.Aeson as JSON
|
import qualified Data.Aeson as JSON
|
||||||
import qualified Data.ByteString.Lazy.Char8 as LBS8
|
import qualified Data.ByteString.Lazy.Char8 as LBS8
|
||||||
import qualified Data.Csv as Csv
|
import qualified Data.Csv as Csv
|
||||||
|
import qualified Data.List as List
|
||||||
import qualified Data.Map as Map
|
import qualified Data.Map as Map
|
||||||
import qualified Data.Set as Set
|
import qualified Data.Set as Set
|
||||||
import qualified Data.Text as T
|
import qualified Data.Text as T
|
||||||
@@ -27,13 +28,14 @@ import qualified Language.Haskell.GHC.ExactPrint.Parsers as ExactPrint
|
|||||||
import qualified Options.Applicative as O
|
import qualified Options.Applicative as O
|
||||||
import qualified System.FilePath as FP
|
import qualified System.FilePath as FP
|
||||||
|
|
||||||
|
import Bag (bagToList)
|
||||||
import Data.Aeson.Encode.Pretty (encodePretty)
|
import Data.Aeson.Encode.Pretty (encodePretty)
|
||||||
import Data.Function ((&))
|
import Data.Function ((&))
|
||||||
import Data.List (intercalate)
|
import Data.List (intercalate)
|
||||||
import Data.Maybe (catMaybes, mapMaybe)
|
import Data.Maybe (catMaybes, mapMaybe)
|
||||||
import Data.Text (Text)
|
import Data.Text (Text)
|
||||||
import GHC.Generics (Generic)
|
import GHC.Generics (Generic)
|
||||||
import HsExtension (GhcPs)
|
import GHC.Hs.Extension (GhcPs)
|
||||||
import Module (moduleNameString)
|
import Module (moduleNameString)
|
||||||
import OccName (occNameString)
|
import OccName (occNameString)
|
||||||
import RdrName (rdrNameOcc)
|
import RdrName (rdrNameOcc)
|
||||||
@@ -201,8 +203,9 @@ parseModule filepath = do
|
|||||||
case result of
|
case result of
|
||||||
Right (_, hsmod) ->
|
Right (_, hsmod) ->
|
||||||
return $ GHC.unLoc hsmod
|
return $ GHC.unLoc hsmod
|
||||||
Left (loc, err) ->
|
Left errs ->
|
||||||
fail $ "Error with " <> show filepath <> " at " <> show loc <> ": " <> err
|
fail $ "Errors with " <> show filepath <> ":\n "
|
||||||
|
<> List.intercalate "\n " (show <$> bagToList errs)
|
||||||
|
|
||||||
-- | Symbols imported in an import declaration.
|
-- | Symbols imported in an import declaration.
|
||||||
--
|
--
|
||||||
@@ -223,7 +226,7 @@ importSymbols source filepath GHC.ImportDecl{..} =
|
|||||||
, impSource = source
|
, impSource = source
|
||||||
, impFromModule = T.pack $ moduleFromPath filepath
|
, impFromModule = T.pack $ moduleFromPath filepath
|
||||||
, impModule = T.pack . moduleNameString . GHC.unLoc $ ideclName
|
, impModule = T.pack . moduleNameString . GHC.unLoc $ ideclName
|
||||||
, impQualified = if ideclQualified then Qualified else NotQualified
|
, impQualified = if ideclQualified /= GHC.NotQualified then Qualified else NotQualified
|
||||||
, impAlias = T.pack . moduleNameString . GHC.unLoc <$> ideclAs
|
, impAlias = T.pack . moduleNameString . GHC.unLoc <$> ideclAs
|
||||||
, impInternal = External
|
, impInternal = External
|
||||||
, impType = hiding
|
, impType = hiding
|
||||||
|
|||||||
Reference in New Issue
Block a user