module Initialiser.Initialisers
  ( defaultInitialiser,
  )
where

import qualified Cabal (replace)
import qualified File (replace)
import Initialiser.Types (Initialiser)
import qualified Licence (replace)
import System.FilePath ((</>))

defaultInitialiser :: Initialiser ()
defaultInitialiser :: Initialiser ()
defaultInitialiser = do
  (FilePath -> Initialiser ()) -> [FilePath] -> Initialiser ()
forall (t :: * -> *) (m :: * -> *) a b.
(Foldable t, Monad m) =>
(a -> m b) -> t a -> m ()
mapM_
    FilePath -> Initialiser ()
File.replace
    [ FilePath
"CHANGELOG.md",
      FilePath
".devcontainer" FilePath -> FilePath -> FilePath
</> FilePath
"devcontainer.json",
      FilePath
".github" FilePath -> FilePath -> FilePath
</> FilePath
"workflows" FilePath -> FilePath -> FilePath
</> FilePath
"haskell-ci.yml",
      FilePath
".vscode" FilePath -> FilePath -> FilePath
</> FilePath
"launch.json",
      FilePath
".vscode" FilePath -> FilePath -> FilePath
</> FilePath
"tasks.json"
    ]
  FilePath -> Initialiser ()
Licence.replace FilePath
"LICENSE"
  FilePath -> Initialiser ()
Cabal.replace FilePath
"templatise.cabal"

-- TODO README