packages feed

VRML-0.1.0.0: app/vrml2haskell.hs

{-# LANGUAGE DeriveAnyClass #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE OverloadedStrings #-}

module Main where

import Data.VRML
import System.Environment
import Text.Pretty.Simple
import Text.Pretty.Simple.Internal.OutputPrinter
import Text.Megaparsec
import Control.Monad (void)
  
myPrint =
  pPrintOpt
  NoCheckColorTty
  ( OutputOptions
    { outputOptionsIndentAmount = 2
    , outputOptionsColorOptions = Nothing
    , outputOptionsEscapeNonPrintable = True
    }
  )

main :: IO ()
main = do
  args <- getArgs
  f <- readFile (head args)
  case parse parseVRML "" f of
    Right v -> myPrint v
    Left _ -> void $ parseTest parseVRML f