aboutsummaryrefslogtreecommitdiff
path: root/exe/Main.hs
blob: 4b40d1d937bff05d425d6890e2cf6851f13152ce (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
module Main where

import qualified Daffm
import qualified Daffm.Args as Args
import Daffm.Configuration (loadConfigFile)
import Daffm.Types
import Data.Maybe (fromMaybe)
import qualified Data.Text as Text
import System.Directory (getCurrentDirectory)
import System.Environment (getArgs)

main :: IO ()
main = getArgs >>= Args.parseArgs >>= evaluateArgs

evaluateArgs :: Args -> IO ()
evaluateArgs (Args {argsHelp = True}) = putStrLn Args.helpMenuContents
evaluateArgs (Args {argsDirOrFile, argsConfigFile}) = do
  cwd <- getCurrentDirectory
  config <- loadConfigFile argsConfigFile
  let initPath = fromMaybe (Text.pack cwd) argsDirOrFile
  Daffm.initApp initPath config