Safe Haskell | None |
---|---|
Language | Haskell2010 |
This module provides newtype
wrappers to be used with Distribution.FieldGrammar.
Synopsis
- alaList :: sep -> [a] -> List sep (Identity a) a
- alaList' :: sep -> (a -> b) -> [a] -> List sep b a
- data CommaVCat = CommaVCat
- data CommaFSep = CommaFSep
- data VCat = VCat
- data FSep = FSep
- data NoCommaFSep = NoCommaFSep
- data List sep b a
- newtype SpecVersion = SpecVersion {}
- newtype TestedWith = TestedWith {}
- newtype SpecLicense = SpecLicense {}
- newtype Token = Token {}
- newtype Token' = Token' {}
- newtype MQuoted a = MQuoted {
- getMQuoted :: a
- newtype FreeText = FreeText {}
- newtype FilePathNT = FilePathNT {}
List
Modifiers
Type
List separated with optional commas. Displayed with sep
, arguments of
type a
are parsed and pretty-printed as b
.
Version & License
newtype SpecVersion Source #
Version range or just version, i.e. cabal-version
field.
There are few things to consider:
- Starting with 2.2 the cabal-version field should be the first field in the
file and only exact version is accepted. Therefore if we get e.g.
>= 2.2
, we fail. See https://github.com/haskell/cabal/issues/4899
Instances
Pretty SpecVersion Source # | |
pretty :: SpecVersion -> Doc Source # | |
Parsec SpecVersion Source # | |
parsec :: CabalParsing m => m SpecVersion Source # | |
Newtype SpecVersion (Either Version VersionRange) Source # | |
pack :: Either Version VersionRange -> SpecVersion Source # unpack :: SpecVersion -> Either Version VersionRange Source # |
newtype TestedWith Source #
Version range or just version
Instances
Pretty TestedWith Source # | |
pretty :: TestedWith -> Doc Source # | |
Parsec TestedWith Source # | |
parsec :: CabalParsing m => m TestedWith Source # | |
Newtype TestedWith (CompilerFlavor, VersionRange) Source # | |
pack :: (CompilerFlavor, VersionRange) -> TestedWith Source # unpack :: TestedWith -> (CompilerFlavor, VersionRange) Source # |
newtype SpecLicense Source #
SPDX License expression or legacy license
Instances
Pretty SpecLicense Source # | |
pretty :: SpecLicense -> Doc Source # | |
Parsec SpecLicense Source # | |
parsec :: CabalParsing m => m SpecLicense Source # | |
Newtype SpecLicense (Either License License) Source # | |
Identifiers
Haskell string or [^ ,]+
Haskell string or [^ ]+
Either "quoted"
or un-quoted
.
MQuoted | |
|
newtype FilePathNT Source #
Filepath are parsed as Token
.
Instances
Pretty FilePathNT Source # | |
pretty :: FilePathNT -> Doc Source # | |
Parsec FilePathNT Source # | |
parsec :: CabalParsing m => m FilePathNT Source # | |
Newtype FilePathNT String Source # | |
pack :: String -> FilePathNT Source # unpack :: FilePathNT -> String Source # |