dzen-dhall-1.0.2: src/DzenDhall.hs
module DzenDhall where
import DzenDhall.App
import DzenDhall.App.Run (useConfigurations)
import DzenDhall.Arguments
import DzenDhall.Commands.Plug
import DzenDhall.Commands.Unplug
import DzenDhall.Commands.Validate
import DzenDhall.Runtime
import qualified Paths_dzen_dhall as Paths
import Data.Version (showVersion)
import Lens.Micro
import Options.Applicative (execParser)
import qualified GHC.IO.Encoding
import qualified System.IO
main :: IO ()
main = do
GHC.IO.Encoding.setLocaleEncoding System.IO.utf8
arguments <- execParser argumentsParser
case arguments ^. mbCommand of
Nothing -> do
runtime <- readRuntime arguments
runApp runtime () do
useConfigurations
waitForExit
Just Init -> do
initCommand arguments
Just (Plug commandArgs) -> do
runtime <- readRuntime arguments
runApp runtime () do
plugCommand commandArgs
Just (Unplug commandArgs) -> do
runtime <- readRuntime arguments
runApp runtime () do
unplugCommand commandArgs
Just (Validate commandArgs) -> do
runtime <- readRuntime arguments
runApp runtime () (validateCommand commandArgs)
Just Version -> do
putStrLn $ "v" ++ showVersion Paths.version