directory-layout-0.1.0.0: src/System/Directory/Layout.hs
{-# LANGUAGE UnicodeSyntax #-}
module System.Directory.Layout
( -- * Layout declaration
DL, Layout, file, file_, directory, directory_
-- * Layout construction
, DLMakeWarning(..), make
-- * Layout verification
, DLCheckFailure(..), check
-- * Layout parsers
, layout, layout'
) where
import Data.Text (Text)
import System.Directory.Layout.Internal (DL(..), Layout)
import System.Directory.Layout.Check (DLCheckFailure(..), check)
import System.Directory.Layout.Make (DLMakeWarning(..), make)
import System.Directory.Layout.Parser (layout, layout')
-- | Declare file with specified contents
file ∷ FilePath → Text → Layout
file x c = F x (Just c) (return ())
-- | Declare empty file
file_ ∷ FilePath → Layout
file_ x = F x Nothing (return ())
-- | Declare directory with specified listing
directory ∷ FilePath → Layout → Layout
directory x d = D x d (return ())
-- | Declare empty directory
directory_ ∷ FilePath → Layout
directory_ x = D x (return ()) (return ())