Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
Glasgow Haskell Compiler
Packages
Cabal
Commits
e2978f5b
Commit
e2978f5b
authored
Mar 20, 2020
by
Oleg Grenrus
Browse files
Add simpleParsecBS and use it in scanSpecVersion
parent
8a569d87
Changes
2
Hide whitespace changes
Inline
Side-by-side
Cabal/Distribution/PackageDescription/Parsec.hs
View file @
e2978f5b
...
...
@@ -54,7 +54,7 @@ import Distribution.PackageDescription
import
Distribution.PackageDescription.Configuration
(
freeVars
)
import
Distribution.PackageDescription.FieldGrammar
import
Distribution.PackageDescription.Quirks
(
patchQuirks
)
import
Distribution.Parsec
(
parsec
,
simpleParsec
)
import
Distribution.Parsec
(
parsec
,
simpleParsec
BS
)
import
Distribution.Parsec.FieldLineStream
(
fieldLineStreamFromBS
)
import
Distribution.Parsec.Newtypes
(
CommaFSep
,
List
,
SpecVersion
(
..
),
Token
)
import
Distribution.Parsec.Position
(
Position
(
..
),
zeroPos
)
...
...
@@ -859,7 +859,7 @@ scanSpecVersion bs = do
--
-- This is currently more tolerant regarding leading 0 digits.
--
ver
<-
simpleParsec
(
BS8
.
unpack
vers
)
ver
<-
simpleParsec
BS
vers
guard
$
case
versionNumbers
ver
of
[
_
,
_
]
->
True
[
_
,
_
,
_
]
->
True
...
...
Cabal/Distribution/Parsec.hs
View file @
e2978f5b
...
...
@@ -10,6 +10,7 @@ module Distribution.Parsec (
runParsecParser
,
runParsecParser'
,
simpleParsec
,
simpleParsecBS
,
simpleParsec'
,
simpleParsecW'
,
lexemeParsec
,
...
...
@@ -50,7 +51,8 @@ import Data.List (transpose)
import
Distribution.CabalSpecVersion
import
Distribution.Compat.Prelude
import
Distribution.Parsec.Error
(
PError
(
..
),
showPError
)
import
Distribution.Parsec.FieldLineStream
(
FieldLineStream
,
fieldLineStreamFromString
)
import
Data.ByteString
(
ByteString
)
import
Distribution.Parsec.FieldLineStream
(
FieldLineStream
,
fieldLineStreamFromString
,
fieldLineStreamFromBS
)
import
Distribution.Parsec.Position
(
Position
(
..
),
incPos
,
retPos
,
showPos
,
zeroPos
)
import
Distribution.Parsec.Warning
(
PWarnType
(
..
),
PWarning
(
..
),
showPWarning
)
import
Numeric
(
showIntAtBase
)
...
...
@@ -176,6 +178,13 @@ simpleParsec
.
runParsecParser
lexemeParsec
"<simpleParsec>"
.
fieldLineStreamFromString
-- | Like 'simpleParsec' but for 'ByteString'
simpleParsecBS
::
Parsec
a
=>
ByteString
->
Maybe
a
simpleParsecBS
=
either
(
const
Nothing
)
Just
.
runParsecParser
lexemeParsec
"<simpleParsec>"
.
fieldLineStreamFromBS
-- | Parse a 'String' with 'lexemeParsec' using specific 'CabalSpecVersion'.
--
-- @since 3.4.0.0
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment