1-- |This module should only be imported by Darcs.UI.Options.*
2-- and by 'Darcs.UI.Flags'. Other modules needing access to 'DarcsFlag'
3-- should import 'Darcs.UI.Flags'
4module Darcs.UI.Options.Flags ( DarcsFlag(..) ) where
5
6import Darcs.Prelude
7
8import Darcs.Util.Path ( AbsolutePath, AbsolutePathOrStd )
9
10-- | The 'DarcsFlag' type is a list of all flags that can ever be
11-- passed to darcs, or to one of its commands.
12data DarcsFlag = Version | ExactVersion | ListCommands
13               | Help | ListOptions | NoTest | Test
14               | OnlyChangesToFiles | ChangesToAllFiles
15               | LeaveTestDir | NoLeaveTestDir
16               | Timings | Debug | DebugHTTP
17               | Verbose | NormalVerbosity | Quiet
18               | To String | Cc String
19               | Output AbsolutePathOrStd | OutputAutoName AbsolutePath | Mail
20               | Subject String | InReplyTo String | Charset String
21               | SendmailCmd String | Author String | SelectAuthor | PatchName String
22               | OnePatch String | SeveralPatch String
23               | OneHash String
24               | AfterPatch String | UpToPatch String
25               | AfterHash String | UpToHash String
26               | TagName String | LastN String | MaxCount String
27               | IndexRange String | OneIndex String
28               | NumberPatches
29               | OneTag String | AfterTag String | UpToTag String
30               | GenContext | Context AbsolutePath | Count
31               | LogFile AbsolutePath | RmLogFile | DontRmLogFile
32               | DistName String | DistZip | All
33               | Recursive | NoRecursive
34               | Minimize | NoMinimize
35               | Reorder | NoReorder
36               | RestrictPaths | DontRestrictPaths
37               | AskDeps | NoAskDeps | IgnoreTimes | DontIgnoreTimes
38               | LookForAdds | NoLookForAdds
39               | LookForMoves | NoLookForMoves
40               | LookForReplaces | NoLookForReplaces
41               | UseMyersDiff | UsePatienceDiff
42               | Intersection | Union | Complement
43               | Sign | SignAs String | NoSign | SignSSL String
44               | HappyForwarding | NoHappyForwarding
45               | Verify AbsolutePath | VerifySSL AbsolutePath
46               | RemoteDarcsOpt String
47               | EditDescription | NoEditDescription
48               | Toks String
49               | EditLongComment | NoEditLongComment | PromptLongComment
50               | KeepDate | NoKeepDate
51               | AllowConflicts | MarkConflicts | NoAllowConflicts
52               | SkipConflicts
53               | Boring | SkipBoring
54               | AllowCaseOnly | DontAllowCaseOnly
55               | AllowWindowsReserved | DontAllowWindowsReserved
56               | DontGrabDeps | DontPromptForDependencies | PromptForDependencies
57               | Compress | NoCompress | UnCompress
58               | WorkRepoDir String | WorkRepoUrl String | RemoteRepo String
59               | NewRepo String
60               | NotInRemote (Maybe String)
61               | Reply String | ApplyAs String
62               | MachineReadable | HumanReadable
63               | Pipe | Interactive
64               | DiffCmd String
65               | ExternalMerge String | Summary | NoSummary
66               | PauseForGui | NoPauseForGui
67               | Unified | NonUnified | Reverse | Forward
68               | Complete | Lazy
69               | DiffFlags String
70               | XMLOutput
71               | ForceReplace
72               | OnePattern String | SeveralPattern String
73               | AfterPattern String | UpToPattern String
74               | NonApply | NonVerify | NonForce
75               | DryRun
76               | InheritDefault | NoInheritDefault
77               | SetDefault | NoSetDefault
78               | Disable | SetScriptsExecutable | DontSetScriptsExecutable
79               | Once | Linear | Backoff | Bisect
80               | Hashed -- deprecated flag, here to output an error message
81               | UseFormat1 | UseFormat2 | UseFormat3
82               | UseNoWorkingDir | UseWorkingDir
83               | Sibling AbsolutePath
84               | Files | NoFiles | Directories | NoDirectories
85               | Pending | NoPending
86               | PosthookCmd String | NoPosthook | AskPosthook | RunPosthook
87               | PrehookCmd String  | NoPrehook  | AskPrehook  | RunPrehook
88               | UMask String
89               | StoreInMemory | ApplyOnDisk
90               | NoHTTPPipelining
91               | Packs | NoPacks
92               | NoCache
93               | AllowUnrelatedRepos
94               | Check | Repair | JustThisRepo
95               | ReadMarks String | WriteMarks String
96               | NullFlag
97               | NoAmendUnrecord | AmendUnrecord
98               | PatchIndexFlag
99               | NoPatchIndexFlag
100               | EnumPatches | NoEnumPatches
101                 deriving ( Eq, Show )
102