darcs-2.10.0: a distributed, interactive, smart revision control system

Safe HaskellNone
LanguageHaskell2010

Darcs.Patch.ApplyMonad

Synopsis

Documentation

class (Functor m, Monad m, Functor (ApplyMonadBase m), Monad (ApplyMonadBase m), ToTree state) => ApplyMonad m state where Source

Associated Types

type ApplyMonadBase m :: * -> * Source

Methods

nestedApply :: m x -> state (ApplyMonadBase m) -> m (x, state (ApplyMonadBase m)) Source

liftApply :: (state (ApplyMonadBase m) -> ApplyMonadBase m x) -> state (ApplyMonadBase m) -> m (x, state (ApplyMonadBase m)) Source

getApplyState :: m (state (ApplyMonadBase m)) Source

putApplyState :: state m -> m () Source

editFile :: (state ~ ObjectMap) => UUID -> (ByteString -> ByteString) -> m () Source

editDirectory :: (state ~ ObjectMap) => UUID -> (DirContent -> DirContent) -> m () Source

mDoesDirectoryExist :: (state ~ Tree) => FileName -> m Bool Source

mDoesFileExist :: (state ~ Tree) => FileName -> m Bool Source

mReadFilePS :: (state ~ Tree) => FileName -> m ByteString Source

mReadFilePSs :: (state ~ Tree) => FileName -> m [ByteString] Source

mCreateDirectory :: (state ~ Tree) => FileName -> m () Source

mRemoveDirectory :: (state ~ Tree) => FileName -> m () Source

mCreateFile :: (state ~ Tree) => FileName -> m () Source

mRemoveFile :: (state ~ Tree) => FileName -> m () Source

mRename :: (state ~ Tree) => FileName -> FileName -> m () Source

mModifyFilePS :: (state ~ Tree) => FileName -> (ByteString -> m ByteString) -> m () Source

mModifyFilePSs :: (state ~ Tree) => FileName -> ([ByteString] -> m [ByteString]) -> m () Source

mChangePref :: (state ~ Tree) => String -> String -> String -> m () Source

class (Functor m, Monad m, ApplyMonad (ApplyMonadOver m state) state) => ApplyMonadTrans m state where Source

Associated Types

type ApplyMonadOver m state :: * -> * Source

Methods

runApplyMonad :: ApplyMonadOver m state x -> state m -> m (x, state m) Source

withFileNames :: Maybe [OrigFileNameOf] -> [FileName] -> FilePathMonad a -> FilePathMonadState Source

withFileNames takes a maybe list of existing rename-pairs, a list of filenames and an action, and returns the resulting triple of affected files, updated filename list and new rename details. If the rename-pairs are not present, a new list is generated from the filesnames.

withFiles :: [(FileName, ByteString)] -> RestrictedApply a -> [(FileName, ByteString)] Source

class ToTree s where Source

Methods

toTree :: s m -> Tree m Source