flags-applicative 0.0.4.1 → 0.0.4.2
raw patch · 2 files changed
+8/−9 lines, 2 filesdep ~basePVP ok
version bump matches the API change (PVP)
Dependency ranges changed: base
API changes (from Hackage documentation)
Files
- flags-applicative.cabal +5/−4
- src/Flags/Applicative.hs +3/−5
flags-applicative.cabal view
@@ -1,5 +1,5 @@ name: flags-applicative-version: 0.0.4.1+version: 0.0.4.2 synopsis: Applicative flag parsing description: https://github.com/mtth/flags-applicative homepage: https://github.com/mtth/flags-applicative@@ -16,11 +16,12 @@ library hs-source-dirs: src exposed-modules: Flags.Applicative- build-depends: base >= 4.7 && < 5+ build-depends: base >= 4.9 && < 5 , containers >= 0.6 && < 0.7 , mtl >= 2.2 && < 2.3 , text >= 1.2 && < 1.3 default-language: Haskell2010+ ghc-options: -Wall test-suite flags-applicative-test type: exitcode-stdio-1.0@@ -29,7 +30,7 @@ test ghc-options: -threaded -rtsopts -with-rtsopts=-N build-depends:- base >=4.7 && <5+ base >=4.9 && <5 , text >= 1.2 && < 1.3 , hspec >=2.6 && <2.7 , flags-applicative@@ -39,7 +40,7 @@ hs-source-dirs: app main-is: SimpleExample.hs build-depends:- base >=4.7 && <5+ base >=4.9 && <5 , text >= 1.2 && < 1.3 , flags-applicative default-language: Haskell2010
src/Flags/Applicative.hs view
@@ -39,23 +39,21 @@ , switch, boolFlag, flag, textFlag, autoFlag, textListFlag, autoListFlag ) where -import Control.Applicative ((<|>), Alternative, empty, optional)+import Control.Applicative ((<|>), Alternative, empty) import Control.Monad (when) import Control.Monad.Except (Except, catchError, runExcept, throwError) import Control.Monad.RWS.Strict (RWST, runRWST) import Control.Monad.Reader (asks) import Control.Monad.State.Strict (get, modify, put)-import Data.Bifunctor (first, second)+import Data.Bifunctor (second) import Data.Foldable (foldl', toList) import Data.List (isPrefixOf) import Data.List.NonEmpty (NonEmpty(..)) import Data.Map.Strict (Map)-import Data.Maybe (isJust) import Data.Set (Set) import Data.Text (Text) import System.Exit (die) import System.Environment (getArgs)-import qualified Data.List.NonEmpty as NE import qualified Data.Map.Strict as Map import qualified Data.Set as Set import qualified Data.Text as T@@ -188,7 +186,7 @@ case mergeFlags flags1 flags2 of Left name -> Invalid $ Duplicate name Right flags -> Actionable action flags (usage1 `orElse` usage2) where- wrap action = catchError (Just <$> action) $ \case+ wrap a = catchError (Just <$> a) $ \case (MissingValue _) -> pure Nothing err -> throwError err action = do