module Main ( main ) where import System.Directory as Directory import qualified Control.Monad.Trans.Reader as Reader import qualified Data.Set as Set import qualified Text.Parsec as Parsec import qualified Path as Path import Ubc.Parse.Syntax.Config (Config(..)) import qualified Ubc.Parse.Syntax.File as File minimalConfig :: IO Config minimalConfig = do workingDir <- Directory.getCurrentDirectory >>= Path.parseAbsDir pure $ Config (Set.singleton workingDir) main :: IO () main = do text <- getContents -- fixme: handle errors? parseConfig <- minimalConfig result <- Reader.runReaderT (Parsec.runPT (File.parse <* Parsec.eof) () "" text) parseConfig print $ result -- print $ Parsec.parse (File.parse <* Parsec.eof) "" text