hoogle 5.0.17.2 → 5.0.17.3
raw patch · 7 files changed
+22/−33 lines, 7 filesdep ~extraPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: extra
API changes (from Hackage documentation)
Files
- CHANGES.txt +3/−0
- README.md +3/−0
- hoogle.cabal +2/−2
- src/Action/Generate.hs +2/−2
- src/Action/Search.hs +3/−2
- src/General/Util.hs +2/−22
- src/Output/Tags.hs +7/−5
CHANGES.txt view
@@ -1,5 +1,8 @@ Changelog for Hoogle +5.0.17.3, released 2018-04-17+ Require extra-1.6.6+ Fix the reported memory sizes 5.0.17.2, released 2018-03-16 Remove support for GHC 7.10 Require conduit-1.3.0
README.md view
@@ -93,6 +93,9 @@ [Ubiquity](https://wiki.mozilla.org/Labs/Ubiquity) provides a graphical command-line for Firefox. To install the Ubiquity Hoogle command, visit the [this page](http://www.randomhacks.net/git/ubiquity/hoogle/) and click "Subscribe..." when asked whether you want to install it. Further information is available [here](http://www.randomhacks.net/articles/2008/09/01/ubiquitous-hoogle). +## Others++* [Doc Browser](https://github.com/qwfy/doc-browser) ### The Source Code
hoogle.cabal view
@@ -1,7 +1,7 @@ cabal-version: >= 1.18 build-type: Simple name: hoogle-version: 5.0.17.2+version: 5.0.17.3 license: BSD3 license-file: LICENSE category: Development@@ -64,7 +64,7 @@ containers >= 0.5, deepseq, directory,- extra >= 1.4,+ extra >= 1.6.6, filepath, old-locale, haskell-src-exts >= 1.18 && < 1.21,
src/Action/Generate.hs view
@@ -125,7 +125,7 @@ files <- concatMapM listFilesRecursive dirs -- We reverse/sort the list because of #206 -- Two identical package names with different versions might be foo-2.0 and foo-1.0- -- We never distinguish on versions, so they are considered equal when reodering+ -- We never distinguish on versions, so they are considered equal when reordering -- So put 2.0 first in the list and rely on stable sorting. A bit of a hack. let order a = second Down $ parseTrailingVersion a let packages = map (takeBaseName &&& id) $ sortOn (map order . splitDirectories) $ filter ((==) ".txt" . takeExtension) files@@ -255,7 +255,7 @@ return [(a,b) | (a,bs) <- xs, b <- bs] itemsMemory <- getStatsCurrentLiveBytes- xs <- timed timing "Reodering items" $ return $! reorderItems settings (\s -> maybe 1 negate $ Map.lookup s popularity) xs+ xs <- timed timing "Reordering items" $ return $! reorderItems settings (\s -> maybe 1 negate $ Map.lookup s popularity) xs timed timing "Writing tags" $ writeTags store (`Set.member` want) (\x -> maybe [] (map (both T.unpack) . packageTags) $ Map.lookup x cbl) xs timed timing "Writing names" $ writeNames store xs timed timing "Writing types" $ writeTypes store (if debug then Just $ dropExtension database else Nothing) xs
src/Action/Search.hs view
@@ -54,7 +54,7 @@ -- | Returns the details printed out when hoogle --info is called targetInfo :: Target -> String-targetInfo Target{..} = +targetInfo Target{..} = unlines $ [ unHTML targetItem ] ++ [ unwords packageModule | not $ null packageModule] ++ [ unHTML targetDocs ]@@ -117,6 +117,7 @@ "base" === hackage "base" "Prelude" === hackage "base/docs/Prelude.html" "map" === hackage "base/docs/Prelude.html#v:map"+ "map is:ping" === hackage "base/docs/Prelude.html#v:map" "map package:base" === hackage "base/docs/Prelude.html#v:map" noResults "map package:package-not-in-db" noResults "map module:Module.Not.In.Db"@@ -130,7 +131,7 @@ "Action package:shake" === "https://hackage.haskell.org/package/shake/docs/Development-Shake.html#t:Action" "Action package:shake set:stackage" === "https://hackage.haskell.org/package/shake/docs/Development-Shake.html#t:Action" "map -package:base" ==$ \x -> not $ "/base/" `isInfixOf` x- "<>" === hackage "base/docs/Data-Monoid.html#v:-60--62-"+ "<>" === hackage "base/docs/Prelude.html#v:-60--62-" "Data.Set.insert" === hackage "containers/docs/Data-Set.html#v:insert" "Set.insert" === hackage "containers/docs/Data-Set.html#v:insert" "Prelude.mapM_" === hackage "base/docs/Prelude.html#v:mapM_"
src/General/Util.hs view
@@ -63,9 +63,9 @@ showMb :: (Show a, Integral a) => a -> String #if RTS_STATS-showMb x = show x ++ "Mb"+showMb x = show (x `div` (1024*1024)) ++ "Mb" #else-showMb x = show (x `mod` (1024*1024)) ++ "Mb"+showMb x = show x ++ "Mb" #endif @@ -199,26 +199,6 @@ f Done = [] f (Fail e) = error $ "tarballReadFiles on " ++ file ++ ", " ++ show e ---- | Take a piece of text and escape all the HTML special bits-escapeHTML :: String -> String-escapeHTML = concatMap f- where- f '<' = "<"- f '>' = ">"- f '&' = "&"- f '\"' = """- f x = [x]---- | Only guarantees to be the inverse of escapeHTML-unescapeHTML :: String -> String-unescapeHTML ('&':xs)- | Just xs <- stripPrefix "lt;" xs = '<' : unescapeHTML xs- | Just xs <- stripPrefix "gt;" xs = '>' : unescapeHTML xs- | Just xs <- stripPrefix "amp;" xs = '&' : unescapeHTML xs- | Just xs <- stripPrefix "quot;" xs = '\"' : unescapeHTML xs-unescapeHTML (x:xs) = x : unescapeHTML xs-unescapeHTML [] = [] innerTextHTML :: String -> String innerTextHTML ('<':xs) = innerTextHTML $ drop 1 $ dropWhile (/= '>') xs
src/Output/Tags.hs view
@@ -81,11 +81,13 @@ parseTag :: String -> String -> Maybe Tag parseTag k v- | k ~~ "is", v ~~ "exact" = Just IsExact- | k ~~ "is", v ~~ "package" = Just IsPackage- | k ~~ "is", v ~~ "module" = Just IsModule- | k ~~ "package", v /= "" = Just $ EqPackage v- | k ~~ "module", v /= "" = Just $ EqModule v+ | k ~~ "is" = case () of+ _ | v ~~ "exact" -> Just IsExact+ | v ~~ "package" -> Just IsPackage+ | v ~~ "module" -> Just IsModule+ | otherwise -> Nothing+ | k ~~ "package" = if v == "" then Nothing else Just $ EqPackage v+ | k ~~ "module" = if v == "" then Nothing else Just $ EqModule v | v /= "" = Just $ EqCategory k v | otherwise = Nothing where