versions 3.0.1.1 → 3.0.2
raw patch · 3 files changed
+25/−12 lines, 3 files
Files
- CHANGELOG.md +6/−0
- Data/Versions.hs +18/−11
- versions.cabal +1/−1
CHANGELOG.md view
@@ -1,6 +1,12 @@ Changelog ========= +3.0.2+-----++- Expose internal parsers so that they could be used in other parser programs+ that parse version numbers in larger files.+ 3.0.0 ----- - Updated for `megaparsec-5` and `ghc-8`
Data/Versions.hs view
@@ -53,6 +53,10 @@ , semverP , versionP , messP+ -- ** Megaparsec Parsers+ , semver'+ , version'+ , mess' -- * Pretty Printing , prettyV , prettySemVer@@ -329,10 +333,11 @@ -- | Parse a (Ideal) Semantic Version. semver :: Text -> Either ParsingError SemVer-semver = parse semanticVersion "Semantic Version"+semver = parse (semver' <* eof) "Semantic Version" -semanticVersion :: Parser SemVer-semanticVersion = p <* eof+-- | Internal megaparsec parser of 'semverP'.+semver' :: Parser SemVer+semver' = p where p = SemVer <$> major <*> minor <*> patch <*> preRel <*> metaData -- | Parse a group of digits, which can't be lead by a 0, unless it is 0.@@ -370,10 +375,11 @@ -- | Parse a (General) `Version`, as defined above. version :: Text -> Either ParsingError Version-version = parse versionNum "Version"+version = parse (version' <* eof) "Version" -versionNum :: Parser Version-versionNum = Version <$> chunks <*> preRel <* eof+-- | Internal megaparsec parser of 'versionP'.+version' :: Parser Version+version' = Version <$> chunks <*> preRel -- | A wrapped `Mess` parser. Can be composed with other parsers. messP :: VParser@@ -381,16 +387,17 @@ -- | Parse a (Complex) `Mess`, as defined above. mess :: Text -> Either ParsingError Mess-mess = parse messNumber "Mess"+mess = parse (mess' <* eof) "Mess" -messNumber :: Parser Mess-messNumber = try node <|> leaf+-- | Internal megaparsec parser of 'messP'.+mess' :: Parser Mess+mess' = try node <|> leaf leaf :: Parser Mess-leaf = VLeaf <$> tchunks <* eof+leaf = VLeaf <$> tchunks node :: Parser Mess-node = VNode <$> tchunks <*> sep <*> messNumber+node = VNode <$> tchunks <*> sep <*> mess' tchunks :: Parser [Text] tchunks = (pack <$> some (letterChar <|> digitChar)) `sepBy` char '.'
versions.cabal view
@@ -3,7 +3,7 @@ -- see: https://github.com/sol/hpack name: versions-version: 3.0.1.1+version: 3.0.2 synopsis: Types and parsers for software version numbers. description: A library for parsing and comparing software version numbers. We like to give version numbers to our software in a myriad of