summaryrefslogtreecommitdiff
path: root/Options.hs
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2011-01-26 00:17:38 -0400
committerGravatar Joey Hess <joey@kitenet.net>2011-01-26 00:17:38 -0400
commit6a97b10fcb3e1fa6a230d92a25b42ded587ff743 (patch)
treeb8a6ce70916c397c67788b47de6a389db8753969 /Options.hs
parent082b022f9ae56b1446b6607cf7851cd4f1d4f904 (diff)
rework config storage
Moved away from a map of flags to storing config directly in the AnnexState structure. Got rid of most accessor functions in Annex. This allowed supporting multiple --exclude flags.
Diffstat (limited to 'Options.hs')
-rw-r--r--Options.hs17
1 files changed, 8 insertions, 9 deletions
diff --git a/Options.hs b/Options.hs
index 2d4bb85fb..4cd62c222 100644
--- a/Options.hs
+++ b/Options.hs
@@ -18,19 +18,18 @@ import Command
-}
type Option = OptDescr (Annex ())
-storeOptBool :: Annex.FlagName -> Bool -> Annex ()
-storeOptBool name val = Annex.flagChange name $ Annex.FlagBool val
-storeOptString :: Annex.FlagName -> String -> Annex ()
-storeOptString name val = Annex.flagChange name $ Annex.FlagString val
-
commonOptions :: [Option]
commonOptions =
- [ Option ['f'] ["force"] (NoArg (storeOptBool "force" True))
+ [ Option ['f'] ["force"] (NoArg (setforce True))
"allow actions that may lose annexed data"
- , Option ['q'] ["quiet"] (NoArg (storeOptBool "quiet" True))
+ , Option ['q'] ["quiet"] (NoArg (setquiet True))
"avoid verbose output"
- , Option ['v'] ["verbose"] (NoArg (storeOptBool "quiet" False))
+ , Option ['v'] ["verbose"] (NoArg (setquiet False))
"allow verbose output"
- , Option ['b'] ["backend"] (ReqArg (storeOptString "backend") paramName)
+ , Option ['b'] ["backend"] (ReqArg setdefaultbackend paramName)
"specify default key-value backend to use"
]
+ where
+ setforce v = Annex.changeState $ \s -> s { Annex.force = v }
+ setquiet v = Annex.changeState $ \s -> s { Annex.quiet = v }
+ setdefaultbackend v = Annex.changeState $ \s -> s { Annex.defaultbackend = Just v }