summaryrefslogtreecommitdiff
path: root/Annex.hs
diff options
context:
space:
mode:
Diffstat (limited to 'Annex.hs')
-rw-r--r--Annex.hs6
1 files changed, 6 insertions, 0 deletions
diff --git a/Annex.hs b/Annex.hs
index b915e852b..a04bfd1bb 100644
--- a/Annex.hs
+++ b/Annex.hs
@@ -15,6 +15,7 @@ module Annex (
eval,
getState,
changeState,
+ withState,
setFlag,
setField,
setOutput,
@@ -214,6 +215,11 @@ changeState modifier = do
mvar <- ask
liftIO $ modifyMVar_ mvar $ return . modifier
+withState :: (AnnexState -> (AnnexState, b)) -> Annex b
+withState modifier = do
+ mvar <- ask
+ liftIO $ modifyMVar mvar $ return . modifier
+
{- Sets a flag to True -}
setFlag :: String -> Annex ()
setFlag flag = changeState $ \s ->