{-# LANGUAGE LambdaCase #-}
module Main where
import qualified Data.Attoparsec.Text
import qualified Data.Text.IO
import qualified Data.Text.Lazy.Builder
import qualified Data.Text.Lazy.IO
import qualified System.Environment
import qualified Nix.NarInfo
main :: IO ()
main = System.Environment.getArgs >>= \case
[filename] -> do
txt <- Data.Text.IO.readFile filename
case
Data.Attoparsec.Text.parseOnly
Nix.NarInfo.parseNarInfo
txt
of
Left e -> error e
Right ni ->
Data.Text.Lazy.IO.putStr
$ Data.Text.Lazy.Builder.toLazyText
$ Nix.NarInfo.buildNarInfo ni
_ -> error "No input narinfo file"