import qualified Data.Conf as Conf import qualified Data.Conf.PrettyPrint as Conf import qualified Data.Text.IO as Text (readFile) import System.Environment (getArgs) import System.Exit (exitFailure) import System.IO import qualified Text.Megaparsec as Megaparsec main :: IO () main = do as <- getArgs case as of (filePath:_) -> do contents <- Text.readFile filePath case Megaparsec.parse Conf.conf filePath contents of Left err -> hPrint stderr err Right ast -> print (Conf.pPrint ast) _ -> do hPutStrLn stderr "Usage: conffmt " exitFailure