packages feed

nptools-0.2.2: color-diff.hs

import System.IO

color :: Int -> String -> String
color n = ("\^[["++) . shows n . ('m':) . (++ "\^[[m")

colorDiffLine :: String -> String
colorDiffLine xs@('+':_) = color 36 xs
colorDiffLine xs@('-':_) = color 35 xs
colorDiffLine xs         = xs

main :: IO ()
main = hSetEncoding stdin latin1 >>
       hSetEncoding stdout latin1 >>
       interact (unlines . map colorDiffLine . lines)