packages feed

cmdargs 0.5 → 0.6

raw patch · 8 files changed

+34/−14 lines, 8 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

+ System.Console.CmdArgs.Implicit: ignore :: Ann

Files

System/Console/CmdArgs/Implicit.hs view
@@ -16,7 +16,7 @@          * The help message: 'help', 'typ', 'details', 'summary', 'program', 'groupname'     -    * Flag behaviour: 'opt', 'enum', 'verbosity'+    * Flag behaviour: 'opt', 'enum', 'verbosity', 'ignore'          * Flag name assignment: 'name', 'explicit'     
System/Console/CmdArgs/Implicit/Ann.hs view
@@ -9,6 +9,7 @@     = Help String     | Name String     | Explicit+    | Ignore     | GroupName String      | FlagOptional String
System/Console/CmdArgs/Implicit/Global.hs view
@@ -26,7 +26,8 @@ collapse :: Prog_ -> Mode (CmdArgs Any) collapse x | length ms == 1 = (head ms){modeNames=[progProgram x]}            | length auto > 1 = err "prog" "Multiple automatic modes"-           | otherwise = (head $ map zeroMode auto ++ map emptyMode ms){modeNames=[progProgram x], modeGroupModes = toGroup ms}+           | otherwise = (head $ map zeroMode auto ++ map emptyMode ms)+                {modeNames=[progProgram x], modeGroupModes = toGroup ms, modeHelp = progHelp x}     where         ms = map collapseMode $ progModes x         auto = [m | (m,True) <- zip ms $ map modeDefault $ progModes x]
System/Console/CmdArgs/Implicit/Local.hs view
@@ -79,19 +79,21 @@  prog_ :: Capture Ann -> Prog_ prog_ (Ann a b) = progAnn a $ prog_ b-prog_ (Many xs) = def{progModes=map mode_ xs, progProgram=prog}+prog_ (Many xs) = def{progModes=concatMap mode_ xs, progProgram=prog}     where prog = map toLower $ typeShell $ fromCapture $ head xs prog_ x@Ctor{} = prog_ $ Many [x] prog_ x = err "program" $ show x  -mode_ :: Capture Ann -> Mode_-mode_ (Ann a b) = modeAnn a $ mode_ b-mode_ o@(Ctor x ys) = withMode def{modeFlags_=concat $ zipWith flag_ (fields x) ys} $ \x -> x{modeValue=embed $ fromCapture o}+mode_ :: Capture Ann -> [Mode_]+mode_ (Ann Ignore _) = []+mode_ (Ann a b) = map (modeAnn a) $ mode_ b+mode_ o@(Ctor x ys) = [withMode def{modeFlags_=concat $ zipWith flag_ (fields x) ys} $ \x -> x{modeValue=embed $ fromCapture o}] mode_ x = err "mode" $ show x   flag_ :: String -> Capture Ann -> [Flag_]+flag_ name (Ann Ignore _) = [] flag_ name (Ann a b) = map (flagAnn a) $ flag_ name b flag_ name (Value x) = [def{flagField=name, flagFlag = remap embed reembed $ value_ name x}] flag_ name x@Ctor{} = flag_ name $ Value $ fromCapture x
System/Console/CmdArgs/Implicit/UI.hs view
@@ -152,6 +152,16 @@ explicit = Explicit  +-- | Flag/Mode: \"Ignore this field, don't let the user set it.\"+--+--   A mode or field is not dealt with by CmdArgs.+--+-- > {hello = def, extra = def &= ignore}+-- >   --hello=VALUE+ignore :: Ann+ignore = Ignore++ -- | Modes: \"My program needs verbosity flags.\" -- --   Add @--verbose@ and @--quiet@ flags.
System/Console/CmdArgs/Test/Implicit/Maker.hs view
@@ -1,5 +1,5 @@ {-# LANGUAGE DeriveDataTypeable, RecordWildCards #-}-{-# OPTIONS_GHC -fno-cse -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-cse -fno-warn-unused-binds -fno-warn-missing-fields #-} module System.Console.CmdArgs.Test.Implicit.Maker where import System.Console.CmdArgs import System.Console.CmdArgs.Test.Implicit.Util@@ -61,6 +61,7 @@     isHelpNot ["-?=one"] ["  -d --debug  Debug build"]     isHelp ["-?=all"] ["maker [build] [OPTIONS] [ITEM]"]     isHelp ["build","-?=one"] ["maker [build] [OPTIONS] [ITEM]"]+    isHelp ["-?=one"] ["  Build helper program"]     ["build","foo","--profile"] === build{files=["foo"],method=Profile}     ["foo","--profile"] === build{files=["foo"],method=Profile}     ["foo","--profile","--release"] === build{files=["foo"],method=Release}
System/Console/CmdArgs/Test/Implicit/Tests.hs view
@@ -227,13 +227,18 @@     ["test12b"] === Test12B     ["t"] === Test12B --- #350, check help gets attached to modes properly-data Test13 = Test13A | Test13B deriving (Eq,Show,Data,Typeable) -mode13 = cmdArgsMode_ $ modes_ [record Test13A [] += help "foo", record Test13B [] += help "bar"]-                        += help "all"+-- the ignore annotation+data Test13 = Test13A {foo13 :: Int, bar13 :: Either Int Int}+            | Test13B {foo13 :: Int}+            | Test13C {foo13 :: Int}+              deriving (Eq,Show,Data,Typeable) +mode13 = cmdArgsMode $ modes [Test13A 1 (Left 1 &= ignore), Test13B 1 &= ignore, Test13C{}]+ test13 = do     let Tester{..} = tester "Test13" mode13-    fails []-    ["test13a"] === Test13A+    fails ["test13b"]+    fails ["test13a --bar13=1"]+    ["test13a","--foo13=13"] === Test13A 13 (Left 1)+    ["test13c","--foo13=13"] === Test13C 13
cmdargs.cabal view
@@ -1,7 +1,7 @@ cabal-version:      >= 1.6 build-type:         Simple name:               cmdargs-version:            0.5+version:            0.6 license:            BSD3 license-file:       LICENSE category:           Console