packages feed

Glob 0.7.5 → 0.7.6

raw patch · 12 files changed

+88/−52 lines, 12 filesdep +HUnitdep +QuickCheckdep +semigroupsdep ~transformersPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependencies added: HUnit, QuickCheck, semigroups, test-framework, test-framework-hunit, test-framework-quickcheck2

Dependency ranges changed: transformers

API changes (from Hackage documentation)

- System.FilePath.Glob: characterClasses :: CompOptions -> Bool
- System.FilePath.Glob: characterRanges :: CompOptions -> Bool
- System.FilePath.Glob: errorRecovery :: CompOptions -> Bool
- System.FilePath.Glob: ignoreCase :: MatchOptions -> Bool
- System.FilePath.Glob: ignoreDotSlash :: MatchOptions -> Bool
- System.FilePath.Glob: matchDotsImplicitly :: MatchOptions -> Bool
- System.FilePath.Glob: numberRanges :: CompOptions -> Bool
- System.FilePath.Glob: pathSepInRanges :: CompOptions -> Bool
- System.FilePath.Glob: recursiveWildcards :: CompOptions -> Bool
- System.FilePath.Glob: wildcards :: CompOptions -> Bool
+ System.FilePath.Glob: [characterClasses] :: CompOptions -> Bool
+ System.FilePath.Glob: [characterRanges] :: CompOptions -> Bool
+ System.FilePath.Glob: [errorRecovery] :: CompOptions -> Bool
+ System.FilePath.Glob: [ignoreCase] :: MatchOptions -> Bool
+ System.FilePath.Glob: [ignoreDotSlash] :: MatchOptions -> Bool
+ System.FilePath.Glob: [matchDotsImplicitly] :: MatchOptions -> Bool
+ System.FilePath.Glob: [numberRanges] :: CompOptions -> Bool
+ System.FilePath.Glob: [pathSepInRanges] :: CompOptions -> Bool
+ System.FilePath.Glob: [recursiveWildcards] :: CompOptions -> Bool
+ System.FilePath.Glob: [wildcards] :: CompOptions -> Bool

Files

CHANGELOG.txt view
@@ -1,3 +1,16 @@+0.7.6, 2016-06-28:+	Update dependencies to allow filepath-1.4.++	Added Cabal Source-Repository metadata, pointing to GitHub.++	Integrated tests with Cabal so that they can be run with "cabal test".++	Got rid of deprecation warnings by using Control.Monad.Trans.Except+	instead of Control.Monad.Trans.Error.++	Added Semigroup instance, bringing in a new dependency on semigroups on+	pre-8.0 GHC versions.+ 0.7.5, 2014-05-08: 	Update dependencies to allow transformers-0.4. 
Glob.cabal view
@@ -1,7 +1,7 @@-Cabal-Version: >= 1.6+Cabal-Version: >= 1.9.2  Name:        Glob-Version:     0.7.5+Version:     0.7.6 Homepage:    http://iki.fi/matti.niemenmaa/glob/ Synopsis:    Globbing library Category:    System@@ -19,18 +19,22 @@ Extra-Source-Files: CHANGELOG.txt                     CREDITS.txt                     README.txt-                    tests/README.txt-                    tests/*.hs-                    tests/Tests/*.hs +Source-Repository head+  Type: git+  Location: https://github.com/Deewiant/glob+ Library    Build-Depends: base         >= 4 && < 5                 , containers   <  0.6                 , directory    <  1.3                 , dlist        >= 0.4 && < 0.8-                , filepath     >= 1.1 && < 1.4+                , filepath     >= 1.1 && < 1.5                 , transformers >= 0.2 && < 0.6 +   if impl(ghc < 8.0)+      Build-Depends: semigroups >= 0.18 && < 0.19+    if os(windows)       Build-Depends: Win32 == 2.* @@ -41,3 +45,41 @@                     System.FilePath.Glob.Match                     System.FilePath.Glob.Simplify                     System.FilePath.Glob.Utils++Test-Suite glob-tests+   type: exitcode-stdio-1.0++   hs-source-dirs: ., tests+   main-is: Main.hs++   Build-Depends: base                       >= 4 && < 5+                , containers                 <  0.6+                , directory                  <  1.3+                , dlist                      >= 0.4 && < 0.8+                , filepath                   >= 1.1 && < 1.5+                , transformers               >= 0.2 && < 0.6+                , HUnit                      == 1.2.*+                , QuickCheck                 >= 2 && < 3+                , test-framework             >= 0.2 && < 1+                , test-framework-hunit       >= 0.2 && < 1+                , test-framework-quickcheck2 >= 0.3 && < 1++   if impl(ghc < 8.0)+      Build-Depends: semigroups >= 0.18 && < 0.19++   if os(windows)+      Build-Depends: Win32 == 2.*++   Other-Modules: System.FilePath.Glob.Base+                  System.FilePath.Glob.Directory+                  System.FilePath.Glob.Match+                  System.FilePath.Glob.Simplify+                  System.FilePath.Glob.Utils+                  Tests.Base+                  Tests.Compiler+                  Tests.Instances+                  Tests.Matcher+                  Tests.Optimizer+                  Tests.Regression+                  Tests.Simplifier+                  Tests.Utils
LICENSE.txt view
@@ -2,7 +2,7 @@ the code are held by whoever wrote the code in question: see CREDITS.txt for a list of authors. -Copyright (c) 2008-2012 <authors>+Copyright (c) 2008-2016 <authors> All rights reserved.  Redistribution and use in source and binary forms, with or without
System/FilePath/Glob/Base.hs view
@@ -21,13 +21,15 @@  import Control.Arrow                     (first) import Control.Monad.Trans.Class         (lift)-import Control.Monad.Trans.Error         (ErrorT, runErrorT, throwError)+import Control.Monad.Trans.Except        (ExceptT, runExceptT, throwE) import Control.Monad.Trans.Writer.Strict (Writer, runWriter, tell) import Control.Exception                 (assert) import Data.Char                         (isDigit, isAlpha, toLower) import Data.List                         (find, sortBy)+import Data.List.NonEmpty                (toList) import Data.Maybe                        (fromMaybe) import Data.Monoid                       (Monoid, mappend, mempty, mconcat)+import Data.Semigroup                    (Semigroup, (<>), sconcat, stimes) import System.FilePath                   ( pathSeparator, extSeparator                                          , isExtSeparator, isPathSeparator                                          )@@ -151,10 +153,15 @@       [(compile xs, rest)] #endif +instance Semigroup Pattern where+   Pattern a <> Pattern b = optimize $ Pattern (a <> b)+   sconcat = optimize . Pattern . concatMap unPattern . toList+   stimes n (Pattern a) = optimize $ Pattern (stimes n a)+ instance Monoid Pattern where-   mempty                          = Pattern []-   mappend (Pattern a) (Pattern b) = optimize . Pattern $ (a ++ b)-   mconcat                         = optimize . Pattern . concatMap unPattern+   mempty  = Pattern []+   mappend = (<>)+   mconcat = optimize . Pattern . concatMap unPattern  -- |Options which can be passed to the 'tryCompileWith' or 'compileWith' -- functions: with these you can selectively toggle certain features at compile@@ -434,22 +441,22 @@    start ('-':xs) = run $ char '-' xs    start xs       = run $ go xs -   run :: ErrorT String (Writer CharRange) String+   run :: ExceptT String (Writer CharRange) String        -> (Either String CharRange, String)-   run m = case runWriter.runErrorT $ m of+   run m = case runWriter.runExceptT $ m of                 (Left   err,  _) -> (Left err, [])                 (Right rest, cs) -> (Right cs, rest) -   go :: String -> ErrorT String (Writer CharRange) String+   go :: String -> ExceptT String (Writer CharRange) String    go ('[':':':xs) | characterClasses opts = readClass xs    go (    ']':xs) = return xs    go (      c:xs) =       if not (pathSepInRanges opts) && isPathSeparator c-         then throwError "compile :: path separator within []"+         then throwE "compile :: path separator within []"          else char c xs-   go []           = throwError "compile :: unclosed [] in pattern"+   go []           = throwE "compile :: unclosed [] in pattern" -   char :: Char -> String -> ErrorT String (Writer CharRange) String+   char :: Char -> String -> ExceptT String (Writer CharRange) String    char c ('-':x:xs) =       if x == ']'          then ltell [Left c, Left '-'] >> return xs@@ -457,13 +464,13 @@     char c xs = ltell [Left c] >> go xs -   readClass :: String -> ErrorT String (Writer CharRange) String+   readClass :: String -> ExceptT String (Writer CharRange) String    readClass xs = let (name,end) = span isAlpha xs                    in case end of                            ':':']':rest -> charClass name            >> go rest                            _            -> ltell [Left '[',Left ':'] >> go xs -   charClass :: String -> ErrorT String (Writer CharRange) ()+   charClass :: String -> ExceptT String (Writer CharRange) ()    charClass name =       -- The POSIX classes       --@@ -483,7 +490,7 @@            "upper"  -> ltell [upper]            "xdigit" -> ltell [digit, Right ('A','F'), Right ('a','f')]            _        ->-              throwError ("compile :: unknown character class '" ++name++ "'")+              throwE ("compile :: unknown character class '" ++name++ "'")     digit  = Right ('0','9')    upper  = Right ('A','Z')
− tests/README.txt
@@ -1,15 +0,0 @@-These are the tests for the Glob library by Matti Niemenmaa, and should reside-in a subdirectory of the Glob distribution.--To run the tests, run 'Main.hs'.--You'll need the following packages:--  base                      >= 3.* && < 5-, Glob                      == 0.*-, filepath                  == 1.*-, HUnit                     == 1.2.*-, QuickCheck                >= 1.1 && < 2-, test-framework            >= 0.2 && < 1-, test-framework-hunit      >= 0.2 && < 1-, test-framework-quickcheck >= 0.2 && < 1
tests/Tests/Compiler.hs view
@@ -3,7 +3,7 @@ module Tests.Compiler (tests) where  import Test.Framework-import Test.Framework.Providers.QuickCheck+import Test.Framework.Providers.QuickCheck2  import System.FilePath.Glob.Base (tryCompileWith, compile, decompile) 
tests/Tests/Instances.hs view
@@ -4,7 +4,7 @@  import Data.Monoid (mempty, mappend) import Test.Framework-import Test.Framework.Providers.QuickCheck+import Test.Framework.Providers.QuickCheck2 import Test.QuickCheck ((==>))  import System.FilePath.Glob.Base (tryCompileWith)
tests/Tests/Matcher.hs view
@@ -4,7 +4,7 @@  import Control.Monad (ap) import Test.Framework-import Test.Framework.Providers.QuickCheck+import Test.Framework.Providers.QuickCheck2 import Test.QuickCheck ((==>))  import System.FilePath (isExtSeparator, isPathSeparator)
tests/Tests/Optimizer.hs view
@@ -3,7 +3,7 @@ module Tests.Optimizer (tests) where  import Test.Framework-import Test.Framework.Providers.QuickCheck+import Test.Framework.Providers.QuickCheck2  import System.FilePath.Glob.Base  (tokenize, optimize) import System.FilePath.Glob.Match
tests/Tests/Simplifier.hs view
@@ -3,7 +3,7 @@ module Tests.Simplifier (tests) where  import Test.Framework-import Test.Framework.Providers.QuickCheck+import Test.Framework.Providers.QuickCheck2  import System.FilePath.Glob.Base (tryCompileWith) import System.FilePath.Glob.Match
tests/Tests/Utils.hs view
@@ -4,7 +4,7 @@  import Data.Maybe import Test.Framework-import Test.Framework.Providers.QuickCheck+import Test.Framework.Providers.QuickCheck2 import Test.QuickCheck  import System.FilePath.Glob.Utils
− tests/Utils.hs
@@ -1,11 +0,0 @@--- File created: 2008-10-15 20:50:31--module Utils where--fromRight (Right x) = x-fromRight _         = error "fromRight :: Left"--isRight (Right _) = True-isRight _         = False--a --> b = not a || b