directory-layout-0.3.0.0: src/System/Directory/Layout.hs
-- | Language to express directory layouts
module System.Directory.Layout
( -- * Layout declaration
DL, Layout, file, file_, directory, directory_
-- * Layout traverses
, make, check
-- * Errors
, LayoutException(..)
) where
import Data.Default (def)
import Data.Text (Text)
import System.Directory.Layout.Internal (DL(..), Layout)
import System.Directory.Layout.Traverse (make, check)
import System.Directory.Layout.Errored (LayoutException(..))
-- | Declare file with specified contents
file :: FilePath -> Text -> Layout
file x t = F x (T t ()) def
{-# INLINE file #-}
-- | Declare empty file
file_ :: FilePath -> Layout
file_ x = F x def def
{-# INLINE file_ #-}
-- | Declare directory with specified listing
directory :: FilePath -> Layout -> Layout
directory x d = D x d def
{-# INLINE directory #-}
-- | Declare empty directory
directory_ :: FilePath -> Layout
directory_ x = D x def def
{-# INLINE directory_ #-}