source-constraints 0.0.1 → 0.0.2
raw patch · 3 files changed
+21/−15 lines, 3 filesdep ~basedep ~ghc
Dependency ranges changed: base, ghc
Files
- source-constraints.cabal +9/−8
- src/SourceConstraints.hs +9/−4
- src/SourceConstraints/LocalModule.hs +3/−3
source-constraints.cabal view
@@ -4,10 +4,10 @@ -- -- see: https://github.com/sol/hpack ----- hash: 91a3bc64301e8157e58aa102b9090a7175351884011c0df8480f6971486b3ba3+-- hash: 7f4b65ce85cf869179da0d6dbb1879986a3279f7fb002c2254e841c7431f2818 name: source-constraints-version: 0.0.1+version: 0.0.2 synopsis: Source constraints GHC plugin description: Please visit the README at <https://github.com/mbj/source-constraints#readme> for usage information.@@ -19,6 +19,7 @@ copyright: 2018 Markus Schirp license: BSD3 license-file: LICENSE+tested-with: GHC ==8.8.4 || ==8.10.2 build-type: Simple extra-source-files: test/LocalModuleExplicitImport.hs@@ -47,14 +48,14 @@ Paths_source_constraints hs-source-dirs: src- default-extensions: DerivingStrategies GeneralizedNewtypeDeriving LambdaCase NoImplicitPrelude OverloadedStrings RecordWildCards ScopedTypeVariables Strict+ default-extensions: CPP DerivingStrategies GeneralizedNewtypeDeriving LambdaCase NoImplicitPrelude OverloadedStrings RecordWildCards ScopedTypeVariables Strict ghc-options: -Wall -Wcompat -Widentities -Wimplicit-prelude -Wincomplete-record-updates -Wincomplete-uni-patterns -Wmissing-exported-signatures -Wmissing-local-signatures -Wmonomorphism-restriction build-depends: attoparsec >=0.13 && <0.14- , base >=4.13 && <4.14+ , base >=4.13 && <4.14 || >=4.14 && <4.15 , bytestring >=0.10 && <0.11 , filepath >=1.4 && <1.5- , ghc >=8.8 && <8.9+ , ghc >=8.8 && <8.9 || >=8.10 && <8.11 , syb >=0.7 && <0.8 , text >=1.2 && <1.3 if flag(development)@@ -68,14 +69,14 @@ main-is: Spec.hs hs-source-dirs: test- default-extensions: DerivingStrategies GeneralizedNewtypeDeriving LambdaCase NoImplicitPrelude OverloadedStrings RecordWildCards ScopedTypeVariables Strict+ default-extensions: CPP DerivingStrategies GeneralizedNewtypeDeriving LambdaCase NoImplicitPrelude OverloadedStrings RecordWildCards ScopedTypeVariables Strict ghc-options: -Wall -Wcompat -Widentities -Wimplicit-prelude -Wincomplete-record-updates -Wincomplete-uni-patterns -Wmissing-exported-signatures -Wmissing-local-signatures -Wmonomorphism-restriction -rtsopts -threaded -with-rtsopts=-N build-depends: attoparsec >=0.13 && <0.14- , base >=4.13 && <4.14+ , base >=4.13 && <4.14 || >=4.14 && <4.15 , bytestring >=0.10 && <0.11 , filepath >=1.4 && <1.5- , ghc >=8.8 && <8.9+ , ghc >=8.8 && <8.9 || >=8.10 && <8.11 , ghc-paths >=0.1 && <0.2 , heredoc >=0.2 && <0.3 , hspec >=2.7 && <2.8
src/SourceConstraints.hs view
@@ -16,7 +16,6 @@ import Data.Function import Data.Generics.Aliases import Data.Generics.Text-import Data.List import Data.Maybe import Data.Ord import Data.Semigroup@@ -25,9 +24,13 @@ import Data.Tuple import DynFlags import ErrUtils+#if MIN_VERSION_GLASGOW_HASKELL(8,10,0,0)+import GHC.Hs+#else import HsDecls import HsExtension import HsSyn+#endif import HscTypes import Module hiding (Module) import Outputable hiding ((<>), empty)@@ -37,6 +40,8 @@ import System.FilePath.Posix import SourceConstraints.LocalModule +import qualified Data.List as List+ data Context = Context { dynFlags :: DynFlags , localModules :: [LocalModule]@@ -144,7 +149,7 @@ (text "Present import list for local module") candidates :: [LImportDecl GhcPs]- candidates = filter isCandidate hsmodImports+ candidates = List.filter isCandidate hsmodImports isCandidate :: LImportDecl GhcPs -> Bool isCandidate = \case@@ -242,6 +247,6 @@ candidates :: [((Located a, b), (Located a, b))] candidates = let items = (\node -> (node, ordering $ unLoc node)) <$> nodes- expected = sortBy (compare `on` snd) items+ expected = List.sortBy (compare `on` snd) items in- zip items expected+ List.zip items expected
src/SourceConstraints/LocalModule.hs view
@@ -12,8 +12,8 @@ import Data.Eq import Data.Function import Data.Semigroup-import Data.List import Module+import qualified Data.List as List newtype LocalModule = LocalModule ModuleName @@ -25,7 +25,7 @@ first <- section others <- many (char '.' *> section) - pure . mkModuleName $ first <> intercalate "." others+ pure . mkModuleName $ first <> List.intercalate "." others where section = (:) <$> satisfy isUpper <*> many (satisfy isLower) @@ -35,5 +35,5 @@ where prefixMatch = (moduleNameString localModuleName <> ".")- `isPrefixOf`+ `List.isPrefixOf` moduleNameString moduleName