regex 1.0.1.3 → 1.0.1.4
raw patch · 7 files changed
+128/−122 lines, 7 filesdep ~arraydep ~containersdep ~template-haskellPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: array, containers, template-haskell, time, transformers, utf8-string
API changes (from Hackage documentation)
- Text.RE.REOptions: instance (GHC.Show.Show e, GHC.Show.Show c, GHC.Show.Show r) => GHC.Show.Show (Text.RE.REOptions.REOptions_ r c e)
- Text.RE.TDFA.Sequence: instance Text.RE.ZeInternals.Types.IsRegex.IsRegex Text.RE.ZeInternals.TDFA.RE (Data.Sequence.Seq GHC.Types.Char)
+ Text.RE.REOptions: instance (GHC.Show.Show r, GHC.Show.Show c, GHC.Show.Show e) => GHC.Show.Show (Text.RE.REOptions.REOptions_ r c e)
+ Text.RE.TDFA.Sequence: instance Text.RE.ZeInternals.Types.IsRegex.IsRegex Text.RE.ZeInternals.TDFA.RE (Data.Sequence.Internal.Seq GHC.Types.Char)
- Text.RE.REOptions: REOptions :: !(Macros r) -> !c -> !e -> REOptions_ r c e
+ Text.RE.REOptions: REOptions :: !Macros r -> !c -> !e -> REOptions_ r c e
- Text.RE.REOptions: [optionsMacs] :: REOptions_ r c e -> !(Macros r)
+ Text.RE.REOptions: [optionsMacs] :: REOptions_ r c e -> !Macros r
- Text.RE.Replace: Match :: !a -> !CaptureNames -> !(Array CaptureOrdinal (Capture a)) -> Match a
+ Text.RE.Replace: Match :: !a -> !CaptureNames -> !Array CaptureOrdinal (Capture a) -> Match a
- Text.RE.Replace: [matchArray] :: Match a -> !(Array CaptureOrdinal (Capture a))
+ Text.RE.Replace: [matchArray] :: Match a -> !Array CaptureOrdinal (Capture a)
- Text.RE.Replace: class (Show a, Eq a, Ord a, Extract a, Monoid a) => Replace a where textifyR = pack . unpackR detextifyR = packR . unpack appendNewlineR = (<> packR "\n") substR f m@(Capture {..}) = capturePrefix m <> f capturedText <> captureSuffix m
+ Text.RE.Replace: class (Show a, Eq a, Ord a, Extract a, Monoid a) => Replace a
- Text.RE.TDFA.Sequence: (*=~) :: (Seq Char) -> RE -> Matches (Seq Char)
+ Text.RE.TDFA.Sequence: (*=~) :: Seq Char -> RE -> Matches (Seq Char)
- Text.RE.TDFA.Sequence: (*=~/) :: (Seq Char) -> SearchReplace RE (Seq Char) -> (Seq Char)
+ Text.RE.TDFA.Sequence: (*=~/) :: Seq Char -> SearchReplace RE (Seq Char) -> Seq Char
- Text.RE.TDFA.Sequence: (=~) :: (Typeable a, RegexContext Regex (Seq Char) a) => (Seq Char) -> RE -> a
+ Text.RE.TDFA.Sequence: (=~) :: (Typeable a, RegexContext Regex (Seq Char) a) => Seq Char -> RE -> a
- Text.RE.TDFA.Sequence: (=~~) :: (Monad m, Functor m, Typeable a, RegexContext Regex (Seq Char) a) => (Seq Char) -> RE -> m a
+ Text.RE.TDFA.Sequence: (=~~) :: (Monad m, Functor m, Typeable a, RegexContext Regex (Seq Char) a) => Seq Char -> RE -> m a
- Text.RE.TDFA.Sequence: (?=~) :: (Seq Char) -> RE -> Match (Seq Char)
+ Text.RE.TDFA.Sequence: (?=~) :: Seq Char -> RE -> Match (Seq Char)
- Text.RE.TDFA.Sequence: (?=~/) :: (Seq Char) -> SearchReplace RE (Seq Char) -> (Seq Char)
+ Text.RE.TDFA.Sequence: (?=~/) :: Seq Char -> SearchReplace RE (Seq Char) -> Seq Char
- Text.RE.TestBench: MacroDescriptor :: !RegexSource -> ![String] -> ![String] -> ![TestResult] -> !(Maybe FunctionID) -> !String -> MacroDescriptor
+ Text.RE.TestBench: MacroDescriptor :: !RegexSource -> ![String] -> ![String] -> ![TestResult] -> !Maybe FunctionID -> !String -> MacroDescriptor
- Text.RE.TestBench: [macroParser] :: MacroDescriptor -> !(Maybe FunctionID)
+ Text.RE.TestBench: [macroParser] :: MacroDescriptor -> !Maybe FunctionID
- Text.RE.Tools: Function :: !re -> REContext -> !(LineNo -> Match s -> RELocation -> Capture s -> m (Maybe s)) -> Edit m re s
+ Text.RE.Tools: Function :: !re -> REContext -> !LineNo -> Match s -> RELocation -> Capture s -> m (Maybe s) -> Edit m re s
- Text.RE.Tools: LineEdit :: !re -> !(LineNo -> Matches s -> m (LineEdit s)) -> Edit m re s
+ Text.RE.Tools: LineEdit :: !re -> !LineNo -> Matches s -> m (LineEdit s) -> Edit m re s
- Text.RE.Tools: Template :: !(SearchReplace re s) -> Edit m re s
+ Text.RE.Tools: Template :: !SearchReplace re s -> Edit m re s
- Text.RE.Tools: class Replace s => IsRegex re s where makeRegex = makeRegexWith minBound makeSearchReplace = makeSearchReplaceWith minBound makeEscaped = makeEscapedWith minBound makeEscapedWith o f = makeRegexWith o . f . packR . escapeREString . unpackR
+ Text.RE.Tools: class Replace s => IsRegex re s
- Text.RE.Tools.Edit: Function :: !re -> REContext -> !(LineNo -> Match s -> RELocation -> Capture s -> m (Maybe s)) -> Edit m re s
+ Text.RE.Tools.Edit: Function :: !re -> REContext -> !LineNo -> Match s -> RELocation -> Capture s -> m (Maybe s) -> Edit m re s
- Text.RE.Tools.Edit: LineEdit :: !re -> !(LineNo -> Matches s -> m (LineEdit s)) -> Edit m re s
+ Text.RE.Tools.Edit: LineEdit :: !re -> !LineNo -> Matches s -> m (LineEdit s) -> Edit m re s
- Text.RE.Tools.Edit: Template :: !(SearchReplace re s) -> Edit m re s
+ Text.RE.Tools.Edit: Template :: !SearchReplace re s -> Edit m re s
- Text.RE.Tools.Edit: class Replace s => IsRegex re s where makeRegex = makeRegexWith minBound makeSearchReplace = makeSearchReplaceWith minBound makeEscaped = makeEscapedWith minBound makeEscapedWith o f = makeRegexWith o . f . packR . escapeREString . unpackR
+ Text.RE.Tools.Edit: class Replace s => IsRegex re s
- Text.RE.Tools.Find: class Replace s => IsRegex re s where makeRegex = makeRegexWith minBound makeSearchReplace = makeSearchReplaceWith minBound makeEscaped = makeEscapedWith minBound makeEscapedWith o f = makeRegexWith o . f . packR . escapeREString . unpackR
+ Text.RE.Tools.Find: class Replace s => IsRegex re s
- Text.RE.Tools.Grep: class Replace s => IsRegex re s where makeRegex = makeRegexWith minBound makeSearchReplace = makeSearchReplaceWith minBound makeEscaped = makeEscapedWith minBound makeEscapedWith o f = makeRegexWith o . f . packR . escapeREString . unpackR
+ Text.RE.Tools.Grep: class Replace s => IsRegex re s
- Text.RE.Tools.IsRegex: class Replace s => IsRegex re s where makeRegex = makeRegexWith minBound makeSearchReplace = makeSearchReplaceWith minBound makeEscaped = makeEscapedWith minBound makeEscapedWith o f = makeRegexWith o . f . packR . escapeREString . unpackR
+ Text.RE.Tools.IsRegex: class Replace s => IsRegex re s
- Text.RE.Tools.Lex: class Replace s => IsRegex re s where makeRegex = makeRegexWith minBound makeSearchReplace = makeSearchReplaceWith minBound makeEscaped = makeEscapedWith minBound makeEscapedWith o f = makeRegexWith o . f . packR . escapeREString . unpackR
+ Text.RE.Tools.Lex: class Replace s => IsRegex re s
- Text.RE.Tools.Sed: Function :: !re -> REContext -> !(LineNo -> Match s -> RELocation -> Capture s -> m (Maybe s)) -> Edit m re s
+ Text.RE.Tools.Sed: Function :: !re -> REContext -> !LineNo -> Match s -> RELocation -> Capture s -> m (Maybe s) -> Edit m re s
- Text.RE.Tools.Sed: LineEdit :: !re -> !(LineNo -> Matches s -> m (LineEdit s)) -> Edit m re s
+ Text.RE.Tools.Sed: LineEdit :: !re -> !LineNo -> Matches s -> m (LineEdit s) -> Edit m re s
- Text.RE.Tools.Sed: Template :: !(SearchReplace re s) -> Edit m re s
+ Text.RE.Tools.Sed: Template :: !SearchReplace re s -> Edit m re s
- Text.RE.Tools.Sed: class Replace s => IsRegex re s where makeRegex = makeRegexWith minBound makeSearchReplace = makeSearchReplaceWith minBound makeEscaped = makeEscapedWith minBound makeEscapedWith o f = makeRegexWith o . f . packR . escapeREString . unpackR
+ Text.RE.Tools.Sed: class Replace s => IsRegex re s
Files
- README.markdown +0/−111
- README.md +111/−0
- Text/RE/ZeInternals/Replace.lhs +1/−0
- Text/RE/ZeInternals/Types/Match.lhs +1/−0
- Text/RE/ZeInternals/Types/Matches.lhs +1/−0
- changelog +3/−0
- regex.cabal +11/−11
− README.markdown
@@ -1,111 +0,0 @@-# regex--regex is a regular expression toolkit for regex-base with:-- * a text-replacement toolkit with type-safe text-replacement templates;- * special datatypes for matches and captures;- * compile-time checking of RE syntax;- * a unified means of controlling case-sensitivity and multi-line options;- * high-level AWK-like tools for building text processing apps;- * the option of using match operators with reduced polymorphism on the- text and result types;- * regular expression macros including:- + a number of useful RE macros;- + a test bench for testing and documenting new macro environments;- * built-in support for the TDFA and PCRE back ends;- * comprehensive documentation, tutorials and copious examples.---See the [About page](http://about.regex.uk) for details.---## regex and regex-examples--The library and tutorial, tests and examples have been split across-two packages:-- * the `regex` package contains the regex library with the Posix TDFA- back end- * the `regex-with-pcre` library package contains the extra modules- needed for the PCRE back end- * the `regex-examples` package contains the tutorial, tests- and example programs.---## Road Map-- ☒ 2017-04-10 v1.0.0.0 [First stable release](https://github.com/iconnect/regex/milestone/3)-- ☒ 2017-06-03 v1.0.1.0 [PCRE.Text, strict PVP, Update Stackage vrns, add re-top](https://github.com/iconnect/regex/milestone/19)-- ☐ 2017-08-31 v2.0.0.0 [Fast text replacement with benchmarks](https://github.com/iconnect/regex/milestone/4)----See the [Roadmap page](http://roadmap.regex.uk) for details.---## The regex blog--Check out the [regex blog](http://blog.regex.uk) for news articles and-discussion concerning all things regex.---## Build Status--[](https://hackage.haskell.org/package/regex) [](https://tldrlegal.com/license/bsd-3-clause-license-%28revised%29) [](https://travis-ci.org/iconnect/regex) [](https://ci.appveyor.com/project/engineerirngirisconnectcouk/regex/branch/master) [](https://coveralls.io/github/iconnect/regex?branch=master)--See [build status page](http://regex.uk/build-status) for details.---## Installing the Package--The package can be easily installed with cabal or stack on GHC-8.0,- 7.10 or 7.8 for the above platforms. See the-[Installation page](http://installation.regex.uk) for details.---## The Tutorial Tests and Examples--See the [Tutorial page](http://tutorial.regex.uk) and-[Examples page](http://examples.regex.uk) for details.---## Helping Out--If you have any feedback or suggestion then please drop us a line.-- * `t` [@hregex](https://twitter.com/hregex)\n- * `e` maintainers@regex.uk\n- * `w` http://issues.regex.uk--The [Contact page](http://contact.regex.uk) has more details.---## The API--The Haddocks can be found at http://hs.regex.uk.---## The Macro Tables--The macro environments are an important part of the package and-are documented [here](http://macros.regex.uk).---## The regex.uk Directory--A handy overview of the regex.uk domain can be found-[here](http://directory.regex.uk).---## The Changelog--The `changelog` is posted [here](http://changelog.regex.uk).---## The Authors--This library was written and is currently maintained by-[Chris Dornan](mailto:chris.dornan@irisconnect.com) aka-[@cdornan](https://twitter.com/cdornan)
+ README.md view
@@ -0,0 +1,111 @@+# regex++regex is a regular expression toolkit for regex-base with:++ * a text-replacement toolkit with type-safe text-replacement templates;+ * special datatypes for matches and captures;+ * compile-time checking of RE syntax;+ * a unified means of controlling case-sensitivity and multi-line options;+ * high-level AWK-like tools for building text processing apps;+ * the option of using match operators with reduced polymorphism on the+ text and result types;+ * regular expression macros including:+ + a number of useful RE macros;+ + a test bench for testing and documenting new macro environments;+ * built-in support for the TDFA and PCRE back ends;+ * comprehensive documentation, tutorials and copious examples.+++See the [About page](http://about.regex.uk) for details.+++## regex and regex-examples++The library and tutorial, tests and examples have been split across+two packages:++ * the `regex` package contains the regex library with the Posix TDFA+ back end+ * the `regex-with-pcre` library package contains the extra modules+ needed for the PCRE back end+ * the `regex-examples` package contains the tutorial, tests+ and example programs.+++## Road Map++- [X] 2017-04-10 v1.0.0.0 [First stable release](https://github.com/iconnect/regex/milestone/3)+- [X] 2017-06-03 v1.0.1.0 [PCRE.Text, strict PVP, Update Stackage vrns, add re-top](https://github.com/iconnect/regex/milestone/19)+- [X] 2017-06-04 v1.0.1.1 [Fix 1.0.1.0 release bug and provisionally fix UTF8/PCRE interworking](https://github.com/iconnect/regex/milestone/20)+- [X] 2017-06-05 v1.0.1.2 [Permit utf8-string-1](https://github.com/iconnect/regex/milestone/21)+- [X] 2017-06-05 v1.0.1.3 [Suspend Windows tests for PCRE on UTF-8 text](https://github.com/iconnect/regex/milestone/22)+- [ ] 2017-08-31 v2.0.0.0 [Fast text replacement with benchmarks](https://github.com/iconnect/regex/milestone/4)+++See the [Roadmap page](http://roadmap.regex.uk) for details.+++## The regex blog++Check out the [regex blog](http://blog.regex.uk) for news articles and+discussion concerning all things regex.+++## Build Status++[](https://hackage.haskell.org/package/regex) [](https://tldrlegal.com/license/bsd-3-clause-license-%28revised%29) [](https://travis-ci.org/iconnect/regex) [](https://ci.appveyor.com/project/engineerirngirisconnectcouk/regex/branch/master) [](https://coveralls.io/github/iconnect/regex?branch=master)++See [build status page](http://regex.uk/build-status) for details.+++## Installing the Package++The package can be easily installed with cabal or stack on GHC-8.0,+ 7.10 or 7.8 for the above platforms. See the+[Installation page](http://installation.regex.uk) for details.+++## The Tutorial Tests and Examples++See the [Tutorial page](http://tutorial.regex.uk) and+[Examples page](http://examples.regex.uk) for details.+++## Helping Out++If you have any feedback or suggestion then please drop us a line.++ * `t` [@hregex](https://twitter.com/hregex)<br/>+ * `e` maintainers@regex.uk<br/>+ * `w` http://issues.regex.uk++The [Contact page](http://contact.regex.uk) has more details.+++## The API++The Haddocks can be found at http://hs.regex.uk.+++## The Macro Tables++The macro environments are an important part of the package and+are documented [here](http://macros.regex.uk).+++## The regex.uk Directory++A handy overview of the regex.uk domain can be found+[here](http://directory.regex.uk).+++## The Changelog++The `changelog` is posted [here](http://changelog.regex.uk).+++## The Authors++This library was written and is currently maintained by+[Chris Dornan](mailto:chris.dornan@irisconnect.com) aka+[@cdornan](https://twitter.com/cdornan)
Text/RE/ZeInternals/Replace.lhs view
@@ -5,6 +5,7 @@ {-# LANGUAGE RecordWildCards #-} {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE MonoLocalBinds #-} module Text.RE.ZeInternals.Replace (
Text/RE/ZeInternals/Types/Match.lhs view
@@ -4,6 +4,7 @@ {-# LANGUAGE UndecidableInstances #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE MonoLocalBinds #-} \end{code} \begin{code}
Text/RE/ZeInternals/Types/Matches.lhs view
@@ -4,6 +4,7 @@ {-# LANGUAGE UndecidableInstances #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE MonoLocalBinds #-} \end{code} \begin{code}
changelog view
@@ -1,5 +1,8 @@ -*-change-log-*- +1.0.1.4 Chris Dornan <chris.dornan@irisconnect.co.uk> 2018-12-14+ * GHC-8.4.4, GHC-8.6.2 (#160)+ 1.0.1.3 Chris Dornan <chris.dornan@irisconnect.co.uk> 2017-06-05 * Suspending UTF-8 tests for Windows/PCRE (#144)
regex.cabal view
@@ -1,5 +1,5 @@ Name: regex-Version: 1.0.1.3+Version: 1.0.1.4 Synopsis: Toolkit for regex-base Description: A regular expression toolkit for regex-base with compile-time checking of RE syntax, data types for@@ -20,7 +20,7 @@ bug-reports: http://issues.regex.uk Extra-Source-Files:- README.markdown+ README.md changelog Cabal-Version: >= 1.10@@ -32,7 +32,7 @@ Source-Repository this Type: git Location: https://github.com/iconnect/regex.git- Tag: 1.0.1.3+ Tag: 1.0.1.4 @@ -123,23 +123,23 @@ -Wwarn Build-depends:- array >= 0.4 && < 0.6- , base >= 4 && < 5- , base-compat >= 0.6 && < 0.10+ array >= 0.4+ , base >= 4 && < 5+ , base-compat >= 0.6 , bytestring == 0.10.*- , containers >= 0.4 && < 0.6+ , containers >= 0.4 , hashable == 1.2.* , regex-base == 0.93.* , regex-pcre-builtin == 0.94.* , regex-tdfa == 1.2.* , regex-tdfa-text == 1.0.*- , template-haskell >= 2.7 && < 2.12+ , template-haskell >= 2.7 , text == 1.2.*- , time >= 1.4.2 && < 1.9+ , time >= 1.4.2 , time-locale-compat == 0.1.*- , transformers >= 0.2.2 && < 0.6+ , transformers >= 0.2.2 , unordered-containers == 0.2.*- , utf8-string >= 1 && < 1.1+ , utf8-string >= 1 -- Generated with re-gen-cabals