ghc-imported-from 0.3.0.3 → 0.3.0.4
raw patch · 4 files changed
+21/−5 lines, 4 filesdep +pipes-transduce
Dependencies added: pipes-transduce
Files
- Language/Haskell/GhcImportedFrom.hs +13/−2
- changelog.md +4/−0
- ghc-imported-from.cabal +2/−1
- stack.yaml +2/−2
Language/Haskell/GhcImportedFrom.hs view
@@ -50,6 +50,7 @@ import Control.Applicative import Control.Monad+import Data.Char (isAlpha) import Data.List import Data.Maybe import Data.Typeable()@@ -991,9 +992,19 @@ qualifyName :: [QualifiedName] -> Symbol -> QualifiedName qualifyName qualifiedNames name- = case filter (postfixMatch name) qualifiedNames of+ -- = case filter (postfixMatch name) qualifiedNames of+ = case filter (name `f`) qualifiedNames of [match] -> match- _ -> error $ "Could not qualify " ++ name ++ " from these exports: " ++ show qualifiedNames+ m -> error $ "Could not qualify " ++ name ++ " from these exports: " ++ show qualifiedNames ++ "\n matches: " ++ show m++ -- Time for some stringly typed rubbish. The previous test used+ -- postfixMatch but this failed on an import that had "hiding (lines, unlines)" since+ -- both lines and unlines matched. Prepending a dot doesn't work due to things like ".=" from+ -- Control.Lens. So we manually check that the suffix matches, that the next symbol is a dot,+ -- and then an alpha character, which hopefully is the end of a module name. Such a mess.+ where f n qn = if length qn - length n - 2 >= 0+ then n `isSuffixOf` qn && isAlpha (qn !! (length qn - length n - 2)) && (qn !! (length qn - length n - 1)) == '.'+ else error $ "Internal error: trying to check if \"" ++ n ++ "\" is a match for \"" ++ qn ++ "\"" refineExportsIt :: String -> [ModuleExports] -> [ModuleExports] refineExportsIt symbol exports = map (\e -> e { qualifiedExports = f symbol e }) exports
changelog.md view
@@ -1,3 +1,7 @@+2016-04-05 v0.3.0.4++* Bugfix: upper bound on pipes-transduce to fix a build error.+ 2016-04-04 v0.3.0.3 * Bugfix: was parsing stderr instead of stdout for some 'stack path' commands.
ghc-imported-from.cabal view
@@ -1,5 +1,5 @@ name: ghc-imported-from-version: 0.3.0.3+version: 0.3.0.4 synopsis: Find the Haddock documentation for a symbol. description: Given a Haskell module and symbol, determine the URL to the Haddock documentation for that symbol.@@ -47,6 +47,7 @@ , hspec , hspec-discover , exceptions+ , pipes-transduce < 0.3.4.0 if impl(ghc < 7.7) Build-Depends: Cabal >= 1.10 && < 1.17 else
stack.yaml view
@@ -6,5 +6,5 @@ - conceit-0.4.0.0 - pipes-text-0.0.1.0 - process-streaming-0.9.1.0-- pipes-transduce-0.3.4.0-resolver: lts-5.10+- pipes-transduce-0.3.3.0+resolver: lts-5.11