packages feed

lens-regex-pcre 1.1.0.0 → 1.1.1.0

raw patch · 3 files changed

+25/−10 lines, 3 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

+ Control.Lens.Regex.ByteString: instance GHC.Classes.Eq Control.Lens.Regex.ByteString.Match
+ Control.Lens.Regex.ByteString: instance GHC.Classes.Ord Control.Lens.Regex.ByteString.Match
- Control.Lens.Regex.ByteString: data Regex
+ Control.Lens.Regex.ByteString: data () => Regex
- Control.Lens.Regex.Text: data Regex
+ Control.Lens.Regex.Text: data () => Regex

Files

README.md view
@@ -22,11 +22,13 @@ # Examples  ```haskell+import Control.Lens.Regex.Text+ txt :: Text txt = "raindrops on roses and whiskers on kittens"  -- Search->>> has [regex|whisk|] . match txt+>>> has [regex|whisk|] txt True  -- Get matches
lens-regex-pcre.cabal view
@@ -1,13 +1,13 @@ cabal-version: 1.12 --- This file has been generated from package.yaml by hpack version 0.31.2.+-- This file has been generated from package.yaml by hpack version 0.37.0. -- -- see: https://github.com/sol/hpack ----- hash: d1c8fcf51e5b49738911f4885c246d4f3a9e709234fad2feefcd25246e284ac2+-- hash: 754b704711197304d9dc42fd95daa8ff18d78f8327f4dffac02d893d13ac7ac6  name:           lens-regex-pcre-version:        1.1.0.0+version:        1.1.1.0 synopsis:       A lensy interface to regular expressions description:    Please see the README on GitHub at <https://github.com/ChrisPenner/lens-regex-pcre#readme> category:       Regex
src/Control/Lens/Regex/ByteString.hs view
@@ -15,6 +15,7 @@ {-# LANGUAGE UndecidableInstances #-} {-# LANGUAGE TypeOperators #-} {-# LANGUAGE TupleSections #-}+{-# LANGUAGE DerivingStrategies #-}  module Control.Lens.Regex.ByteString     (@@ -62,12 +63,30 @@ type MatchRange = (Int, Int) type GroupRanges = [(Int, Int)] +unBuilder :: BS.Builder -> BS.ByteString+unBuilder = BL.toStrict . BS.toLazyByteString++building :: Iso' BS.Builder BS.ByteString+building = iso unBuilder BS.byteString++ -- | Match represents an opaque regex match. -- You can drill into it using 'match', 'groups', 'group', 'namedGroup', 'namedGroups' or 'matchAndGroups' data Match =     Match { _chunks    :: [Either BS.Builder BS.Builder]           , _matchRegex :: PCRE.Regex           }++instance Eq Match where+  a == b = (_matchRegex a == _matchRegex b)+    && (((bimap unBuilder unBuilder) <$> _chunks a) == ((bimap unBuilder unBuilder) <$> _chunks b))++instance Ord Match where+  compare a b = compare (_matchRegex a) (_matchRegex b)+    <> compare ((bimap unBuilder unBuilder) <$> _chunks a) ((bimap unBuilder unBuilder) <$> _chunks b)+++ makeLensesFor [("_chunks", "chunks")] ''Match  instance TypeError@@ -75,12 +94,6 @@    ':$$: 'Text "You likely missed adding a 'match' or 'groups' or 'group' call after your 'regex' call :)")   => Show Match where   show _ = "This is a raw Match object, did you miss a 'match' or 'groups' or 'group' call after your 'regex'?"--unBuilder :: BS.Builder -> BS.ByteString-unBuilder = BL.toStrict . BS.toLazyByteString--building :: Iso' BS.Builder BS.ByteString-building = iso unBuilder BS.byteString  -- | Access all groups of a match as a list. Stashes the full match text as the index in case -- you need it.