highlight-versions 0.1.1.0 → 0.1.2.0
raw patch · 3 files changed
+14/−6 lines, 3 filesdep ~Cabal
Dependency ranges changed: Cabal
Files
- CHANGES +5/−0
- highlight-versions.cabal +2/−2
- src/Highlight.hs +7/−4
CHANGES view
@@ -1,3 +1,8 @@+* 0.1.2.0: 31 August 2012++ - Ignore whitespace at the start of each line+ - Bump Cabal dependency+ * 0.1.1.0: 25 August 2012 - Highlight package identifiers even if more stuff comes after them
highlight-versions.cabal view
@@ -1,5 +1,5 @@ name: highlight-versions-version: 0.1.1.0+version: 0.1.2.0 synopsis: Highlight package versions which differ from the latest version on Hackage description: This package provides an executable which reads from@@ -36,7 +36,7 @@ build-depends: base >= 4 && < 5, containers >= 0.4 && < 0.6, hackage-db ==1.3.*,- Cabal ==1.14.*,+ Cabal >= 1.14 && < 1.17, ansi-terminal ==0.5.* hs-source-dirs: src default-language: Haskell2010
src/Highlight.hs view
@@ -22,19 +22,22 @@ -- the latest Hackage release in blue. highlightOutdated :: Hackage -> String -> IO () highlightOutdated db s = do- let (p,rest) = break isSpace s+ let (sp,l) = span isSpace s+ (p,rest) = break isSpace l -- try to parse the beginning of the line as a package identifier (like foo-1.3.2)++ putStr sp case simpleParse p of- Nothing -> putStrLn s+ Nothing -> putStrLn l Just pkgId -> -- look up this package name in the Hackage DB case (M.lookup (getPkgName pkgId) db) of- Nothing -> putStrLn s+ Nothing -> putStrLn l Just versions -> do -- get the latest version and compare it to the stated version let latest = maximum . P.map fst . M.assocs $ versions case compare (pkgVersion pkgId) latest of- EQ -> putStrLn s+ EQ -> putStrLn l LT -> doHighlight p latest Red rest -- show outdated versions in red GT -> doHighlight p latest Cyan rest -- show newer versions in cyan