| Safe Haskell | None |
|---|
System.Directory.Layout
Contents
Description
Language to express directory layouts
Layout declaration
Representation of directory layouts
Invariants:
directory_ :: FilePath -> LayoutSource
Declare empty directory
Layout traverses
Arguments
| :: Layout | |
| -> FilePath | Root directory |
| -> IO [LayoutException] | List of warnings |
Make layout as specified
For example, suppose you are in an empty directory
% tree .
and you've written simple layout:
layout = do
directory "baz" $
file_ "twey"
directory "foo" $ do
directory "bar" $ do
file_ "quuz"
file_ "tatata"
file_ "quux"
then running it should result in this directory tree:
% tree
.
├── baz
│ └── twey
└── foo
├── bar
│ ├── quuz
│ └── tatata
└── quux
Arguments
| :: Layout | |
| -> FilePath | Root directory |
| -> IO [LayoutException] | List of failures |
Check directory layout agrees with specified one
For example, suppose there is a tree:
% tree
.
├── baz
│ └── twey
└── foo
├── bar
│ ├── quuz
│ └── tatata
└── quux
then you can write:
layout = do
directory "baz" $
file_ "twey"
directory "foo" $ do
directory "bar" $ do
file_ "quuz"
file_ "tatata"
file_ "quux"
and running check layout "." should result in []
Errors
data LayoutException Source
Information about cought exceptions in various routines
Constructors
| CD IOErrorType FilePath |
|
| CF IOErrorType FilePath |
|
| FE IOErrorType FilePath |
|
| DE IOErrorType FilePath |
|
| RF IOErrorType FilePath Text |
|
Instances