summaryrefslogtreecommitdiff
path: root/Option.hs
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2014-01-26 16:25:55 -0400
committerGravatar Joey Hess <joey@kitenet.net>2014-01-26 16:25:55 -0400
commit4f050ca9b80d0565e408137f2422e808b82cfd11 (patch)
tree5aca9688e49dee8915a962de4baf4c305ccbfa9e /Option.hs
parent541178b499d084e4041ae4b9d62bf86f5a97c3ff (diff)
reorganize some files and imports
Diffstat (limited to 'Option.hs')
-rw-r--r--Option.hs77
1 files changed, 0 insertions, 77 deletions
diff --git a/Option.hs b/Option.hs
deleted file mode 100644
index fee13a0cc..000000000
--- a/Option.hs
+++ /dev/null
@@ -1,77 +0,0 @@
-{- common command-line options
- -
- - Copyright 2010-2011 Joey Hess <joey@kitenet.net>
- -
- - Licensed under the GNU GPL version 3 or higher.
- -}
-
-module Option (
- common,
- matcher,
- flag,
- field,
- name,
- ArgDescr(..),
- OptDescr(..),
-) where
-
-import System.Console.GetOpt
-
-import Common.Annex
-import qualified Annex
-import Types.Messages
-import Limit
-import Usage
-
-common :: [Option]
-common =
- [ Option [] ["force"] (NoArg (setforce True))
- "allow actions that may lose annexed data"
- , Option ['F'] ["fast"] (NoArg (setfast True))
- "avoid slow operations"
- , Option ['a'] ["auto"] (NoArg (setauto True))
- "automatic mode"
- , Option ['q'] ["quiet"] (NoArg (Annex.setOutput QuietOutput))
- "avoid verbose output"
- , Option ['v'] ["verbose"] (NoArg (Annex.setOutput NormalOutput))
- "allow verbose output (default)"
- , Option ['d'] ["debug"] (NoArg setdebug)
- "show debug messages"
- , Option [] ["no-debug"] (NoArg unsetdebug)
- "don't show debug messages"
- , Option ['b'] ["backend"] (ReqArg setforcebackend paramName)
- "specify key-value backend to use"
- ]
- where
- setforce v = Annex.changeState $ \s -> s { Annex.force = v }
- setfast v = Annex.changeState $ \s -> s { Annex.fast = v }
- setauto v = Annex.changeState $ \s -> s { Annex.auto = v }
- setforcebackend v = Annex.changeState $ \s -> s { Annex.forcebackend = Just v }
- setdebug = Annex.changeGitConfig $ \c -> c { annexDebug = True }
- unsetdebug = Annex.changeGitConfig $ \c -> c { annexDebug = False }
-
-matcher :: [Option]
-matcher =
- [ longopt "not" "negate next option"
- , longopt "and" "both previous and next option must match"
- , longopt "or" "either previous or next option must match"
- , shortopt "(" "open group of options"
- , shortopt ")" "close group of options"
- ]
- where
- longopt o = Option [] [o] $ NoArg $ addToken o
- shortopt o = Option o [] $ NoArg $ addToken o
-
-{- An option that sets a flag. -}
-flag :: String -> String -> String -> Option
-flag short opt description =
- Option short [opt] (NoArg (Annex.setFlag opt)) description
-
-{- An option that sets a field. -}
-field :: String -> String -> String -> String -> Option
-field short opt paramdesc description =
- Option short [opt] (ReqArg (Annex.setField opt) paramdesc) description
-
-{- The flag or field name used for an option. -}
-name :: Option -> String
-name (Option _ o _ _) = Prelude.head o