| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Distribution.Client.Compat.Prelude
Description
This module does two things:
- Acts as a compatibility layer, like
base-compat. - Provides commonly used imports.
This module is a superset of Distribution.Compat.Prelude (which this module re-exports)
Synopsis
- module Distribution.Compat.Prelude.Internal
- class Parsec a where
- parsec :: CabalParsing m => m a
- class Pretty a where
- pretty :: a -> Doc
- prettyVersioned :: CabalSpecVersion -> a -> Doc
- data Verbosity
- prettyShow :: Pretty a => a -> String
- class (CharParsing m, MonadPlus m, MonadFail m) => CabalParsing (m :: Type -> Type)
- simpleParsec :: Parsec a => String -> Maybe a
- eitherParsec :: Parsec a => String -> Either String a
- explicitEitherParsec :: ParsecParser a -> String -> Either String a
Documentation
Class for parsing with parsec. Mainly used for .cabal file fields.
For parsing .cabal like file structure, see Distribution.Fields.
Methods
parsec :: CabalParsing m => m a #
Instances
| Parsec Glob | |
Defined in Distribution.Simple.Glob.Internal Methods parsec :: CabalParsing m => m Glob # | |
| Parsec HaddockTarget | |
Defined in Distribution.Simple.Setup.Haddock Methods parsec :: CabalParsing m => m HaddockTarget # | |
| Parsec TestShowDetails | |
Defined in Distribution.Simple.Setup.Test Methods parsec :: CabalParsing m => m TestShowDetails # | |
| Parsec Verbosity | Parser verbosity
Note: this parser will eat trailing spaces. |
Defined in Distribution.Verbosity Methods parsec :: CabalParsing m => m Verbosity # | |
| Parsec OpenModule |
|
Defined in Distribution.Backpack Methods parsec :: CabalParsing m => m OpenModule # | |
| Parsec OpenUnitId |
|
Defined in Distribution.Backpack Methods parsec :: CabalParsing m => m OpenUnitId # | |
| Parsec AbiTag | |
Defined in Distribution.Compiler Methods parsec :: CabalParsing m => m AbiTag # | |
| Parsec CompilerFlavor | |
Defined in Distribution.Compiler Methods parsec :: CabalParsing m => m CompilerFlavor # | |
| Parsec CompilerId | |
Defined in Distribution.Compiler Methods parsec :: CabalParsing m => m CompilerId # | |
| Parsec FilePathNT | |
Defined in Distribution.FieldGrammar.Newtypes Methods parsec :: CabalParsing m => m FilePathNT # | |
| Parsec SpecLicense | |
Defined in Distribution.FieldGrammar.Newtypes Methods parsec :: CabalParsing m => m SpecLicense # | |
| Parsec SpecVersion | |
Defined in Distribution.FieldGrammar.Newtypes Methods parsec :: CabalParsing m => m SpecVersion # | |
| Parsec TestedWith | |
Defined in Distribution.FieldGrammar.Newtypes Methods parsec :: CabalParsing m => m TestedWith # | |
| Parsec Token | |
Defined in Distribution.FieldGrammar.Newtypes Methods parsec :: CabalParsing m => m Token # | |
| Parsec Token' | |
Defined in Distribution.FieldGrammar.Newtypes Methods parsec :: CabalParsing m => m Token' # | |
| Parsec License | |
Defined in Distribution.License Methods parsec :: CabalParsing m => m License # | |
| Parsec ModuleName | |
Defined in Distribution.ModuleName Methods parsec :: CabalParsing m => m ModuleName # | |
| Parsec CompatFilePath | |
Defined in Distribution.PackageDescription.FieldGrammar Methods parsec :: CabalParsing m => m CompatFilePath # | |
| Parsec CompatLicenseFile | |
Defined in Distribution.PackageDescription.FieldGrammar Methods parsec :: CabalParsing m => m CompatLicenseFile # | |
| Parsec License |
|
Defined in Distribution.SPDX.License Methods parsec :: CabalParsing m => m License # | |
| Parsec LicenseExceptionId | |
Defined in Distribution.SPDX.LicenseExceptionId Methods parsec :: CabalParsing m => m LicenseExceptionId # | |
| Parsec LicenseExpression | |
Defined in Distribution.SPDX.LicenseExpression Methods parsec :: CabalParsing m => m LicenseExpression # | |
| Parsec SimpleLicenseExpression | |
Defined in Distribution.SPDX.LicenseExpression Methods parsec :: CabalParsing m => m SimpleLicenseExpression # | |
| Parsec LicenseId |
|
Defined in Distribution.SPDX.LicenseId Methods parsec :: CabalParsing m => m LicenseId # | |
| Parsec LicenseRef | |
Defined in Distribution.SPDX.LicenseReference Methods parsec :: CabalParsing m => m LicenseRef # | |
| Parsec Arch | |
Defined in Distribution.System Methods parsec :: CabalParsing m => m Arch # | |
| Parsec OS | |
Defined in Distribution.System Methods parsec :: CabalParsing m => m OS # | |
| Parsec Platform | |
Defined in Distribution.System Methods parsec :: CabalParsing m => m Platform # | |
| Parsec AbiDependency | |
Defined in Distribution.Types.AbiDependency Methods parsec :: CabalParsing m => m AbiDependency # | |
| Parsec AbiHash | |
Defined in Distribution.Types.AbiHash Methods parsec :: CabalParsing m => m AbiHash # | |
| Parsec BenchmarkType | |
Defined in Distribution.Types.BenchmarkType Methods parsec :: CabalParsing m => m BenchmarkType # | |
| Parsec BuildType | |
Defined in Distribution.Types.BuildType Methods parsec :: CabalParsing m => m BuildType # | |
| Parsec ComponentId | |
Defined in Distribution.Types.ComponentId Methods parsec :: CabalParsing m => m ComponentId # | |
| Parsec ComponentName | |
Defined in Distribution.Types.ComponentName Methods parsec :: CabalParsing m => m ComponentName # | |
| Parsec Dependency |
Spaces around colon are not allowed:
Sublibrary syntax is accepted since
|
Defined in Distribution.Types.Dependency Methods parsec :: CabalParsing m => m Dependency # | |
| Parsec ExeDependency | Examples
|
Defined in Distribution.Types.ExeDependency Methods parsec :: CabalParsing m => m ExeDependency # | |
| Parsec ExecutableScope | |
Defined in Distribution.Types.ExecutableScope Methods parsec :: CabalParsing m => m ExecutableScope # | |
| Parsec ExposedModule | |
Defined in Distribution.Types.ExposedModule Methods parsec :: CabalParsing m => m ExposedModule # | |
| Parsec FlagAssignment |
Issue #7279 was fixed in Cabal-3.8
Since: Cabal-syntax-3.4.0.0 |
Defined in Distribution.Types.Flag Methods parsec :: CabalParsing m => m FlagAssignment # | |
| Parsec FlagName | |
Defined in Distribution.Types.Flag Methods parsec :: CabalParsing m => m FlagName # | |
| Parsec LibVersionInfo | |
Defined in Distribution.Types.ForeignLib Methods parsec :: CabalParsing m => m LibVersionInfo # | |
| Parsec ForeignLibOption | |
Defined in Distribution.Types.ForeignLibOption Methods parsec :: CabalParsing m => m ForeignLibOption # | |
| Parsec ForeignLibType | |
Defined in Distribution.Types.ForeignLibType Methods parsec :: CabalParsing m => m ForeignLibType # | |
| Parsec IncludeRenaming | |
Defined in Distribution.Types.IncludeRenaming Methods parsec :: CabalParsing m => m IncludeRenaming # | |
| Parsec CompatPackageKey | |
Defined in Distribution.Types.InstalledPackageInfo.FieldGrammar Methods parsec :: CabalParsing m => m CompatPackageKey # | |
| Parsec ExposedModules | |
Defined in Distribution.Types.InstalledPackageInfo.FieldGrammar Methods parsec :: CabalParsing m => m ExposedModules # | |
| Parsec InstWith | |
Defined in Distribution.Types.InstalledPackageInfo.FieldGrammar Methods parsec :: CabalParsing m => m InstWith # | |
| Parsec SpecLicenseLenient | |
Defined in Distribution.Types.InstalledPackageInfo.FieldGrammar Methods parsec :: CabalParsing m => m SpecLicenseLenient # | |
| Parsec LegacyExeDependency | |
Defined in Distribution.Types.LegacyExeDependency Methods parsec :: CabalParsing m => m LegacyExeDependency # | |
| Parsec LibraryVisibility | |
Defined in Distribution.Types.LibraryVisibility Methods parsec :: CabalParsing m => m LibraryVisibility # | |
| Parsec Mixin |
Sublibrary syntax is accepted since
|
Defined in Distribution.Types.Mixin Methods parsec :: CabalParsing m => m Mixin # | |
| Parsec Module | |
Defined in Distribution.Types.Module Methods parsec :: CabalParsing m => m Module # | |
| Parsec ModuleReexport | |
Defined in Distribution.Types.ModuleReexport Methods parsec :: CabalParsing m => m ModuleReexport # | |
| Parsec ModuleRenaming | |
Defined in Distribution.Types.ModuleRenaming Methods parsec :: CabalParsing m => m ModuleRenaming # | |
| Parsec MungedPackageId |
|
Defined in Distribution.Types.MungedPackageId Methods parsec :: CabalParsing m => m MungedPackageId # | |
| Parsec MungedPackageName |
|
Defined in Distribution.Types.MungedPackageName Methods parsec :: CabalParsing m => m MungedPackageName # | |
| Parsec PackageIdentifier |
Note: Stricter than
|
Defined in Distribution.Types.PackageId Methods parsec :: CabalParsing m => m PackageIdentifier # | |
| Parsec PackageName | |
Defined in Distribution.Types.PackageName Methods parsec :: CabalParsing m => m PackageName # | |
| Parsec PackageVersionConstraint |
|
Defined in Distribution.Types.PackageVersionConstraint Methods parsec :: CabalParsing m => m PackageVersionConstraint # | |
| Parsec PkgconfigDependency | |
Defined in Distribution.Types.PkgconfigDependency Methods parsec :: CabalParsing m => m PkgconfigDependency # | |
| Parsec PkgconfigName | |
Defined in Distribution.Types.PkgconfigName Methods parsec :: CabalParsing m => m PkgconfigName # | |
| Parsec PkgconfigVersion |
|
Defined in Distribution.Types.PkgconfigVersion Methods parsec :: CabalParsing m => m PkgconfigVersion # | |
| Parsec PkgconfigVersionRange | |
Defined in Distribution.Types.PkgconfigVersionRange Methods parsec :: CabalParsing m => m PkgconfigVersionRange # | |
| Parsec KnownRepoType | |
Defined in Distribution.Types.SourceRepo Methods parsec :: CabalParsing m => m KnownRepoType # | |
| Parsec RepoKind | |
Defined in Distribution.Types.SourceRepo Methods parsec :: CabalParsing m => m RepoKind # | |
| Parsec RepoType | |
Defined in Distribution.Types.SourceRepo Methods parsec :: CabalParsing m => m RepoType # | |
| Parsec TestType | |
Defined in Distribution.Types.TestType Methods parsec :: CabalParsing m => m TestType # | |
| Parsec DefUnitId | |
Defined in Distribution.Types.UnitId Methods parsec :: CabalParsing m => m DefUnitId # | |
| Parsec UnitId | The textual format for |
Defined in Distribution.Types.UnitId Methods parsec :: CabalParsing m => m UnitId # | |
| Parsec UnqualComponentName | |
Defined in Distribution.Types.UnqualComponentName Methods parsec :: CabalParsing m => m UnqualComponentName # | |
| Parsec Version | |
Defined in Distribution.Types.Version Methods parsec :: CabalParsing m => m Version # | |
| Parsec VersionRange |
Small history:
Set operations are introduced in 3.0
Operators are introduced in 1.8. Issues only a warning.
Wild-version ranges are introduced in 1.6. Issues only a warning.
|
Defined in Distribution.Types.VersionRange.Internal Methods parsec :: CabalParsing m => m VersionRange # | |
| Parsec Extension | |
Defined in Language.Haskell.Extension Methods parsec :: CabalParsing m => m Extension # | |
| Parsec Language | |
Defined in Language.Haskell.Extension Methods parsec :: CabalParsing m => m Language # | |
| Parsec InstallOutcome # | |
Defined in Distribution.Client.BuildReports.Types Methods parsec :: CabalParsing m => m InstallOutcome # | |
| Parsec Outcome # | |
Defined in Distribution.Client.BuildReports.Types Methods parsec :: CabalParsing m => m Outcome # | |
| Parsec ReportLevel # | |
Defined in Distribution.Client.BuildReports.Types Methods parsec :: CabalParsing m => m ReportLevel # | |
| Parsec PreSolver # | |
Defined in Distribution.Client.Dependency.Types Methods parsec :: CabalParsing m => m PreSolver # | |
| Parsec FilePathRoot # | |
Defined in Distribution.Client.Glob Methods parsec :: CabalParsing m => m FilePathRoot # | |
| Parsec RootedGlob # | |
Defined in Distribution.Client.Glob Methods parsec :: CabalParsing m => m RootedGlob # | |
| Parsec ActiveRepoEntry # | |
Defined in Distribution.Client.IndexUtils.ActiveRepos Methods parsec :: CabalParsing m => m ActiveRepoEntry # | |
| Parsec ActiveRepos # | Note: empty string is not valid
|
Defined in Distribution.Client.IndexUtils.ActiveRepos Methods parsec :: CabalParsing m => m ActiveRepos # | |
| Parsec CombineStrategy # | |
Defined in Distribution.Client.IndexUtils.ActiveRepos Methods parsec :: CabalParsing m => m CombineStrategy # | |
| Parsec RepoIndexState # | |
Defined in Distribution.Client.IndexUtils.IndexState Methods parsec :: CabalParsing m => m RepoIndexState # | |
| Parsec TotalIndexState # |
|
Defined in Distribution.Client.IndexUtils.IndexState Methods parsec :: CabalParsing m => m TotalIndexState # | |
| Parsec Timestamp # | |
Defined in Distribution.Client.IndexUtils.Timestamp Methods parsec :: CabalParsing m => m Timestamp # | |
| Parsec UserConstraint # | |
Defined in Distribution.Client.Targets Methods parsec :: CabalParsing m => m UserConstraint # | |
| Parsec RelaxDepSubject # | |
Defined in Distribution.Client.Types.AllowNewer Methods parsec :: CabalParsing m => m RelaxDepSubject # | |
| Parsec RelaxDeps # |
This is not a glitch, even it looks like:
|
Defined in Distribution.Client.Types.AllowNewer Methods parsec :: CabalParsing m => m RelaxDeps # | |
| Parsec RelaxedDep # | |
Defined in Distribution.Client.Types.AllowNewer Methods parsec :: CabalParsing m => m RelaxedDep # | |
| Parsec InstallMethod # | |
Defined in Distribution.Client.Types.InstallMethod Methods parsec :: CabalParsing m => m InstallMethod # | |
| Parsec OverwritePolicy # | |
Defined in Distribution.Client.Types.OverwritePolicy Methods parsec :: CabalParsing m => m OverwritePolicy # | |
| Parsec LocalRepo # | Note: doesn't parse |
Defined in Distribution.Client.Types.Repo Methods parsec :: CabalParsing m => m LocalRepo # | |
| Parsec RemoteRepo # | Note: serialised format represents |
Defined in Distribution.Client.Types.Repo Methods parsec :: CabalParsing m => m RemoteRepo # | |
| Parsec RepoName # |
|
Defined in Distribution.Client.Types.RepoName Methods parsec :: CabalParsing m => m RepoName # | |
| Parsec OnlyConstrained | |
Defined in Distribution.Solver.Types.Settings Methods parsec :: CabalParsing m => m OnlyConstrained # | |
| Parsec Bool | |
Defined in Distribution.Parsec Methods parsec :: CabalParsing m => m Bool # | |
| Parsec a => Parsec (MQuoted a) | |
Defined in Distribution.FieldGrammar.Newtypes Methods parsec :: CabalParsing m => m (MQuoted a) # | |
| Parsec a => Parsec (Identity a) | |
Defined in Distribution.Parsec Methods parsec :: CabalParsing m => m (Identity a) # | |
| Parsec (SymbolicPath from to) | |
Defined in Distribution.Utils.Path Methods parsec :: CabalParsing m => m (SymbolicPath from to) # | |
| (Newtype a b, Sep sep, Parsec b) => Parsec (List sep b a) | |
Defined in Distribution.FieldGrammar.Newtypes Methods parsec :: CabalParsing m => m (List sep b a) # | |
| (Newtype a b, Sep sep, Parsec b) => Parsec (NonEmpty' sep b a) | |
Defined in Distribution.FieldGrammar.Newtypes Methods parsec :: CabalParsing m => m (NonEmpty' sep b a) # | |
| (Newtype a b, Ord a, Sep sep, Parsec b) => Parsec (Set' sep b a) | |
Defined in Distribution.FieldGrammar.Newtypes Methods parsec :: CabalParsing m => m (Set' sep b a) # | |
Minimal complete definition
Instances
Instances
| Parsec Verbosity | Parser verbosity
Note: this parser will eat trailing spaces. | ||||
Defined in Distribution.Verbosity Methods parsec :: CabalParsing m => m Verbosity # | |||||
| Pretty Verbosity | |||||
Defined in Distribution.Verbosity | |||||
| Structured Verbosity | |||||
Defined in Distribution.Verbosity | |||||
| Binary Verbosity | |||||
| Bounded Verbosity | |||||
| Enum Verbosity | |||||
Defined in Distribution.Verbosity Methods succ :: Verbosity -> Verbosity # pred :: Verbosity -> Verbosity # fromEnum :: Verbosity -> Int # enumFrom :: Verbosity -> [Verbosity] # enumFromThen :: Verbosity -> Verbosity -> [Verbosity] # enumFromTo :: Verbosity -> Verbosity -> [Verbosity] # enumFromThenTo :: Verbosity -> Verbosity -> Verbosity -> [Verbosity] # | |||||
| Generic Verbosity | |||||
Defined in Distribution.Verbosity Associated Types
| |||||
| Read Verbosity | |||||
| Show Verbosity | |||||
| Eq Verbosity | |||||
| Ord Verbosity | |||||
| type Rep Verbosity | |||||
Defined in Distribution.Verbosity type Rep Verbosity = D1 ('MetaData "Verbosity" "Distribution.Verbosity" "Cabal-3.12.0.0-inplace" 'False) (C1 ('MetaCons "Verbosity" 'PrefixI 'True) (S1 ('MetaSel ('Just "vLevel") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VerbosityLevel) :*: (S1 ('MetaSel ('Just "vFlags") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Set VerbosityFlag)) :*: S1 ('MetaSel ('Just "vQuiet") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))) | |||||
prettyShow :: Pretty a => a -> String #
class (CharParsing m, MonadPlus m, MonadFail m) => CabalParsing (m :: Type -> Type) #
Parsing class which
- can report Cabal parser warnings.
- knows
cabal-versionwe work with
Minimal complete definition
Instances
| CabalParsing ParsecParser | |
Defined in Distribution.Parsec Methods parsecWarning :: PWarnType -> String -> ParsecParser () # | |
simpleParsec :: Parsec a => String -> Maybe a #
Parse a String with lexemeParsec.
eitherParsec :: Parsec a => String -> Either String a #
Parse a String with lexemeParsec.
explicitEitherParsec :: ParsecParser a -> String -> Either String a #
Parse a String with given ParsecParser. Trailing whitespace is accepted.