json2sg-0.0.1: src/Sugar/Json/Convert.hs
{-# LANGUAGE OverloadedStrings #-}
module Sugar.Json.Convert
( main
) where
import qualified Data.Aeson as Json
import qualified Data.ByteString.Lazy as LBS
import qualified Data.Text.IO as T
import System.IO (stdin, stderr, stdout)
import Sugar
import Sugar.Json () -- FromJSON Sugar instance
main :: IO ()
main = do
contents <- LBS.hGetContents stdin
case Json.decode' contents :: Maybe Sugar of
Nothing -> T.hPutStrLn stderr "Unable to parse JSON"
Just sg -> T.hPutStrLn stdout $ prettyPrintSugar sg