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.
This commit is contained in:
parent
082b022f9a
commit
6a97b10fcb
15 changed files with 179 additions and 198 deletions
17
Options.hs
17
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 }
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue