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)