1
1
mirror of https://github.com/tweag/ormolu.git synced 2024-09-11 13:16:13 +03:00
ormolu/app/Main.hs

31 lines
807 B
Haskell
Raw Normal View History

2018-11-25 16:34:28 +03:00
module Main (main) where
import Control.Monad
import Ormolu.Parser
2018-12-08 17:39:42 +03:00
import Ormolu.Printer
import System.Environment (getArgs)
import qualified Data.Text.IO as TIO
import qualified Outputable as GHC
2018-11-25 16:34:28 +03:00
main :: IO ()
main = do
(path:_) <- getArgs
input <- readFile path
(ws, r) <- parseModule [] path input
unless (null ws) $
putStrLn "dynamic option warnings:"
case r of
Left (srcSpan, err) -> do
putStrLn (showOutputable srcSpan)
putStrLn err
Right (anns, parsedModule) -> do
putStrLn "\nannotations:\n"
putStrLn (showOutputable anns)
putStrLn "\nparsed module:\n"
putStrLn (showOutputable parsedModule)
TIO.putStr (printModule anns parsedModule)
2018-12-08 17:39:42 +03:00
showOutputable :: GHC.Outputable o => o -> String
showOutputable = GHC.showSDocUnsafe . GHC.ppr