getopt-generics 0.13.0.1 → 0.13.0.2
raw patch · 2 files changed
+27/−22 lines, 2 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- WithCli: data Proxy k (t :: k) :: forall k. k -> *
- WithCli.Pure: data Proxy k (t :: k) :: forall k. k -> *
+ WithCli: data Proxy k (t :: k) :: forall k. () => k -> *
+ WithCli.Pure: data Proxy k (t :: k) :: forall k. () => k -> *
- WithCli: class HasArguments a where argumentsParser = const . genericParser
+ WithCli: class HasArguments a
- WithCli.Pure: class HasArguments a where argumentsParser = const . genericParser
+ WithCli.Pure: class HasArguments a
Files
- getopt-generics.cabal +15/−12
- src/WithCli/Flag.hs +12/−10
getopt-generics.cabal view
@@ -1,9 +1,11 @@--- This file has been generated from package.yaml by hpack version 0.17.0.+-- This file has been generated from package.yaml by hpack version 0.20.0. -- -- see: https://github.com/sol/hpack+--+-- hash: abf4e8f0f1099d8b59aa00485728092abae08230a22f2e54917e955bc4a2b80e name: getopt-generics-version: 0.13.0.1+version: 0.13.0.2 synopsis: Create command line interfaces with ease description: Create command line interfaces with ease category: Console, System@@ -44,10 +46,10 @@ src ghc-options: -Wall -fno-warn-name-shadowing build-depends:- base == 4.*- , base-compat >= 0.8+ base ==4.*+ , base-compat >=0.8 , base-orphans- , generics-sop >= 0.1 && < 0.4+ , generics-sop >=0.1 && <0.4 , tagged exposed-modules: WithCli@@ -74,16 +76,16 @@ docs ghc-options: -Wall -fno-warn-name-shadowing -threaded -O0 build-depends:- base == 4.*- , base-compat >= 0.8+ QuickCheck+ , base ==4.*+ , base-compat >=0.8 , base-orphans- , generics-sop >= 0.1 && < 0.4- , tagged- , hspec >= 2.1.8- , QuickCheck- , silently , filepath+ , generics-sop >=0.1 && <0.4+ , hspec >=2.1.8 , safe+ , silently+ , tagged other-modules: WithCli WithCli.Argument@@ -119,4 +121,5 @@ Test02 Test03 Test04+ Paths_getopt_generics default-language: Haskell2010
src/WithCli/Flag.hs view
@@ -6,8 +6,8 @@ import Prelude () import Prelude.Compat +import Data.List import Data.Maybe-import Data.Monoid import System.Console.GetOpt data Flag a@@ -16,17 +16,19 @@ | NoHelp a deriving (Functor) -instance Monoid a => Monoid (Flag a) where- mappend a b = case (a, b) of- (Help, _) -> Help- (_, Help) -> Help- (Version s, _) -> Version s- (_, Version s) -> Version s- (NoHelp a, NoHelp b) -> NoHelp (a <> b)- mempty = NoHelp mempty+flagConcat :: Monoid a => [Flag a] -> Flag a+flagConcat = foldl' flagAppend (NoHelp mempty)+ where+ flagAppend :: Monoid a => Flag a -> Flag a -> Flag a+ flagAppend a b = case (a, b) of+ (Help, _) -> Help+ (_, Help) -> Help+ (Version s, _) -> Version s+ (_, Version s) -> Version s+ (NoHelp a, NoHelp b) -> NoHelp (mappend a b) foldFlags :: [Flag a] -> Flag [a]-foldFlags flags = mconcat $ map (fmap pure) flags+foldFlags flags = flagConcat $ map (fmap pure) flags helpOption :: OptDescr (Flag a) helpOption =